Index: runtime/vm/constants_arm64.h |
=================================================================== |
--- runtime/vm/constants_arm64.h (revision 42212) |
+++ runtime/vm/constants_arm64.h (working copy) |
@@ -753,11 +753,6 @@ |
}; |
-const uint32_t kImmExceptionIsRedirectedCall = 0xca11; |
-const uint32_t kImmExceptionIsUnreachable = 0xdebf; |
-const uint32_t kImmExceptionIsDebug = 0xdeb0; |
-const uint32_t kImmExceptionIsPrintf = 0xdeb1; |
- |
// Helper functions for decoding logical immediates. |
static inline uint64_t RotateRight( |
uint64_t value, uint8_t rotate, uint8_t width) { |
@@ -799,11 +794,27 @@ |
}; |
static const int32_t kNopInstruction = HINT; // hint #0 === nop. |
- static const int32_t kBreakPointInstruction = // hlt #kImmExceptionIsDebug. |
- HLT | (kImmExceptionIsDebug << kImm16Shift); |
- static const int kBreakPointInstructionSize = kInstrSize; |
+ |
+ // Reserved brk and hlt instruction codes. |
+ static const int32_t kBreakPointCode = 0xdeb0; // For breakpoint. |
+ static const int32_t kStopMessageCode = 0xdeb1; // For Stop(message). |
+ static const int32_t kSimulatorMessageCode = 0xdeb2; // For trace msg in sim. |
+ static const int32_t kSimulatorBreakCode = 0xdeb3; // For breakpoint in sim. |
+ static const int32_t kSimulatorRedirectCode = 0xca11; // For redirection. |
+ |
+ // Breakpoint instruction filling assembler code buffers in debug mode. |
+ static const int32_t kBreakPointInstruction = // brk(0xdeb0). |
+ BRK | (kBreakPointCode << kImm16Shift); |
+ |
+ // Breakpoint instruction used by the simulator. |
+ // Should be distinct from kBreakPointInstruction and from a typical user |
+ // breakpoint inserted in generated code for debugging, e.g. brk(0). |
+ static const int32_t kSimulatorBreakpointInstruction = |
+ HLT | (kSimulatorBreakCode << kImm16Shift); |
+ |
+ // Runtime call redirection instruction used by the simulator. |
static const int32_t kRedirectInstruction = |
- HLT | (kImmExceptionIsRedirectedCall << kImm16Shift); |
+ HLT | (kSimulatorRedirectCode << kImm16Shift); |
// Read one particular bit out of the instruction bits. |
inline int Bit(int nr) const { |