Bug 806298: Follow-up fix to unregress kraken-dft, r=jandem
authorHannes Verschore <hv1989@gmail.com>
Tue, 13 Nov 2012 11:46:06 +0100
changeset 117713 93461546766e6192b7ca11a77f421587bda284b2
parent 117712 51533e35127de613651c32689220f0b354a2c347
child 117714 0489f7174ead959aa047649d6c95aa156fb8bd90
push idunknown
push userunknown
push dateunknown
reviewersjandem
bugs806298
milestone19.0a1
Bug 806298: Follow-up fix to unregress kraken-dft, r=jandem
js/src/methodjit/Compiler.cpp
--- a/js/src/methodjit/Compiler.cpp
+++ b/js/src/methodjit/Compiler.cpp
@@ -3978,17 +3978,17 @@ mjit::Compiler::ionCompileHelper()
     uint32_t minUses = ion::UsesBeforeIonRecompile(outerScript, PC);
 
     uint32_t *useCountAddress = script_->addressOfUseCount();
     masm.add32(Imm32(1), AbsoluteAddress(useCountAddress));
 
     // We cannot inline a JM -> Ion constructing call.
     // Compiling this function is pointless and would disable the JM -> JM fastpath.
     // This function will start running in Ion, when caller runs in Ion/Interpreter.
-    if (isConstructing)
+    if (isConstructing && outerScript->code == PC)
         return;
 
     // If we don't want to do a recompileCheck for Ion, then this just needs to
     // increment the useCount so that we know when to recompile this function
     // from an Ion call.  No need to call out to recompiler stub.
     if (!recompileCheckForIon)
         return;