Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Friends | List of all members
dart::Simulator Class Reference

#include <simulator_arm.h>

Public Types

enum  CallKind {
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper ,
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper ,
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper ,
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper
}
 
enum  CallKind {
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper ,
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper ,
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper ,
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper
}
 
enum  CallKind {
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper ,
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper ,
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper ,
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper
}
 
enum  CallKind {
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper ,
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper ,
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper ,
  kRuntimeCall , kLeafRuntimeCall , kLeafFloatRuntimeCall , kNativeCallWrapper
}
 

Public Member Functions

 Simulator ()
 
 ~Simulator ()
 
void set_register (Register reg, int32_t value)
 
DART_FORCE_INLINE int32_t get_register (Register reg) const
 
int32_t get_sp () const
 
int32_t get_lr () const
 
void set_pc (int32_t value)
 
DART_FORCE_INLINE int32_t get_pc () const
 
void set_sregister (SRegister reg, float value)
 
float get_sregister (SRegister reg) const
 
void set_dregister (DRegister reg, double value)
 
double get_dregister (DRegister reg) const
 
void set_qregister (QRegister reg, const simd_value_t &value)
 
void get_qregister (QRegister reg, simd_value_t *value) const
 
void set_sregister_bits (SRegister reg, int32_t value)
 
int32_t get_sregister_bits (SRegister reg) const
 
void set_dregister_bits (DRegister reg, int64_t value)
 
int64_t get_dregister_bits (DRegister reg) const
 
uword stack_base () const
 
uword overflow_stack_limit () const
 
uword stack_limit () const
 
uint64_t get_icount () const
 
int64_t Call (int32_t entry, int32_t parameter0, int32_t parameter1, int32_t parameter2, int32_t parameter3, bool fp_return=false, bool fp_args=false)
 
void JumpToFrame (uword pc, uword sp, uword fp, Thread *thread)
 
 Simulator ()
 
 ~Simulator ()
 
void set_register (Instr *instr, Register reg, int64_t value, R31Type r31t=R31IsSP)
 
int64_t get_register (Register reg, R31Type r31t=R31IsSP) const
 
void set_wregister (Register reg, int32_t value, R31Type r31t=R31IsSP)
 
int32_t get_wregister (Register reg, R31Type r31t=R31IsSP) const
 
int32_t get_vregisters (VRegister reg, int idx) const
 
void set_vregisters (VRegister reg, int idx, int32_t value)
 
int64_t get_vregisterd (VRegister reg, int idx) const
 
void set_vregisterd (VRegister reg, int idx, int64_t value)
 
void get_vregister (VRegister reg, simd_value_t *value) const
 
void set_vregister (VRegister reg, const simd_value_t &value)
 
int64_t get_sp () const
 
int64_t get_lr () const
 
uint64_t get_pc () const
 
uint64_t get_last_pc () const
 
void set_pc (uint64_t pc)
 
uword stack_base () const
 
uword overflow_stack_limit () const
 
uword stack_limit () const
 
uint64_t get_icount () const
 
int64_t Call (int64_t entry, int64_t parameter0, int64_t parameter1, int64_t parameter2, int64_t parameter3, bool fp_return=false, bool fp_args=false)
 
void JumpToFrame (uword pc, uword sp, uword fp, Thread *thread)
 
 Simulator ()
 
 ~Simulator ()
 
intx_t CallX (intx_t function, intx_t arg0=0, intx_t arg1=0, intx_t arg2=0, intx_t arg3=0)
 
intx_t CallI (intx_t function, double arg0, double arg1=0.0)
 
intx_t CallI (intx_t function, float arg0, float arg1=0.0f)
 
double CallD (intx_t function, intx_t arg0, intx_t arg1=0)
 
double CallD (intx_t function, double arg0, double arg1=0.0, double arg2=0.0)
 
double CallD (intx_t function, intx_t arg0, double arg1)
 
