Fix the bustage on windows. Bug 587962.
authorLeon Sha <leon.sha@sun.com>
Fri, 20 Aug 2010 20:56:45 +0800
changeset 53469 1fe4f48205b7bc884900fe9414b8ce3c4c739edd
parent 53468 c2f1e5150e18688ebede3eadc968d3bf082f9a5b
child 53470 fd7b9d27324b391912b753c4aad1627943baae79
push idunknown
push userunknown
push dateunknown
bugs587962
milestone2.0b5pre
Fix the bustage on windows. Bug 587962.
js/src/methodjit/StubCalls.cpp
--- a/js/src/methodjit/StubCalls.cpp
+++ b/js/src/methodjit/StubCalls.cpp
@@ -1360,20 +1360,21 @@ stubs::Debugger(VMFrame &f, jsbytecode *
             f.cx->throwing = JS_TRUE;
             f.cx->exception = rval;
             THROW();
 
           case JSTRAP_RETURN:
             f.cx->throwing = JS_FALSE;
             f.cx->fp->setReturnValue(rval);
             *f.returnAddressLocation() = JS_FUNC_TO_DATA_PTR(void *,
+                                         JS_METHODJIT_DATA(f.cx).trampolines.forceReturn);
+
 #if defined(JS_NO_FASTCALL) && defined(JS_CPU_X86)
+            *f.returnAddressLocation() = JS_FUNC_TO_DATA_PTR(void *,
                                          JS_METHODJIT_DATA(f.cx).trampolines.forceReturnFast);
-#else
-                                         JS_METHODJIT_DATA(f.cx).trampolines.forceReturn);
 #endif
             break;
 
           case JSTRAP_ERROR:
             f.cx->throwing = JS_FALSE;
             THROW();
 
           default:
@@ -1399,20 +1400,21 @@ stubs::Trap(VMFrame &f, jsbytecode *pc)
         f.cx->throwing = JS_TRUE;
         f.cx->exception = rval;
         THROW();
 
       case JSTRAP_RETURN:
         f.cx->throwing = JS_FALSE;
         f.cx->fp->setReturnValue(rval);
         *f.returnAddressLocation() = JS_FUNC_TO_DATA_PTR(void *,
+                                     JS_METHODJIT_DATA(f.cx).trampolines.forceReturn);
+
 #if defined(JS_NO_FASTCALL) && defined(JS_CPU_X86)
+        *f.returnAddressLocation() = JS_FUNC_TO_DATA_PTR(void *,
                                      JS_METHODJIT_DATA(f.cx).trampolines.forceReturnFast);
-#else
-                                     JS_METHODJIT_DATA(f.cx).trampolines.forceReturn);
 #endif
         break;
 
       case JSTRAP_ERROR:
         f.cx->throwing = JS_FALSE;
         THROW();
 
       default: