From: lrn@chromium.org Date: Thu, 27 May 2010 12:22:23 +0000 (+0000) Subject: To be reverted. X-Git-Tag: upstream/4.7.83~21725 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=72f192296dfc4e14c6e1f2a0de92a76d7fed2ad9;p=platform%2Fupstream%2Fv8.git To be reverted. Add extra checks for bad stack content in X64 RE-macro-assembler, to check for crash that is only reproducible with the buildbot and only in release mode. git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@4741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 --- diff --git a/src/x64/regexp-macro-assembler-x64.cc b/src/x64/regexp-macro-assembler-x64.cc index 383399e..fcb5aa5 100644 --- a/src/x64/regexp-macro-assembler-x64.cc +++ b/src/x64/regexp-macro-assembler-x64.cc @@ -1245,17 +1245,38 @@ void RegExpMacroAssemblerX64::BranchOrBacktrack(Condition condition, void RegExpMacroAssemblerX64::SafeCall(Label* to) { __ call(to); +//// TESTING CODE - REVERT WHEN TEST IS DONE. + __ nop(); +//// END TESTING CODE } void RegExpMacroAssemblerX64::SafeCallTarget(Label* label) { __ bind(label); + //// TESTING CODE - REVERT WHEN TEST IS DONE. + __ movq(rax, Operand(rsp, 0)); + __ movb(rax, Operand(rax, 0)); + __ cmpb(rax, Immediate(0x90)); // Points to nop. + Label ok; + __ j(equal, &ok); + __ int3(); + __ bind(&ok); + //// END TESTING CODE __ subq(Operand(rsp, 0), code_object_pointer()); } void RegExpMacroAssemblerX64::SafeReturn() { __ addq(Operand(rsp, 0), code_object_pointer()); +//// TESTING CODE - REVERT WHEN TEST IS DONE. + __ movq(rax, Operand(rsp, 0)); + __ movb(rax, Operand(rax, 0)); + __ cmpb(rax, Immediate(0x90)); // Points to nop. + Label ok; + __ j(equal, &ok); + __ int3(); + __ bind(&ok); +//// END TESTING CODE __ ret(0); }