Revision: 4572
Author: [email protected]
Date: Tue May  4 01:41:26 2010
Log: Reverting 2635

Review URL: http://codereview.chromium.org/1940001
http://code.google.com/p/v8/source/detail?r=4572

Modified:
 /branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc

=======================================
--- /branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc Mon Apr 19 12:30:11 2010 +++ /branches/bleeding_edge/src/ia32/regexp-macro-assembler-ia32.cc Tue May 4 01:41:26 2010
@@ -1102,19 +1102,22 @@


 void RegExpMacroAssemblerIA32::SafeCall(Label* to) {
-  __ call(to);
+  Label return_to;
+  __ push(Immediate::CodeRelativeOffset(&return_to));
+  __ jmp(to);
+  __ bind(&return_to);
 }


 void RegExpMacroAssemblerIA32::SafeReturn() {
-  __ add(Operand(esp, 0), Immediate(masm_->CodeObject()));
-  __ ret(0);
+  __ pop(ebx);
+  __ add(Operand(ebx), Immediate(masm_->CodeObject()));
+  __ jmp(Operand(ebx));
 }


 void RegExpMacroAssemblerIA32::SafeCallTarget(Label* name) {
   __ bind(name);
-  __ sub(Operand(esp, 0), Immediate(masm_->CodeObject()));
 }


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to