Index: src/x64/macro-assembler-x64.cc |
diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc |
index 0c605d826dd1f80fa4db3dec59fed95477c350c2..ec2c7864b5807006976760d63a527e83485902d8 100644 |
--- a/src/x64/macro-assembler-x64.cc |
+++ b/src/x64/macro-assembler-x64.cc |
@@ -2650,7 +2650,7 @@ Operand MacroAssembler::SafepointRegisterSlot(Register reg) { |
void MacroAssembler::PushTryHandler(StackHandler::Kind kind, |
int handler_index) { |
// Adjust this code if not the case. |
- STATIC_ASSERT(StackHandlerConstants::kSize == 5 * kPointerSize); |
+ STATIC_ASSERT(StackHandlerConstants::kSize >= 5 * kPointerSize); |
danno
2013/09/18 12:08:42
Why not (StackHandlerConstants::kSiz == 4 * kPoint
haitao.feng
2013/09/22 08:16:00
Done.
|
STATIC_ASSERT(StackHandlerConstants::kNextOffset == 0); |
STATIC_ASSERT(StackHandlerConstants::kCodeOffset == 1 * kPointerSize); |
STATIC_ASSERT(StackHandlerConstants::kStateOffset == 2 * kPointerSize); |
@@ -2709,7 +2709,7 @@ void MacroAssembler::JumpToHandlerEntry() { |
void MacroAssembler::Throw(Register value) { |
// Adjust this code if not the case. |
- STATIC_ASSERT(StackHandlerConstants::kSize == 5 * kPointerSize); |
+ STATIC_ASSERT(StackHandlerConstants::kSize >= 5 * kPointerSize); |
STATIC_ASSERT(StackHandlerConstants::kNextOffset == 0); |
STATIC_ASSERT(StackHandlerConstants::kCodeOffset == 1 * kPointerSize); |
STATIC_ASSERT(StackHandlerConstants::kStateOffset == 2 * kPointerSize); |
@@ -2749,7 +2749,7 @@ void MacroAssembler::Throw(Register value) { |
void MacroAssembler::ThrowUncatchable(Register value) { |
// Adjust this code if not the case. |
- STATIC_ASSERT(StackHandlerConstants::kSize == 5 * kPointerSize); |
+ STATIC_ASSERT(StackHandlerConstants::kSize >= 5 * kPointerSize); |
STATIC_ASSERT(StackHandlerConstants::kNextOffset == 0); |
STATIC_ASSERT(StackHandlerConstants::kCodeOffset == 1 * kPointerSize); |
STATIC_ASSERT(StackHandlerConstants::kStateOffset == 2 * kPointerSize); |
@@ -3478,9 +3478,10 @@ void MacroAssembler::LeaveFrame(StackFrame::Type type) { |
void MacroAssembler::EnterExitFramePrologue(bool save_rax) { |
// Set up the frame structure on the stack. |
// All constants are relative to the frame pointer of the exit frame. |
- ASSERT(ExitFrameConstants::kCallerSPDisplacement == +2 * kPointerSize); |
- ASSERT(ExitFrameConstants::kCallerPCOffset == +1 * kPointerSize); |
- ASSERT(ExitFrameConstants::kCallerFPOffset == 0 * kPointerSize); |
+ ASSERT(ExitFrameConstants::kCallerSPDisplacement == |
+ kFPOnStackSize + kPCOnStackSize); |
+ ASSERT(ExitFrameConstants::kCallerPCOffset == kFPOnStackSize); |
+ ASSERT(ExitFrameConstants::kCallerFPOffset == 0 * kPointerSize); |
push(rbp); |
movq(rbp, rsp); |