Home | History | Annotate | Download | only in mips

Lines Matching defs:Simulator

41 #include "mips/simulator-mips.h"
44 // Only build the simulator if not compiling for real MIPS hardware.
71 // The MipsDebugger class is used by the simulator while debugging simulated
75 explicit MipsDebugger(Simulator* sim) : sim_(sim) { }
89 Simulator* sim_;
169 PrintF("Simulator hit %s (%u)\n", msg, code);
375 while (!done && (sim_->get_pc() != Simulator::end_sim_pc)) {
502 cur = reinterpret_cast<int32_t*>(sim_->get_register(Simulator::sp));
743 PrintF(" When hitting a stop, the Simulator will\n");
746 PrintF(" - They can be enabled / disabled: the Simulator\n");
748 PrintF(" - The Simulator keeps track of how many times they \n");
796 void Simulator::set_last_debugger_input(char* input) {
802 void Simulator::FlushICache(v8::internal::HashMap* i_cache,
825 CachePage* Simulator::GetCachePage(v8::internal::HashMap* i_cache, void* page) {
838 void Simulator::FlushOnePage(v8::internal::HashMap* i_cache,
853 void Simulator::CheckICache(v8::internal::HashMap* i_cache,
876 void Simulator::Initialize(Isolate* isolate) {
884 Simulator::Simulator(Isolate* isolate) : isolate_(isolate) {
891 // Set up simulator support first. Some of this information is needed to
915 // access violation if the simulator ever tries to execute it.
928 // the simulator. The external reference will be a function compiled for the
930 // execute it with the simulator. We do that by redirecting the external
932 // the simulator. We write the original destination of the jump just at a known
933 // offset from the swi instruction so the simulator knows what to call.
943 Simulator::current(isolate)->
982 void* Simulator::RedirectExternalReference(void* external_function,
989 // Get the active Simulator for the current thread.
990 Simulator* Simulator::current(Isolate* isolate) {
996 Simulator* sim = isolate_data->simulator();
998 // TODO(146): delete the simulator object when a thread/isolate goes away.
999 sim = new Simulator(isolate);
1007 // Simulator internal state for special registers such as PC.
1008 void Simulator::set_register(int reg, int32_t value) {
1019 void Simulator::set_fpu_register(int fpureg, int32_t value) {
1025 void Simulator::set_fpu_register_float(int fpureg, float value) {
1031 void Simulator::set_fpu_register_double(int fpureg, double value) {
1039 int32_t Simulator::get_register(int reg) const {
1048 int32_t Simulator::get_fpu_register(int fpureg) const {
1054 int64_t Simulator::get_fpu_register_long(int fpureg) const {
1061 float Simulator::get_fpu_register_float(int fpureg) const {
1068 double Simulator::get_fpu_register_double(int fpureg) const {
1076 void Simulator::GetFpArgs(double* x, double* y) {
1101 void Simulator::GetFpArgs(double* x) {
1119 void Simulator::GetFpArgs(double* x, int32_t* y) {
1141 void Simulator::SetFpResult(const double& result) {
1156 void Simulator::set_fcsr_bit(uint32_t cc, bool value) {
1165 bool Simulator::test_fcsr_bit(uint32_t cc) {
1172 bool Simulator::set_fcsr_round_error(double original, double rounded) {
1201 void Simulator::set_pc(int32_t value) {
1207 bool Simulator::has_bad_pc() const {
1213 int32_t Simulator::get_pc() const {
1221 // emulating the rotate behaviour. Note that simulator runs have the runtime
1223 // executed in the simulator. Since the host is typically IA32 we will not
1226 int Simulator::ReadW(int32_t addr, Instruction* instr) {
1247 void Simulator::WriteW(int32_t addr, int value, Instruction* instr) {
1268 double Simulator::ReadD(int32_t addr, Instruction* instr) {
1281 void Simulator::WriteD(int32_t addr, double value, Instruction* instr) {
1294 uint16_t Simulator::ReadHU(int32_t addr, Instruction* instr) {
1307 int16_t Simulator::ReadH(int32_t addr, Instruction* instr) {
1320 void Simulator::WriteH(int32_t addr, uint16_t value, Instruction* instr) {
1333 void Simulator::WriteH(int32_t addr, int16_t value, Instruction* instr) {
1346 uint32_t Simulator::ReadBU(int32_t addr) {
1352 int32_t Simulator::ReadB(int32_t addr) {
1358 void Simulator::WriteB(int32_t addr, uint8_t value) {
1364 void Simulator::WriteB(int32_t addr, int8_t value) {
1371 uintptr_t Simulator::StackLimit() const {
1379 void Simulator::Format(Instruction* instr, const char* format) {
1380 PrintF("Simulator found unsupported instruction:\n 0x%08x: %s\n",
1411 // Software interrupt instructions are used by the simulator to call into the
1412 // C-based V8 runtime. They are also used for debugging with simulator.
1413 void Simulator::SoftwareInterrupt(Instruction* instr) {
1475 // simulator. Soft-float has additional abstraction of ExternalReference,
1577 bool Simulator::IsWatchpoint(uint32_t code) {
1582 void Simulator::PrintWatchpoint(uint32_t code) {
1592 void Simulator::HandleStop(uint32_t code, Instruction* instr) {
1604 bool Simulator::IsStopInstruction(Instruction* instr) {
1611 bool Simulator::IsEnabledStop(uint32_t code) {
1618 void Simulator::EnableStop(uint32_t code) {
1625 void Simulator::DisableStop(uint32_t code) {
1632 void Simulator::IncreaseStopCounter(uint32_t code) {
1646 void Simulator::PrintStopInfo(uint32_t code) {
1669 void Simulator::SignalExceptions() {
1680 void Simulator::ConfigureTypeRegister(Instruction* instr,
1916 void Simulator::DecodeTypeRegister(Instruction* instr) {
2295 void Simulator::DecodeTypeImmediate(Instruction* instr) {
2618 void Simulator::DecodeTypeJump(Instruction* instr) {
2644 void Simulator::InstructionDecode(Instruction* instr) {
2680 void Simulator::Execute() {
2685 // Fast version of the dispatch loop without checking whether the simulator
2711 int32_t Simulator::Call(byte* entry, int argument_count, ...) {
2741 // Put down marker for end of simulation. The simulator will stop simulation
2748 // simulator code and therefore is regarded as a callee-saved register.
2812 uintptr_t Simulator::PushAddress(uintptr_t address) {
2821 uintptr_t Simulator::PopAddress() {