Index: src/ia32/macro-assembler-ia32.cc |
diff --git a/src/ia32/macro-assembler-ia32.cc b/src/ia32/macro-assembler-ia32.cc |
index faf768e11d93f47602d2cf2346b0071cacfadb4b..30bc4adb58c1db541cea497fbd735b360c546866 100644 |
--- a/src/ia32/macro-assembler-ia32.cc |
+++ b/src/ia32/macro-assembler-ia32.cc |
@@ -2980,16 +2980,8 @@ void MacroAssembler::CheckStackAlignment() { |
void MacroAssembler::Abort(BailoutReason reason) { |
- // We want to pass the msg string like a smi to avoid GC |
- // problems, however msg is not guaranteed to be aligned |
- // properly. Instead, we pass an aligned pointer that is |
- // a proper v8 smi, but also pass the alignment difference |
- // from the real pointer as a smi. |
- const char* msg = GetBailoutReason(reason); |
- intptr_t p1 = reinterpret_cast<intptr_t>(msg); |
- intptr_t p0 = (p1 & ~kSmiTagMask) + kSmiTag; |
- ASSERT(reinterpret_cast<Object*>(p0)->IsSmi()); |
#ifdef DEBUG |
+ const char* msg = GetBailoutReason(reason); |
if (msg != NULL) { |
RecordComment("Abort message: "); |
RecordComment(msg); |
@@ -3002,16 +2994,15 @@ void MacroAssembler::Abort(BailoutReason reason) { |
#endif |
push(eax); |
- push(Immediate(p0)); |
- push(Immediate(reinterpret_cast<intptr_t>(Smi::FromInt(p1 - p0)))); |
+ push(Immediate(reinterpret_cast<intptr_t>(Smi::FromInt(reason)))); |
// Disable stub call restrictions to always allow calls to abort. |
if (!has_frame_) { |
// We don't actually want to generate a pile of code for this, so just |
// claim there is a stack frame, without generating one. |
FrameScope scope(this, StackFrame::NONE); |
- CallRuntime(Runtime::kAbort, 2); |
+ CallRuntime(Runtime::kAbort, 1); |
} else { |
- CallRuntime(Runtime::kAbort, 2); |
+ CallRuntime(Runtime::kAbort, 1); |
} |
// will not return here |
int3(); |