Index: src/x64/lithium-codegen-x64.cc |
diff --git a/src/x64/lithium-codegen-x64.cc b/src/x64/lithium-codegen-x64.cc |
index 475c405d0d67823ca5c7c2279f054b78f683123f..1c7df8e5e4553a45b608217f586fd554c9d30b6c 100644 |
--- a/src/x64/lithium-codegen-x64.cc |
+++ b/src/x64/lithium-codegen-x64.cc |
@@ -3910,6 +3910,11 @@ void LCodeGen::DoCallRuntime(LCallRuntime* instr) { |
void LCodeGen::DoInnerAllocatedObject(LInnerAllocatedObject* instr) { |
Register result = ToRegister(instr->result()); |
Register base = ToRegister(instr->base_object()); |
+ if (instr->hydrogen()->MustAllocateDoubleAligned()) { |
+ ASSERT(kPointerAlignment == kDoubleAlignment); |
+ __ testq(result, Immediate(kDoubleAlignmentMask)); |
+ __ Check(zero, "Allocation is not double aligned"); |
+ } |
__ lea(result, Operand(base, instr->offset())); |
} |