[JAEGER] Fixed bug in slow path side exit generation.
authorDavid Anderson <danderson@mozilla.com>
Sun, 30 May 2010 01:10:02 -0700
changeset 52621 929279efc6313a967710148e81aa7d5c27e9be28
parent 52620 2663395e7749b8bd4fb3169e050403cc0b2cd1e5
child 52622 ba4392c468b52d4a273b90792ea5b29f5a0e8b11
push id1
push userroot
push dateTue, 26 Apr 2011 22:38:44 +0000
treeherdermozilla-beta@bfdb6e623a36 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
milestone1.9.3a5pre
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
[JAEGER] Fixed bug in slow path side exit generation.
js/src/methodjit/StubCompiler.cpp
--- a/js/src/methodjit/StubCompiler.cpp
+++ b/js/src/methodjit/StubCompiler.cpp
@@ -68,19 +68,19 @@ StubCompiler::init(uint32 nargs)
 void
 StubCompiler::linkExit(Jump j)
 {
     JaegerSpew(JSpew_Insns, " ---- BEGIN SLOW MERGE CODE ---- \n");
     if (lastGeneration == generation) {
         Jump j2 = masm.jump();
         jumpList.append(j2);
     }
+    exits.append(CrossPatch(j, masm.label()));
     frame.sync(masm);
     lastGeneration = generation;
-    exits.append(CrossPatch(j, masm.label()));
     JaegerSpew(JSpew_Insns, " ---- END SLOW MERGE CODE ---- \n");
 }
 
 void
 StubCompiler::leave()
 {
     for (size_t i = 0; i < jumpList.length(); i++)
         jumpList[i].linkTo(masm.label(), &masm);