double CallD (intx_t function, float arg0)
 
float CallF (intx_t function, intx_t arg0, intx_t arg1=0)
 
float CallF (intx_t function, float arg0, float arg1=0.0f, float arg2=0.0f)
 
float CallF (intx_t function, intx_t arg0, float arg1)
 
float CallF (intx_t function, double arg0)
 
int64_t Call (intx_t entry, intx_t parameter0, intx_t parameter1, intx_t parameter2, intx_t parameter3, bool fp_return=false, bool fp_args=false)
 
void JumpToFrame (uword pc, uword sp, uword fp, Thread *thread)
 
uintx_t get_register (Register rs) const
 
uintx_t get_pc () const
 
uintx_t get_sp () const
 
uintx_t get_fp () const
 
uintx_t get_lr () const
 
void PrintRegisters ()
 
void PrintStack ()
 
uword stack_base () const
 
uword overflow_stack_limit () const
 
uword stack_limit () const
 
uint64_t get_icount () const
 
 Simulator ()
 
 ~Simulator ()
 
int64_t Call (int64_t entry, int64_t parameter0, int64_t parameter1, int64_t parameter2, int64_t parameter3, bool fp_return=false, bool fp_args=false)
 
void JumpToFrame (uword pc, uword sp, uword fp, Thread *thread)
 
uint64_t get_register (Register rs) const
 
uint64_t get_pc () const
 
uint64_t get_sp () const
 
uint64_t get_fp () const
 
uint64_t get_lr () const
 
uword stack_base () const
 
uword overflow_stack_limit () const
 
uword stack_limit () const
 
uint64_t get_icount () const
 

Static Public Member Functions

static SimulatorCurrent ()
 
static void Init ()
 
static uword RedirectExternalReference (uword function, CallKind call_kind, int argument_count)
 
static uword FunctionForRedirect (uword redirect)
 
static SimulatorCurrent ()
 
static void Init ()
 
static uword RedirectExternalReference (uword function, CallKind call_kind, int argument_count)
 
static uword FunctionForRedirect (uword redirect)
 
static SimulatorCurrent ()
 
static uword RedirectExternalReference (uword function, CallKind call_kind, int argument_count)
 
static uword FunctionForRedirect (uword redirect)
 
static void Init ()
 
static SimulatorCurrent ()
 
static uword RedirectExternalReference (uword function, CallKind call_kind, int argument_count)
 
static uword FunctionForRedirect (uword redirect)
 
static void Init ()
 

Static Public Attributes

static constexpr uword kSimulatorStackUnderflowSize = 64
 

Friends

class SimulatorDebugger
 
class SimulatorSetjmpBuffer
 

Detailed Description

Definition at line 35 of file simulator_arm.h.

Member Enumeration Documentation

◆ CallKind [1/4]

Enumerator
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 

Definition at line 106 of file simulator_arm.h.

◆ CallKind [2/4]

Enumerator
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 

Definition at line 102 of file simulator_arm64.h.

◆ CallKind [3/4]

Enumerator
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 

Definition at line 150 of file simulator_riscv.h.

◆ CallKind [4/4]

Enumerator
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 
kRuntimeCall 
kLeafRuntimeCall 
kLeafFloatRuntimeCall 
kNativeCallWrapper 

Definition at line 37 of file simulator_x64.h.

Constructor & Destructor Documentation

◆ Simulator() [1/4]

dart::Simulator::Simulator ( )

◆ ~Simulator() [1/4]

dart::Simulator::~Simulator ( )

◆ Simulator() [2/4]

dart::Simulator::Simulator ( )

◆ ~Simulator() [2/4]

dart::Simulator::~Simulator ( )

◆ Simulator() [3/4]

dart::Simulator::Simulator ( )

◆ ~Simulator() [3/4]

dart::Simulator::~Simulator ( )

◆ Simulator() [4/4]

dart::Simulator::Simulator ( )

