Backed out changeset a3a834899c73 (bug 1375435) for making too-long-array-splice.js permatimeout on SM asan builds.
authorRyan VanderMeulen <ryanvm@gmail.com>
Tue, 25 Jul 2017 23:27:04 -0400
changeset 419738 e2801fbe0885c038df8c87b7501445fdb832694a
parent 419737 32a63be3c80ccd563b9aa13fab1fc8a2a77eb015
child 419739 01828d347c2246fc6db37d31c09d7c71c6b82221
push id7566
push usermtabara@mozilla.com
push dateWed, 02 Aug 2017 08:25:16 +0000
treeherdermozilla-beta@86913f512c3c [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1375435
milestone56.0a1
backs outa3a834899c7335e179ad77d0b48b9ed6df0a231a
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
Backed out changeset a3a834899c73 (bug 1375435) for making too-long-array-splice.js permatimeout on SM asan builds.
js/src/jit/IonBuilder.cpp
--- a/js/src/jit/IonBuilder.cpp
+++ b/js/src/jit/IonBuilder.cpp
@@ -2,17 +2,16 @@
  * vim: set ts=8 sts=4 et sw=4 tw=99:
  * This Source Code Form is subject to the terms of the Mozilla Public
  * License, v. 2.0. If a copy of the MPL was not distributed with this
  * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
 
 #include "jit/IonBuilder.h"
 
 #include "mozilla/DebugOnly.h"
-#include "mozilla/ScopeExit.h"
 #include "mozilla/SizePrintfMacros.h"
 
 #include "builtin/Eval.h"
 #include "builtin/TypedObject.h"
 #include "frontend/SourceNotes.h"
 #include "jit/BaselineFrame.h"
 #include "jit/BaselineInspector.h"
 #include "jit/Ion.h"
@@ -832,23 +831,21 @@ IonBuilder::build()
 #ifdef DEBUG
     // lazyArguments should never be accessed in |argsObjAliasesFormals| scripts.
     if (info().hasArguments() && !info().argsObjAliasesFormals())
         hasLazyArguments_ = true;
 #endif
 
     insertRecompileCheck();
 
-    auto clearLastPriorResumePoint = mozilla::MakeScopeExit([&] {
-        // Discard unreferenced & pre-allocated resume points.
-        replaceMaybeFallbackFunctionGetter(nullptr);
-    });
-
     MOZ_TRY(traverseBytecode());
 
+    // Discard unreferenced & pre-allocated resume points.
+    replaceMaybeFallbackFunctionGetter(nullptr);
+
     if (script_->hasBaselineScript() &&
         inlinedBytecodeLength_ > script_->baselineScript()->inlinedBytecodeLength())
     {
         script_->baselineScript()->setInlinedBytecodeLength(inlinedBytecodeLength_);
     }
 
     MOZ_TRY(maybeAddOsrTypeBarriers());
     MOZ_TRY(processIterators());
@@ -996,23 +993,20 @@ IonBuilder::buildInline(IonBuilder* call
 #endif
 
     insertRecompileCheck();
 
     // Initialize the env chain now that all resume points operands are
     // initialized.
     MOZ_TRY(initEnvironmentChain(callInfo.fun()));
 
-    auto clearLastPriorResumePoint = mozilla::MakeScopeExit([&] {
-        // Discard unreferenced & pre-allocated resume points.
-        replaceMaybeFallbackFunctionGetter(nullptr);
-    });
-
     MOZ_TRY(traverseBytecode());
 
+    // Discard unreferenced & pre-allocated resume points.
+    replaceMaybeFallbackFunctionGetter(nullptr);
 
     MOZ_ASSERT(iterators_.empty(), "Iterators should be added to outer builder");
 
     if (!info().isAnalysis() && !abortedPreliminaryGroups().empty())
         return abort(AbortReason::PreliminaryObjects);
 
     return Ok();
 }