| Index: runtime/vm/constants_ia32.h
|
| diff --git a/runtime/vm/constants_ia32.h b/runtime/vm/constants_ia32.h
|
| index 0950639ad51355cb4de4596c8b2ed5ae7a944ebb..466dd42b520519fdadad76a36bb501094dc5c396 100644
|
| --- a/runtime/vm/constants_ia32.h
|
| +++ b/runtime/vm/constants_ia32.h
|
| @@ -10,7 +10,6 @@
|
| namespace dart {
|
|
|
| enum Register {
|
| - kFirstFreeCpuRegister = 0,
|
| EAX = 0,
|
| ECX = 1,
|
| EDX = 2,
|
| @@ -19,9 +18,8 @@ enum Register {
|
| EBP = 5,
|
| ESI = 6,
|
| EDI = 7,
|
| - kLastFreeCpuRegister = 7,
|
| kNumberOfCpuRegisters = 8,
|
| - kNoRegister = -1 // Signals an illegal register.
|
| + kNoRegister = -1, // Signals an illegal register.
|
| };
|
|
|
|
|
| @@ -71,6 +69,7 @@ const Register ICREG = ECX; // IC data register.
|
| const Register ARGS_DESC_REG = EDX; // Arguments descriptor register.
|
| const Register THR = ESI; // Caches current thread in generated code.
|
|
|
| +
|
| // Exception object is passed in this register to the catch handlers when an
|
| // exception is thrown.
|
| const Register kExceptionObjectReg = EAX;
|
| @@ -80,6 +79,18 @@ const Register kExceptionObjectReg = EAX;
|
| const Register kStackTraceObjectReg = EDX;
|
|
|
|
|
| +typedef uint32_t RegList;
|
| +const RegList kAllCpuRegistersList = 0xFF;
|
| +
|
| +const intptr_t kReservedCpuRegisters =
|
| + (1 << SPREG) |
|
| + (1 << FPREG) |
|
| + (1 << THR);
|
| +// CPU registers available to Dart allocator.
|
| +const RegList kDartAvailableCpuRegs =
|
| + kAllCpuRegistersList & ~kReservedCpuRegisters;
|
| +
|
| +
|
| enum ScaleFactor {
|
| TIMES_1 = 0,
|
| TIMES_2 = 1,
|
|
|