◆ ~Simulator() [4/4]

dart::Simulator::~Simulator ( )

Member Function Documentation

◆ Call() [1/4]

int64_t dart::Simulator::Call ( int32_t  entry,
int32_t  parameter0,
int32_t  parameter1,
int32_t  parameter2,
int32_t  parameter3,
bool  fp_return = false,
bool  fp_args = false 
)

◆ Call() [2/4]

int64_t dart::Simulator::Call ( int64_t  entry,
int64_t  parameter0,
int64_t  parameter1,
int64_t  parameter2,
int64_t  parameter3,
bool  fp_return = false,
bool  fp_args = false 
)

◆ Call() [3/4]

int64_t dart::Simulator::Call ( int64_t  entry,
int64_t  parameter0,
int64_t  parameter1,
int64_t  parameter2,
int64_t  parameter3,
bool  fp_return = false,
bool  fp_args = false 
)

◆ Call() [4/4]

int64_t dart::Simulator::Call ( intx_t  entry,
intx_t  parameter0,
intx_t  parameter1,
intx_t  parameter2,
intx_t  parameter3,
bool  fp_return = false,
bool  fp_args = false 
)

◆ CallD() [1/4]

double dart::Simulator::CallD ( intx_t  function,
double  arg0,
double  arg1 = 0.0,
double  arg2 = 0.0 
)
inline

Definition at line 73 of file simulator_riscv.h.

76 {
77 PreservedRegisters preserved;
78 PrepareCall(&preserved);
79 set_fregd(FA0, arg0);
80 set_fregd(FA1, arg1);
81 set_fregd(FA2, arg2);
82 RunCall(function, &preserved);
83 return get_fregd(FA0);
84 }
Dart_NativeFunction function
Definition fuchsia.cc:51

◆ CallD() [2/4]

double dart::Simulator::CallD ( intx_t  function,
float  arg0 
)
inline

Definition at line 93 of file simulator_riscv.h.

93 {
94 PreservedRegisters preserved;
95 PrepareCall(&preserved);
96 set_fregs(FA0, arg0);
97 RunCall(function, &preserved);
98 return get_fregd(FA0);
99 }

◆ CallD() [3/4]

double dart::Simulator::CallD ( intx_t  function,
intx_t  arg0,
double  arg1 
)
inline

Definition at line 85 of file simulator_riscv.h.

85 {
86 PreservedRegisters preserved;
87 PrepareCall(&preserved);
88 set_xreg(A0, arg0);
89 set_fregd(FA0, arg1);
90 RunCall(function, &preserved);
91 return get_fregd(FA0);
92 }

◆ CallD() [4/4]

double dart::Simulator::CallD ( intx_t  function,
intx_t  arg0,
intx_t  arg1 = 0 
)
inline

Definition at line 65 of file simulator_riscv.h.

65 {
66 PreservedRegisters preserved;
67 PrepareCall(&preserved);
68 set_xreg(A0, arg0);
69 set_xreg(A1, arg1);
70 RunCall(function, &preserved);
71 return get_fregd(FA0);
72 }

◆ CallF() [1/4]

float dart::Simulator::CallF ( intx_t  function,
double  arg0 
)
inline

Definition at line 129 of file simulator_riscv.h.

129 {
130 PreservedRegisters preserved;
131 PrepareCall(&preserved);
132 set_fregd(FA0, arg0);
133 RunCall(function, &preserved);
134 return get_fregs(FA0);
135 }

◆ CallF() [2/4]

float dart::Simulator::CallF ( intx_t  function,
float  arg0,
float  arg1 = 0.0f,
float  arg2 = 0.0f 
)
inline

Definition at line 109 of file simulator_riscv.h.

112 {
113 PreservedRegisters preserved;
114 PrepareCall(&preserved);
115 set_fregs(FA0, arg0);
116 set_fregs(FA1, arg1);
117 set_fregs(FA2, arg2);
118 RunCall(function, &preserved);
119 return get_fregs(FA0);
120 }

