| Index: src/ia32/macro-assembler-ia32.cc
|
| ===================================================================
|
| --- src/ia32/macro-assembler-ia32.cc (revision 2121)
|
| +++ src/ia32/macro-assembler-ia32.cc (working copy)
|
| @@ -448,7 +448,8 @@
|
|
|
| void MacroAssembler::PushTryHandler(CodeLocation try_location,
|
| HandlerType type) {
|
| - ASSERT(StackHandlerConstants::kSize == 6 * kPointerSize); // adjust this code
|
| + // Adjust this code if not the case.
|
| + ASSERT(StackHandlerConstants::kSize == 4 * kPointerSize);
|
| // The pc (return address) is already on TOS.
|
| if (try_location == IN_JAVASCRIPT) {
|
| if (type == TRY_CATCH_HANDLER) {
|
| @@ -456,9 +457,7 @@
|
| } else {
|
| push(Immediate(StackHandler::TRY_FINALLY));
|
| }
|
| - push(Immediate(Smi::FromInt(StackHandler::kCodeNotPresent)));
|
| push(ebp);
|
| - push(edi);
|
| } else {
|
| ASSERT(try_location == IN_JS_ENTRY);
|
| // The parameter pointer is meaningless here and ebp does not
|
| @@ -466,9 +465,7 @@
|
| // expect the code throwing an exception to check ebp before
|
| // dereferencing it to restore the context.
|
| push(Immediate(StackHandler::ENTRY));
|
| - push(Immediate(Smi::FromInt(StackHandler::kCodeNotPresent)));
|
| push(Immediate(0)); // NULL frame pointer
|
| - push(Immediate(0)); // NULL parameter pointer
|
| }
|
| // Cached TOS.
|
| mov(eax, Operand::StaticVariable(ExternalReference(Top::k_handler_address)));
|
|
|