Index: src/x64/full-codegen-x64.cc |
diff --git a/src/x64/full-codegen-x64.cc b/src/x64/full-codegen-x64.cc |
index f0b9438626e98867763c4ff4cb833891dbe41e68..feb1e3b815361d8015c612ef463a38b6f3a4d6d6 100644 |
--- a/src/x64/full-codegen-x64.cc |
+++ b/src/x64/full-codegen-x64.cc |
@@ -107,11 +107,15 @@ static void EmitStackCheck(MacroAssembler* masm_, |
Isolate* isolate = masm_->isolate(); |
Label ok; |
ASSERT(scratch.is(rsp) == (pointers == 0)); |
+ Heap::RootListIndex index; |
if (pointers != 0) { |
__ movq(scratch, rsp); |
__ subq(scratch, Immediate(pointers * kPointerSize)); |
+ index = Heap::kRealStackLimitRootIndex; |
+ } else { |
+ index = Heap::kStackLimitRootIndex; |
} |
- __ CompareRoot(scratch, Heap::kStackLimitRootIndex); |
+ __ CompareRoot(scratch, index); |
__ j(above_equal, &ok, Label::kNear); |
__ call(isolate->builtins()->StackCheck(), RelocInfo::CODE_TARGET); |
__ bind(&ok); |