◆ CallF() [3/4]

float dart::Simulator::CallF ( intx_t  function,
intx_t  arg0,
float  arg1 
)
inline

Definition at line 121 of file simulator_riscv.h.

121 {
122 PreservedRegisters preserved;
123 PrepareCall(&preserved);
124 set_xreg(A0, arg0);
125 set_fregs(FA0, arg1);
126 RunCall(function, &preserved);
127 return get_fregs(FA0);
128 }

◆ CallF() [4/4]

float dart::Simulator::CallF ( intx_t  function,
intx_t  arg0,
intx_t  arg1 = 0 
)
inline

Definition at line 101 of file simulator_riscv.h.

101 {
102 PreservedRegisters preserved;
103 SavePreservedRegisters(&preserved);
104 set_xreg(A0, arg0);
105 set_xreg(A1, arg1);
106 RunCall(function, &preserved);
107 return get_fregs(FA0);
108 }

◆ CallI() [1/2]

intx_t dart::Simulator::CallI ( intx_t  function,
double  arg0,
double  arg1 = 0.0 
)
inline

Definition at line 48 of file simulator_riscv.h.

48 {
49 PreservedRegisters preserved;
50 PrepareCall(&preserved);
51 set_fregd(FA0, arg0);
52 set_fregd(FA1, arg1);
53 RunCall(function, &preserved);
54 return get_xreg(A0);
55 }

◆ CallI() [2/2]

intx_t dart::Simulator::CallI ( intx_t  function,
float  arg0,
float  arg1 = 0.0f 
)
inline

Definition at line 56 of file simulator_riscv.h.

56 {
57 PreservedRegisters preserved;
58 PrepareCall(&preserved);
59 set_fregs(FA0, arg0);
60 set_fregs(FA1, arg1);
61 RunCall(function, &preserved);
62 return get_xreg(A0);
63 }

◆ CallX()

intx_t dart::Simulator::CallX ( intx_t  function,
intx_t  arg0 = 0,
intx_t  arg1 = 0,
intx_t  arg2 = 0,
intx_t  arg3 = 0 
)
inline

Definition at line 33 of file simulator_riscv.h.

37 {
38 PreservedRegisters preserved;
39 PrepareCall(&preserved);
40 set_xreg(A0, arg0);
41 set_xreg(A1, arg1);
42 set_xreg(A2, arg2);
43 set_xreg(A3, arg3);
44 RunCall(function, &preserved);
45 return get_xreg(A0);
46 }

◆ Current() [1/4]

static Simulator * dart::Simulator::Current ( )
static

◆ Current() [2/4]

static Simulator * dart::Simulator::Current ( )
static

◆ Current() [3/4]

static Simulator * dart::Simulator::Current ( )
static

◆ Current() [4/4]

static Simulator * dart::Simulator::Current ( )
static

◆ FunctionForRedirect() [1/4]

static uword dart::Simulator::FunctionForRedirect ( uword  redirect)
static

◆ FunctionForRedirect() [2/4]

static uword dart::Simulator::FunctionForRedirect ( uword  redirect)
static

◆ FunctionForRedirect() [3/4]

static uword dart::Simulator::FunctionForRedirect ( uword  redirect)
static

◆ FunctionForRedirect() [4/4]

static uword dart::Simulator::FunctionForRedirect ( uword  redirect)
static

◆ get_dregister()

double dart::Simulator::get_dregister ( DRegister  reg) const

◆ get_dregister_bits()

int64_t dart::Simulator::get_dregister_bits ( DRegister  reg) const

◆ get_fp() [1/2]

uintx_t dart::Simulator::get_fp ( ) const
inline

Definition at line 167 of file simulator_riscv.h.

167{ return get_xreg(FP); }

◆ get_fp() [2/2]

