Backed out changeset 56023d83552d (bug 1518377) for bustages at /tests/basic/bug908915.js on a CLOSED TREE
authorGurzau Raul <rgurzau@mozilla.com>
Fri, 01 Feb 2019 21:36:39 +0200
changeset 514345 024bef408a88
parent 514344 56023d83552d
child 514346 26db1cffe8de
child 514347 060f52cbeaf2
child 514411 a36422c1abbc
push id10862
push userffxbld-merge
push dateMon, 11 Mar 2019 13:01:11 +0000
treeherdermozilla-beta@a2e7f5c935da [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1518377, 908915
milestone67.0a1
backs out56023d83552d
first release with
nightly linux32
024bef408a88 / 67.0a1 / 20190201221223 / files
nightly linux64
024bef408a88 / 67.0a1 / 20190201221223 / files
nightly mac
024bef408a88 / 67.0a1 / 20190201221223 / files
nightly win32
024bef408a88 / 67.0a1 / 20190201221223 / files
nightly win64
024bef408a88 / 67.0a1 / 20190201221223 / files
last release without
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
releases
nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
Backed out changeset 56023d83552d (bug 1518377) for bustages at /tests/basic/bug908915.js on a CLOSED TREE
js/src/builtin/TestingFunctions.cpp
js/src/jit-test/tests/ion/bug1518377.js
--- a/js/src/builtin/TestingFunctions.cpp
+++ b/js/src/builtin/TestingFunctions.cpp
@@ -2688,35 +2688,32 @@ static bool testingFunc_inIon(JSContext*
 
   if (cx->activation()->hasWasmExitFP()) {
     // Exited through wasm. Note this is false when the fast wasm->jit exit
     // was taken, in which case we actually have jit frames on the stack.
     args.rval().setBoolean(false);
     return true;
   }
 
-  JSScript* script = cx->currentScript();
-
-  // Check if current script frame is IonJS
   ScriptFrameIter iter(cx);
   if (!iter.done() && iter.isIon()) {
     // Reset the counter of the IonScript's script.
-    script->resetWarmUpResetCounter();
-
-    args.rval().setBoolean(true);
-    return true;
-  }
-
-  // Check if we missed multiple attempts at compiling the innermost script.
-  if (script && script->getWarmUpResetCount() >= 20) {
-    return ReturnStringCopy(
-        cx, args, "Compilation is being repeatedly prevented. Giving up.");
-  }
-
-  args.rval().setBoolean(false);
+    jit::JSJitFrameIter jitIter(cx->activation()->asJit());
+    ++jitIter;
+    jitIter.script()->resetWarmUpResetCounter();
+  } else {
+    // Check if we missed multiple attempts at compiling the innermost script.
+    JSScript* script = cx->currentScript();
+    if (script && script->getWarmUpResetCount() >= 20) {
+      return ReturnStringCopy(
+          cx, args, "Compilation is being repeatedly prevented. Giving up.");
+    }
+  }
+
+  args.rval().setBoolean(!iter.done() && iter.isIon());
   return true;
 }
 
 bool js::testingFunc_assertFloat32(JSContext* cx, unsigned argc, Value* vp) {
   CallArgs args = CallArgsFromVp(argc, vp);
   if (args.length() != 2) {
     JS_ReportErrorASCII(cx, "Expects only 2 arguments");
     return false;
deleted file mode 100644
--- a/js/src/jit-test/tests/ion/bug1518377.js
+++ /dev/null
@@ -1,7 +0,0 @@
-Object.prototype[Symbol.toPrimitive] = inIon;
-which = function() {};
-for (var i = 0; i < 10; ++i) {
-    s = which[which[which]];
-    a = which;
-    a += s + "";
-}