| 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 #ifndef VM_CONSTANTS_X64_H_ | 5 #ifndef VM_CONSTANTS_X64_H_ | 
| 6 #define VM_CONSTANTS_X64_H_ | 6 #define VM_CONSTANTS_X64_H_ | 
| 7 | 7 | 
| 8 namespace dart { | 8 namespace dart { | 
| 9 | 9 | 
| 10 enum Register { | 10 enum Register { | 
| (...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 79   REX_X      = 1 << 1, | 79   REX_X      = 1 << 1, | 
| 80   REX_R      = 1 << 2, | 80   REX_R      = 1 << 2, | 
| 81   REX_W      = 1 << 3, | 81   REX_W      = 1 << 3, | 
| 82   REX_PREFIX = 1 << 6 | 82   REX_PREFIX = 1 << 6 | 
| 83 }; | 83 }; | 
| 84 | 84 | 
| 85 | 85 | 
| 86 // Register aliases. | 86 // Register aliases. | 
| 87 const Register TMP = R11;  // Used as scratch register by the assembler. | 87 const Register TMP = R11;  // Used as scratch register by the assembler. | 
| 88 const Register TMP2 = kNoRegister;  // No second assembler scratch register. | 88 const Register TMP2 = kNoRegister;  // No second assembler scratch register. | 
| 89 const Register CTX = R12;  // Location of current context at method entry. | 89 const Register CTX = R9;  // Location of current context at method entry. | 
| 90 // Caches object pool pointer in generated code. | 90 // Caches object pool pointer in generated code. | 
| 91 const Register PP = R15; | 91 const Register PP = R15; | 
| 92 const Register SPREG = RSP;  // Stack pointer register. | 92 const Register SPREG = RSP;  // Stack pointer register. | 
| 93 const Register FPREG = RBP;  // Frame pointer register. | 93 const Register FPREG = RBP;  // Frame pointer register. | 
| 94 const Register ICREG = RBX;  // IC data register. | 94 const Register ICREG = RBX;  // IC data register. | 
| 95 const Register ARGS_DESC_REG = R10;  // Arguments descriptor register. | 95 const Register ARGS_DESC_REG = R10;  // Arguments descriptor register. | 
| 96 const Register CODE_REG = R12; |  | 
| 97 const Register THR = R14;  // Caches current thread in generated code. | 96 const Register THR = R14;  // Caches current thread in generated code. | 
| 98 | 97 | 
| 99 // Exception object is passed in this register to the catch handlers when an | 98 // Exception object is passed in this register to the catch handlers when an | 
| 100 // exception is thrown. | 99 // exception is thrown. | 
| 101 const Register kExceptionObjectReg = RAX; | 100 const Register kExceptionObjectReg = RAX; | 
| 102 | 101 | 
| 103 // Stack trace object is passed in this register to the catch handlers when | 102 // Stack trace object is passed in this register to the catch handlers when | 
| 104 // an exception is thrown. | 103 // an exception is thrown. | 
| 105 const Register kStackTraceObjectReg = RDX; | 104 const Register kStackTraceObjectReg = RDX; | 
| 106 | 105 | 
| (...skipping 116 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 223 }; | 222 }; | 
| 224 | 223 | 
| 225 | 224 | 
| 226 // The largest multibyte nop we will emit.  This could go up to 15 if it | 225 // The largest multibyte nop we will emit.  This could go up to 15 if it | 
| 227 // becomes important to us. | 226 // becomes important to us. | 
| 228 const int MAX_NOP_SIZE = 8; | 227 const int MAX_NOP_SIZE = 8; | 
| 229 | 228 | 
| 230 }  // namespace dart | 229 }  // namespace dart | 
| 231 | 230 | 
| 232 #endif  // VM_CONSTANTS_X64_H_ | 231 #endif  // VM_CONSTANTS_X64_H_ | 
| OLD | NEW | 
|---|