Bug #807380: Report to the compiler the function is constructing when entering at a branch, r=dvander
authorHannes Verschore <hv1989@gmail.com>
Fri, 02 Nov 2012 11:45:25 +0100
changeset 112149 e692328bf6a33db14810fa19c51d7ba105db386a
parent 112148 7af1c24612bb1ab7618f582f1c7fccdfd4871efb
child 112150 eb5c570b8a0bf064a26b46cb6e8274b52b75eaa0
push id23798
push userryanvm@gmail.com
push dateSat, 03 Nov 2012 00:06:35 +0000
treeherdermozilla-central@6134edeea902 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersdvander
bugs807380
milestone19.0a1
first release with
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Bug #807380: Report to the compiler the function is constructing when entering at a branch, r=dvander
js/src/ion/Ion.cpp
--- a/js/src/ion/Ion.cpp
+++ b/js/src/ion/Ion.cpp
@@ -1265,17 +1265,17 @@ ion::CanEnterAtBranch(JSContext *cx, Han
     // Mark as forbidden if frame can't be handled.
     if (!CheckFrame(fp)) {
         ForbidCompilation(cx, script);
         return Method_CantCompile;
     }
 
     // Attempt compilation. Returns Method_Compiled if already compiled.
     JSFunction *fun = fp->isFunctionFrame() ? fp->fun() : NULL;
-    MethodStatus status = Compile(cx, script, fun, pc, false);
+    MethodStatus status = Compile(cx, script, fun, pc, fp->isConstructing());
     if (status != Method_Compiled) {
         if (status == Method_CantCompile)
             ForbidCompilation(cx, script);
         return status;
     }
 
     if (script->ion->osrPc() != pc)
         return Method_Skipped;