Backed out changeset b47a1a49cda2 (bug 1274193) for hopefully fixing e10s windows x64 crashes on a CLOSED TREE
authorCarsten "Tomcat" Book <cbook@mozilla.com>
Wed, 25 May 2016 12:02:30 +0200
changeset 298937 b8dbe70e2500cbd910c21c1b3626346121c71004
parent 298936 2dc65c74bfa6c40479deb070b912b7bd2d151550
child 298938 73cf91bc2b67d55c6ba57c12b447faf9fd9e6b3b
push id30286
push userkwierso@gmail.com
push dateWed, 25 May 2016 22:33:39 +0000
treeherdermozilla-central@1012461fa7bb [default view] [failures only]
perfherder[talos] [build metrics] [platform microbench] (compared to previous push)
bugs1274193
milestone49.0a1
backs outb47a1a49cda2c961c45d851b85df1b2cf97d0a57
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 b47a1a49cda2 (bug 1274193) for hopefully fixing e10s windows x64 crashes on a CLOSED TREE
js/src/jsfriendapi.cpp
--- a/js/src/jsfriendapi.cpp
+++ b/js/src/jsfriendapi.cpp
@@ -398,38 +398,33 @@ JS_FRIEND_API(bool)
 js::RunningWithTrustedPrincipals(JSContext* cx)
 {
     return cx->runningWithTrustedPrincipals();
 }
 
 JS_FRIEND_API(JSFunction*)
 js::GetOutermostEnclosingFunctionOfScriptedCaller(JSContext* cx)
 {
-    ScriptFrameIter iter(cx, FrameIter::GO_THROUGH_SAVED);
+    ScriptFrameIter iter(cx, FrameIter::STOP_AT_SAVED);
 
     // Skip eval frames.
     while (!iter.done() && iter.isEvalFrame())
         ++iter;
 
     if (iter.done())
         return nullptr;
 
     if (!iter.isFunctionFrame())
         return nullptr;
 
-    if (iter.compartment() != cx->compartment())
-        return nullptr;
-
     RootedFunction curr(cx, iter.callee(cx));
     for (StaticScopeIter<NoGC> i(curr); !i.done(); i++) {
         if (i.type() == StaticScopeIter<NoGC>::Function)
             curr = &i.fun();
     }
-
-    assertSameCompartment(cx, curr);
     return curr;
 }
 
 JS_FRIEND_API(JSFunction*)
 js::DefineFunctionWithReserved(JSContext* cx, JSObject* objArg, const char* name, JSNative call,
                                unsigned nargs, unsigned attrs)
 {
     RootedObject obj(cx, objArg);