uint64_t dart::Simulator::get_fp ( ) const
inline

Definition at line 54 of file simulator_x64.h.

54{ return 0; }

◆ get_icount() [1/4]

uint64_t dart::Simulator::get_icount ( ) const
inline

Definition at line 86 of file simulator_arm.h.

86{ return icount_; }

◆ get_icount() [2/4]

uint64_t dart::Simulator::get_icount ( ) const
inline

Definition at line 84 of file simulator_arm64.h.

84{ return icount_; }

◆ get_icount() [3/4]

uint64_t dart::Simulator::get_icount ( ) const
inline

Definition at line 180 of file simulator_riscv.h.

180{ return instret_; }

◆ get_icount() [4/4]

uint64_t dart::Simulator::get_icount ( ) const
inline

Definition at line 65 of file simulator_x64.h.

65{ return 0; }

◆ get_last_pc()

uint64_t dart::Simulator::get_last_pc ( ) const

◆ get_lr() [1/4]

int32_t dart::Simulator::get_lr ( ) const
inline

Definition at line 56 of file simulator_arm.h.

56{ return get_register(R14); }
DART_FORCE_INLINE int32_t get_register(Register reg) const

◆ get_lr() [2/4]

int64_t dart::Simulator::get_lr ( ) const
inline

Definition at line 70 of file simulator_arm64.h.

70{ return get_register(R30); }

◆ get_lr() [3/4]

uintx_t dart::Simulator::get_lr ( ) const
inline

Definition at line 168 of file simulator_riscv.h.

168{ return get_xreg(RA); }

◆ get_lr() [4/4]

uint64_t dart::Simulator::get_lr ( ) const
inline

Definition at line 55 of file simulator_x64.h.

55{ return 0; }

◆ get_pc() [1/4]

DART_FORCE_INLINE int32_t dart::Simulator::get_pc ( ) const
inline

Definition at line 60 of file simulator_arm.h.

60{ return registers_[PC]; }

◆ get_pc() [2/4]

uint64_t dart::Simulator::get_pc ( ) const

◆ get_pc() [3/4]

uintx_t dart::Simulator::get_pc ( ) const
inline

Definition at line 165 of file simulator_riscv.h.

165{ return pc_; }

◆ get_pc() [4/4]

uint64_t dart::Simulator::get_pc ( ) const
inline

Definition at line 52 of file simulator_x64.h.

52{ return 0; }

◆ get_qregister()

void dart::Simulator::get_qregister ( QRegister  reg,
simd_value_t value 
) const

◆ get_register() [1/4]

DART_FORCE_INLINE int32_t dart::Simulator::get_register ( Register  reg) const
inline

Definition at line 50 of file simulator_arm.h.

50 {
51 ASSERT((reg >= 0) && (reg < kNumberOfCpuRegisters));
52 return registers_[reg] + ((reg == PC) ? Instr::kPCReadOffset : 0);
53 }
#define ASSERT(E)
@ kNumberOfCpuRegisters

◆ get_register() [2/4]

int64_t dart::Simulator::get_register ( Register  reg,
R31Type  r31t = R31IsSP 
) const

◆ get_register() [3/4]

uintx_t dart::Simulator::get_register ( Register  rs) const
inline

Definition at line 164 of file simulator_riscv.h.

164{ return get_xreg(rs); }

◆ get_register() [4/4]

uint64_t dart::Simulator::get_register ( Register  rs) const
inline

Definition at line 51 of file simulator_x64.h.

51{ return 0; }

◆ get_sp() [1/4]

int32_t dart::Simulator::get_sp ( ) const
inline

Definition at line 55 of file simulator_arm.h.

55{ return get_register(SPREG); }
const Register SPREG

◆ get_sp() [2/4]

int64_t dart::Simulator::get_sp ( ) const
inline

Definition at line 69 of file simulator_arm64.h.

69{ return get_register(SPREG); }

