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

Reply via email to