Lines Matching defs:Simulator

59 void Simulator::TraceSim(const char* format, ...) {
69 const Instruction* Simulator::kEndOfSimAddress = NULL;
97 void Simulator::Initialize(Isolate* isolate) {
104 // Get the active Simulator for the current thread.
105 Simulator* Simulator::current(Isolate* isolate) {
110 Simulator* sim = isolate_data->simulator();
113 sim = new Simulator(new Decoder<DispatchingDecoderVisitor>(), isolate);
115 sim = new Decoder<Simulator>();
124 void Simulator::CallVoid(byte* entry, CallArgument* args) {
167 int64_t Simulator::CallInt64(byte* entry, CallArgument* args) {
173 double Simulator::CallDouble(byte* entry, CallArgument* args) {
179 int64_t Simulator::CallJS(byte* entry,
196 int64_t Simulator::CallRegExp(byte* entry,
224 void Simulator::CheckPCSComplianceAndRun() {
283 void Simulator::CorruptRegisters(CPURegList* list, uint64_t value) {
299 void Simulator::CorruptAllCallerSavedCPURegisters() {
311 uintptr_t Simulator::PushAddress(uintptr_t address) {
324 uintptr_t Simulator::PopAddress() {
335 uintptr_t Simulator::StackLimit() const {
342 Simulator::Simulator(Decoder<DispatchingDecoderVisitor>* decoder,
366 Simulator::Simulator()
376 void Simulator::Init(FILE* stream) {
397 void Simulator::ResetState() {
411 // Returning to address 0 exits the Simulator.
420 Simulator::~Simulator() {
432 void Simulator::Run() {
440 void Simulator::RunFrom(Instruction* start) {
463 // TODO(all): Simulator flush I cache
545 void Simulator::DoRuntimeCall(Instruction* instr) {
727 void* Simulator::RedirectExternalReference(void* external_function,
734 const char* Simulator::xreg_names[] = {
740 const char* Simulator::wreg_names[] = {
746 const char* Simulator::sreg_names[] = {
752 const char* Simulator::dreg_names[] = {
758 const char* Simulator::vreg_names[] = {
765 const char* Simulator::WRegNameForCode(unsigned code, Reg31Mode mode) {
766 STATIC_ASSERT(arraysize(Simulator::wreg_names) == (kNumberOfRegisters + 1));
780 const char* Simulator::XRegNameForCode(unsigned code, Reg31Mode mode) {
781 STATIC_ASSERT(arraysize(Simulator::xreg_names) == (kNumberOfRegisters + 1));
793 const char* Simulator::SRegNameForCode(unsigned code) {
794 STATIC_ASSERT(arraysize(Simulator::sreg_names) == kNumberOfFPRegisters);
800 const char* Simulator::DRegNameForCode(unsigned code) {
801 STATIC_ASSERT(arraysize(Simulator::dreg_names) == kNumberOfFPRegisters);
807 const char* Simulator::VRegNameForCode(unsigned code) {
808 STATIC_ASSERT(arraysize(Simulator::vreg_names) == kNumberOfFPRegisters);
814 int Simulator::CodeFromName(const char* name) {
837 T Simulator::AddWithCarry(bool set_flags,
874 void Simulator::AddSubWithCarry(Instruction* instr) {
891 T Simulator::ShiftOperand(T value, Shift shift_type, unsigned amount) {
917 T Simulator::ExtendValue(T value, Extend extend_type, unsigned left_shift) {
952 void Simulator::Extract(Instruction* instr) {
965 template<> double Simulator::FPDefaultNaN<double>() const {
970 template<> float Simulator::FPDefaultNaN<float>() const {
975 void Simulator::FPCompare(double val0, double val1) {
995 void Simulator::SetBreakpoint(Instruction* location) {
1013 void Simulator::ListBreakpoints() {
1023 void Simulator::CheckBreakpoints() {
1041 void Simulator::CheckBreakNext() {
1050 void Simulator::PrintInstructionsAt(Instruction* start, uint64_t count) {
1058 void Simulator::PrintSystemRegisters() {
1064 void Simulator::PrintRegisters() {
1071 void Simulator::PrintFPRegisters() {
1078 void Simulator::PrintRegister(unsigned code, Reg31Mode r31mode) {
1091 void Simulator::PrintFPRegister(unsigned code, PrintFPRegisterSizes sizes) {
1125 void Simulator::PrintSystemRegister(SystemRegister id) {
1154 void Simulator::PrintRead(uintptr_t address,
1169 void Simulator::PrintReadFP(uintptr_t address,
1197 void Simulator::PrintWrite(uintptr_t address,
1232 void Simulator::PrintWriteFP(uintptr_t address,
1263 void Simulator::VisitUnimplemented(Instruction* instr) {
1270 void Simulator::VisitUnallocated(Instruction* instr) {
1277 void Simulator::VisitPCRelAddressing(Instruction* instr) {
1292 void Simulator::VisitUnconditionalBranch(Instruction* instr) {
1306 void Simulator::VisitConditionalBranch(Instruction* instr) {
1314 void Simulator::VisitUnconditionalBranchToRegister(Instruction* instr) {
1333 void Simulator::VisitTestBranch(Instruction* instr) {
1348 void Simulator::VisitCompareBranch(Instruction* instr) {
1365 void Simulator::AddSubHelper(Instruction* instr, T op2) {
1393 void Simulator::VisitAddSubShifted(Instruction* instr) {
1407 void Simulator::VisitAddSubImmediate(Instruction* instr) {
1417 void Simulator::VisitAddSubExtended(Instruction* instr) {
1430 void Simulator::VisitAddSubWithCarry(Instruction* instr) {
1439 void Simulator::VisitLogicalShifted(Instruction* instr) {
1455 void Simulator::VisitLogicalImmediate(Instruction* instr) {
1465 void Simulator::LogicalHelper(Instruction* instr, T op2) {
1493 void Simulator::VisitConditionalCompareRegister(Instruction* instr) {
1502 void Simulator::VisitConditionalCompareImmediate(Instruction* instr) {
1512 void Simulator::ConditionalCompareHelper(Instruction* instr, T op2) {
1532 void Simulator::VisitLoadStoreUnsignedOffset(Instruction* instr) {
1538 void Simulator::VisitLoadStoreUnscaledOffset(Instruction* instr) {
1543 void Simulator::VisitLoadStorePreIndex(Instruction* instr) {
1548 void Simulator::VisitLoadStorePostIndex(Instruction* instr) {
1553 void Simulator::VisitLoadStoreRegisterOffset(Instruction* instr) {
1563 void Simulator::LoadStoreHelper(Instruction* instr,
1647 void Simulator::VisitLoadStorePairOffset(Instruction* instr) {
1652 void Simulator::VisitLoadStorePairPreIndex(Instruction* instr) {
1657 void Simulator::VisitLoadStorePairPostIndex(Instruction* instr) {
1662 void Simulator::VisitLoadStorePairNonTemporal(Instruction* instr) {
1667 void Simulator::LoadStorePairHelper(Instruction* instr,
1797 void Simulator::VisitLoadLiteral(Instruction* instr) {
1825 uintptr_t Simulator::LoadStoreAddress(unsigned addr_reg, int64_t offset,
1844 void Simulator::LoadStoreWriteBack(unsigned addr_reg,
1855 void Simulator::CheckMemoryAccess(uintptr_t address, uintptr_t stack) {
1870 void Simulator::VisitMoveWideImmediate(Instruction* instr) {
1913 void Simulator::VisitConditionalSelect(Instruction* instr) {
1937 void Simulator::VisitDataProcessing1Source(Instruction* instr) {
1966 uint64_t Simulator::ReverseBits(uint64_t value, unsigned num_bits) {
1977 uint64_t Simulator::ReverseBytes(uint64_t value, ReverseByteMode mode) {
2005 void Simulator::DataProcessing2Source(Instruction* instr) {
2062 void Simulator::VisitDataProcessing2Source(Instruction* instr) {
2093 void Simulator::VisitDataProcessing3Source(Instruction* instr) {
2129 void Simulator::BitfieldHelper(Instruction* instr) {
2183 void Simulator::VisitBitfield(Instruction* instr) {
2192 void Simulator::VisitExtract(Instruction* instr) {
2201 void Simulator::VisitFPImmediate(Instruction* instr) {
2213 void Simulator::VisitFPIntegerConvert(Instruction* instr) {
2297 void Simulator::VisitFPFixedPointConvert(Instruction* instr) {
2342 int32_t Simulator::FPToInt32(double value, FPRounding rmode) {
2353 int64_t Simulator::FPToInt64(double value, FPRounding rmode) {
2364 uint32_t Simulator::FPToUInt32(double value, FPRounding rmode) {
2375 uint64_t Simulator::FPToUInt64(double value, FPRounding rmode) {
2386 void Simulator::VisitFPCompare(Instruction* instr) {
2403 void Simulator::VisitFPConditionalCompare(Instruction* instr) {
2427 void Simulator::VisitFPConditionalSelect(Instruction* instr) {
2445 void Simulator::VisitFPDataProcessing1Source(Instruction* instr) {
2668 double Simulator::FixedToDouble(int64_t src, int fbits, FPRounding round) {
2678 double Simulator::UFixedToDouble(uint64_t src, int fbits, FPRounding round) {
2694 float Simulator::FixedToFloat(int64_t src, int fbits, FPRounding round) {
2704 float Simulator::UFixedToFloat(uint64_t src, int fbits, FPRounding round) {
2720 double Simulator::FPRoundInt(double value, FPRounding round_mode) {
2776 double Simulator::FPToDouble(float value) {
2813 float Simulator::FPToFloat(double value, FPRounding round_mode) {
2866 void Simulator::VisitFPDataProcessing2Source(Instruction* instr) {
2909 void Simulator::VisitFPDataProcessing3Source(Instruction* instr) {
2942 T Simulator::FPAdd(T op1, T op2) {
2957 T Simulator::FPDiv(T op1, T op2) {
2972 T Simulator::FPMax(T a, T b) {
2987 T Simulator::FPMaxNM(T a, T b) {
2999 T Simulator::FPMin(T a, T b) {
3014 T Simulator::FPMinNM(T a, T b) {
3027 T Simulator::FPMul(T op1, T op2) {
3042 T Simulator::FPMulAdd(T a, T op1, T op2) {
3087 T Simulator::FPSqrt(T op) {
3099 T Simulator::FPSub(T op1, T op2) {
3114 T Simulator::FPProcessNaN(T op) {
3121 T Simulator::FPProcessNaNs(T op1, T op2) {
3139 T Simulator::FPProcessNaNs3(T op1, T op2, T op3) {
3161 bool Simulator::FPProcessNaNs(Instruction* instr) {
3185 void Simulator::VisitSystem(Instruction* instr) {
3228 bool Simulator::GetValue(const char* desc, int64_t* value) {
3256 bool Simulator::PrintValue(const char* desc) {
3310 void Simulator::Debug() {
3600 void Simulator::VisitException(Instruction* instr) {
3699 void Simulator::DoPrintf(Instruction* instr) {