Index: src/ia32/lithium-codegen-ia32.cc |
diff --git a/src/ia32/lithium-codegen-ia32.cc b/src/ia32/lithium-codegen-ia32.cc |
index 8bd4575a2018cac02fda189dab7041d8ed82e62e..dccb55ff68f6f3c57d49fbe669bfcb8eb642d6a7 100644 |
--- a/src/ia32/lithium-codegen-ia32.cc |
+++ b/src/ia32/lithium-codegen-ia32.cc |
@@ -140,6 +140,8 @@ bool LCodeGen::GeneratePrologue() { |
// receiver object). ecx is zero for method calls and non-zero for |
// function calls. |
if (!info_->is_classic_mode() || info_->is_native()) { |
+ Label begin; |
+ __ bind(&begin); |
Label ok; |
__ test(ecx, Operand(ecx)); |
__ j(zero, &ok, Label::kNear); |
@@ -148,10 +150,13 @@ bool LCodeGen::GeneratePrologue() { |
__ mov(Operand(esp, receiver_offset), |
Immediate(isolate()->factory()->undefined_value())); |
__ bind(&ok); |
+ ASSERT_EQ(kSizeOfOptimizedStrictModePrologue, ok.pos() - begin.pos()); |
} |
if (dynamic_frame_alignment_) { |
+ Label begin; |
+ __ bind(&begin); |
// Move state of dynamic frame alignment into edx. |
__ mov(edx, Immediate(kNoAlignmentPadding)); |
@@ -174,6 +179,8 @@ bool LCodeGen::GeneratePrologue() { |
__ j(not_zero, &align_loop, Label::kNear); |
__ mov(Operand(ebx, 0), Immediate(kAlignmentZapValue)); |
__ bind(&do_not_pad); |
+ ASSERT_EQ(kSizeOfOptimizedAlignStackPrologue, |
+ do_not_pad.pos() - begin.pos()); |
} |
__ push(ebp); // Caller's frame pointer. |