| Index: src/ia32/regexp-macro-assembler-ia32.cc
|
| ===================================================================
|
| --- src/ia32/regexp-macro-assembler-ia32.cc (revision 4568)
|
| +++ src/ia32/regexp-macro-assembler-ia32.cc (working copy)
|
| @@ -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()));
|
| }
|
|
|
|
|
|
|