Index: src/x64/macro-assembler-x64.cc |
=================================================================== |
--- src/x64/macro-assembler-x64.cc (revision 3415) |
+++ src/x64/macro-assembler-x64.cc (working copy) |
@@ -288,6 +288,9 @@ |
RecordComment(msg); |
} |
#endif |
+ // Disable stub call restrictions to always allow calls to abort. |
+ set_allow_stub_calls(true); |
+ |
push(rax); |
movq(kScratchRegister, p0, RelocInfo::NONE); |
push(kScratchRegister); |
@@ -297,6 +300,7 @@ |
push(kScratchRegister); |
CallRuntime(Runtime::kAbort, 2); |
// will not return here |
+ int3(); |
} |
@@ -2094,6 +2098,11 @@ |
void MacroAssembler::UpdateAllocationTopHelper(Register result_end, |
Register scratch) { |
+ if (FLAG_debug_code) { |
+ testq(result_end, Immediate(kObjectAlignmentMask)); |
+ Check(zero, "Unaligned allocation in new space"); |
+ } |
+ |
ExternalReference new_space_allocation_top = |
ExternalReference::new_space_allocation_top_address(); |