Revision: 6311
Author: [email protected]
Date: Fri Jan 14 03:35:02 2011
Log: Implement DoStackCheck in x64 crankshaft
Review URL: http://codereview.chromium.org/6257002
http://code.google.com/p/v8/source/detail?r=6311
Modified:
/branches/bleeding_edge/src/x64/lithium-codegen-x64.cc
=======================================
--- /branches/bleeding_edge/src/x64/lithium-codegen-x64.cc Fri Jan 14
02:33:41 2011
+++ /branches/bleeding_edge/src/x64/lithium-codegen-x64.cc Fri Jan 14
03:35:02 2011
@@ -1153,7 +1153,15 @@
void LCodeGen::DoStackCheck(LStackCheck* instr) {
- Abort("Unimplemented: %s", "DoStackCheck");
+ // Perform stack overflow check.
+ NearLabel done;
+ ExternalReference stack_limit =
ExternalReference::address_of_stack_limit();
+ __ CompareRoot(rsp, Heap::kStackLimitRootIndex);
+ __ j(above_equal, &done);
+
+ StackCheckStub stub;
+ CallCode(stub.GetCode(), RelocInfo::CODE_TARGET, instr);
+ __ bind(&done);
}
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev