Implement DoStackCheck in x64 crankshaft

Review URL: http://codereview.chromium.org/6257002

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@6311 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
ricow@chromium.org 2011-01-14 11:35:02 +00:00
parent 962d7019aa
commit 7954752479

View File

@ -1153,7 +1153,15 @@ void LCodeGen::DoDeleteProperty(LDeleteProperty* instr) {
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);
}