| OLD | NEW |
| 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 | 4 |
| 5 #include "vm/globals.h" | 5 #include "vm/globals.h" |
| 6 #if defined(TARGET_ARCH_MIPS) | 6 #if defined(TARGET_ARCH_MIPS) |
| 7 | 7 |
| 8 // Only build the simulator if not compiling for real MIPS hardware. | 8 // Only build the simulator if not compiling for real MIPS hardware. |
| 9 #if !defined(HOST_ARCH_MIPS) | 9 #if !defined(HOST_ARCH_MIPS) |
| 10 | 10 |
| (...skipping 30 matching lines...) Expand all Loading... |
| 41 Simulator* Simulator::Current() { | 41 Simulator* Simulator::Current() { |
| 42 Simulator* simulator = Isolate::Current()->simulator(); | 42 Simulator* simulator = Isolate::Current()->simulator(); |
| 43 if (simulator == NULL) { | 43 if (simulator == NULL) { |
| 44 simulator = new Simulator(); | 44 simulator = new Simulator(); |
| 45 Isolate::Current()->set_simulator(simulator); | 45 Isolate::Current()->set_simulator(simulator); |
| 46 } | 46 } |
| 47 return simulator; | 47 return simulator; |
| 48 } | 48 } |
| 49 | 49 |
| 50 | 50 |
| 51 // Sets the register in the architecture state. It will also deal with updating |
| 52 // Simulator internal state for special registers such as PC. |
| 53 void Simulator::set_register(Register reg, int32_t value) { |
| 54 UNIMPLEMENTED(); |
| 55 } |
| 56 |
| 57 |
| 58 // Get the register from the architecture state. This function does handle |
| 59 // the special case of accessing the PC register. |
| 60 int32_t Simulator::get_register(Register reg) const { |
| 61 UNIMPLEMENTED(); |
| 62 return 0; |
| 63 } |
| 64 |
| 65 |
| 51 // Returns the top of the stack area to enable checking for stack pointer | 66 // Returns the top of the stack area to enable checking for stack pointer |
| 52 // validity. | 67 // validity. |
| 53 uword Simulator::StackTop() const { | 68 uword Simulator::StackTop() const { |
| 54 // To be safe in potential stack underflows we leave some buffer above and | 69 // To be safe in potential stack underflows we leave some buffer above and |
| 55 // set the stack top. | 70 // set the stack top. |
| 56 return reinterpret_cast<uword>(stack_) + | 71 return reinterpret_cast<uword>(stack_) + |
| 57 (Isolate::GetSpecifiedStackSize() + Isolate::kStackSizeBuffer); | 72 (Isolate::GetSpecifiedStackSize() + Isolate::kStackSizeBuffer); |
| 58 } | 73 } |
| 59 | 74 |
| 60 | 75 |
| 61 void Simulator::InitOnce() { | 76 void Simulator::InitOnce() { |
| 62 } | 77 } |
| 63 | 78 |
| 64 | 79 |
| 65 int64_t Simulator::Call(int32_t entry, | 80 int64_t Simulator::Call(int32_t entry, |
| 66 int32_t parameter0, | 81 int32_t parameter0, |
| 67 int32_t parameter1, | 82 int32_t parameter1, |
| 68 int32_t parameter2, | 83 int32_t parameter2, |
| 69 int32_t parameter3, | 84 int32_t parameter3, |
| 70 int32_t parameter4) { | 85 int32_t parameter4) { |
| 71 UNIMPLEMENTED(); | 86 UNIMPLEMENTED(); |
| 72 return 0LL; | 87 return 0LL; |
| 73 } | 88 } |
| 74 | 89 |
| 75 } // namespace dart | 90 } // namespace dart |
| 76 | 91 |
| 77 #endif // !defined(HOST_ARCH_MIPS) | 92 #endif // !defined(HOST_ARCH_MIPS) |
| 78 | 93 |
| 79 #endif // defined TARGET_ARCH_MIPS | 94 #endif // defined TARGET_ARCH_MIPS |
| OLD | NEW |