◆ get_sp() [3/4]

uintx_t dart::Simulator::get_sp ( ) const
inline

Definition at line 166 of file simulator_riscv.h.

166{ return get_xreg(SP); }

◆ get_sp() [4/4]

uint64_t dart::Simulator::get_sp ( ) const
inline

Definition at line 53 of file simulator_x64.h.

53{ return 0; }

◆ get_sregister()

float dart::Simulator::get_sregister ( SRegister  reg) const

◆ get_sregister_bits()

int32_t dart::Simulator::get_sregister_bits ( SRegister  reg) const

◆ get_vregister()

void dart::Simulator::get_vregister ( VRegister  reg,
simd_value_t value 
) const

◆ get_vregisterd()

int64_t dart::Simulator::get_vregisterd ( VRegister  reg,
int  idx 
) const

◆ get_vregisters()

int32_t dart::Simulator::get_vregisters ( VRegister  reg,
int  idx 
) const

◆ get_wregister()

int32_t dart::Simulator::get_wregister ( Register  reg,
R31Type  r31t = R31IsSP 
) const

◆ Init() [1/4]

static void dart::Simulator::Init ( )
static

◆ Init() [2/4]

static void dart::Simulator::Init ( )
static

◆ Init() [3/4]

static void dart::Simulator::Init ( )
static

◆ Init() [4/4]

static void dart::Simulator::Init ( )
static

◆ JumpToFrame() [1/4]

void dart::Simulator::JumpToFrame ( uword  pc,
uword  sp,
uword  fp,
Thread thread 
)

◆ JumpToFrame() [2/4]

void dart::Simulator::JumpToFrame ( uword  pc,
uword  sp,
uword  fp,
Thread thread 
)

◆ JumpToFrame() [3/4]

void dart::Simulator::JumpToFrame ( uword  pc,
uword  sp,
uword  fp,
Thread thread 
)

◆ JumpToFrame() [4/4]

void dart::Simulator::JumpToFrame ( uword  pc,
uword  sp,
uword  fp,
Thread thread 
)

◆ overflow_stack_limit() [1/4]

uword dart::Simulator::overflow_stack_limit ( ) const
inline

Definition at line 81 of file simulator_arm.h.

81{ return overflow_stack_limit_; }

◆ overflow_stack_limit() [2/4]

uword dart::Simulator::overflow_stack_limit ( ) const
inline

Definition at line 79 of file simulator_arm64.h.

79{ return overflow_stack_limit_; }

◆ overflow_stack_limit() [3/4]

uword dart::Simulator::overflow_stack_limit ( ) const
inline

Definition at line 175 of file simulator_riscv.h.

175{ return overflow_stack_limit_; }

◆ overflow_stack_limit() [4/4]

uword dart::Simulator::overflow_stack_limit ( ) const
inline

Definition at line 60 of file simulator_x64.h.

60{ return 0; }

◆ PrintRegisters()

void dart::Simulator::PrintRegisters ( )

◆ PrintStack()

void dart::Simulator::PrintStack ( )

◆ RedirectExternalReference() [1/4]

static uword dart::Simulator::RedirectExternalReference ( uword  function,
CallKind  call_kind,
int  argument_count 
)
static

◆ RedirectExternalReference() [2/4]

static uword dart::Simulator::RedirectExternalReference ( uword  function,
CallKind  call_kind,
int  argument_count 
)
static

◆ RedirectExternalReference() [3/4]

static uword dart::Simulator::RedirectExternalReference ( uword  function,
CallKind  call_kind,
int  argument_count 
)
static

◆ RedirectExternalReference() [4/4]

static uword dart::Simulator::RedirectExternalReference ( uword  function,
CallKind  call_kind,
int  argument_count 
)
static

◆ set_dregister()

void dart::Simulator::set_dregister ( DRegister  reg,
double  value 
)

◆ set_dregister_bits()

