Bug 1511891 part 9 - Call recordreplay::AdvanceExecutionProgressCounter also for eval frames in InterpreterFrame::prologue. r=bhackett
authorJan de Mooij <jdemooij@mozilla.com>
Fri, 11 Jan 2019 09:16:22 +0000
changeset 453463 d7c3229eb734731f76d35191a283dc3e07cabf62
parent 453462 4e1a2cc33577009e6ff6149b0231e5c55f0e7289
child 453464 12ad92939684c46011a669702252bca382e33a58
push id35357
push usernerli@mozilla.com
push dateFri, 11 Jan 2019 21:54:07 +0000
treeherdermozilla-central@0ce024c91511 [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
reviewersbhackett
bugs1511891
milestone66.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 1511891 part 9 - Call recordreplay::AdvanceExecutionProgressCounter also for eval frames in InterpreterFrame::prologue. r=bhackett I think this is the right thing to do but I'm not sure. Differential Revision: https://phabricator.services.mozilla.com/D13707
js/src/vm/Stack.cpp
--- a/js/src/vm/Stack.cpp
+++ b/js/src/vm/Stack.cpp
@@ -196,21 +196,19 @@ bool InterpreterFrame::prologue(JSContex
   RootedScript script(cx, this->script());
 
   MOZ_ASSERT(cx->interpreterRegs().pc == script->code());
   MOZ_ASSERT(cx->realm() == script->realm());
 
   if (isEvalFrame() || isGlobalFrame()) {
     HandleObject env = environmentChain();
     if (!CheckGlobalOrEvalDeclarationConflicts(cx, env, script)) {
-      if (isGlobalFrame()) {
-        // Treat this as a script entry, for consistency with Ion.
-        if (script->trackRecordReplayProgress()) {
-          mozilla::recordreplay::AdvanceExecutionProgressCounter();
-        }
+      // Treat this as a script entry, for consistency with Ion.
+      if (script->trackRecordReplayProgress()) {
+        mozilla::recordreplay::AdvanceExecutionProgressCounter();
       }
       return false;
     }
     return probes::EnterScript(cx, script, nullptr, this);
   }
 
   if (isModuleFrame()) {
     return probes::EnterScript(cx, script, nullptr, this);