void dart::Simulator::set_dregister_bits ( DRegister  reg,
int64_t  value 
)

◆ set_pc() [1/2]

void dart::Simulator::set_pc ( int32_t  value)

◆ set_pc() [2/2]

void dart::Simulator::set_pc ( uint64_t  pc)

◆ set_qregister()

void dart::Simulator::set_qregister ( QRegister  reg,
const simd_value_t value 
)

◆ set_register() [1/2]

void dart::Simulator::set_register ( Instr instr,
Register  reg,
int64_t  value,
R31Type  r31t = R31IsSP 
)

◆ set_register() [2/2]

void dart::Simulator::set_register ( Register  reg,
int32_t  value 
)

◆ set_sregister()

void dart::Simulator::set_sregister ( SRegister  reg,
float  value 
)

◆ set_sregister_bits()

void dart::Simulator::set_sregister_bits ( SRegister  reg,
int32_t  value 
)

◆ set_vregister()

void dart::Simulator::set_vregister ( VRegister  reg,
const simd_value_t value 
)

◆ set_vregisterd()

void dart::Simulator::set_vregisterd ( VRegister  reg,
int  idx,
int64_t  value 
)

◆ set_vregisters()

void dart::Simulator::set_vregisters ( VRegister  reg,
int  idx,
int32_t  value 
)

◆ set_wregister()

void dart::Simulator::set_wregister ( Register  reg,
int32_t  value,
R31Type  r31t = R31IsSP 
)

◆ stack_base() [1/4]

uword dart::Simulator::stack_base ( ) const
inline

Definition at line 79 of file simulator_arm.h.

79{ return stack_base_; }

◆ stack_base() [2/4]

uword dart::Simulator::stack_base ( ) const
inline

Definition at line 77 of file simulator_arm64.h.

77{ return stack_base_; }

◆ stack_base() [3/4]

uword dart::Simulator::stack_base ( ) const
inline

Definition at line 173 of file simulator_riscv.h.

173{ return stack_base_; }

◆ stack_base() [4/4]

uword dart::Simulator::stack_base ( ) const
inline

Definition at line 58 of file simulator_x64.h.

58{ return 0; }

◆ stack_limit() [1/4]

uword dart::Simulator::stack_limit ( ) const
inline

Definition at line 83 of file simulator_arm.h.

83{ return stack_limit_; }

◆ stack_limit() [2/4]

uword dart::Simulator::stack_limit ( ) const
inline

Definition at line 81 of file simulator_arm64.h.

81{ return stack_limit_; }

◆ stack_limit() [3/4]

uword dart::Simulator::stack_limit ( ) const
inline

Definition at line 177 of file simulator_riscv.h.

177{ return stack_limit_; }

◆ stack_limit() [4/4]

uword dart::Simulator::stack_limit ( ) const
inline

Definition at line 62 of file simulator_x64.h.

62{ return 0; }

Friends And Related Symbol Documentation

◆ SimulatorDebugger

SimulatorDebugger
friend

Definition at line 249 of file simulator_arm.h.

◆ SimulatorSetjmpBuffer

SimulatorSetjmpBuffer
friend

Definition at line 250 of file simulator_arm.h.

Member Data Documentation

◆ dregisters_

int64_t dart::Simulator::dregisters_[kNumberOfDRegisters]

Definition at line 140 of file simulator_arm.h.

◆ kSimulatorStackUnderflowSize

static constexpr uword dart::Simulator::kSimulatorStackUnderflowSize = 64
staticconstexpr

Definition at line 37 of file simulator_arm.h.

◆ qregisters_

simd_value_t dart::Simulator::qregisters_[kNumberOfQRegisters]

Definition at line 141 of file simulator_arm.h.

◆ sregisters_

int32_t dart::Simulator::sregisters_[kNumberOfSRegisters]

Definition at line 139 of file simulator_arm.h.


The documentation for this class was generated from the following files: