Backout ac48416672e7 for unexpected SM(r) failures.
Even if the there is a CLOSED TREE by the time I push.
This commit is contained in:
@@ -628,9 +628,6 @@ class MOZ_STACK_CLASS Rooted : public js::RootedBase<T>
|
||||
|
||||
private:
|
||||
void commonInit(Rooted<void*> **thingGCRooters) {
|
||||
#if defined(DEBUG) && defined(JS_GC_ZEAL) && defined(JSGC_ROOT_ANALYSIS) && !defined(JS_THREADSAFE)
|
||||
scanned = false;
|
||||
#endif
|
||||
#if defined(JSGC_ROOT_ANALYSIS) || defined(JSGC_USE_EXACT_ROOTING)
|
||||
js::ThingRootKind kind = js::GCMethods<T>::kind();
|
||||
this->stack = &thingGCRooters[kind];
|
||||
|
||||
@@ -36,6 +36,7 @@ typedef HashSet<JSAtom *> FuncStmtSet;
|
||||
class SharedContext;
|
||||
|
||||
typedef Vector<Definition *, 16> DeclVector;
|
||||
typedef Vector<JSFunction *, 4> FunctionVector;
|
||||
|
||||
struct GenericParseContext
|
||||
{
|
||||
@@ -200,7 +201,7 @@ struct ParseContext : public GenericParseContext
|
||||
the same name. */
|
||||
|
||||
// All inner functions in this context. Only filled in when parsing syntax.
|
||||
AutoFunctionVector innerFunctions;
|
||||
FunctionVector innerFunctions;
|
||||
|
||||
// Set when parsing a declaration-like destructuring pattern. This flag
|
||||
// causes PrimaryExpr to create PN_NAME parse nodes for variable references
|
||||
|
||||
@@ -449,12 +449,6 @@ AutoGCRooter::trace(JSTracer *trc)
|
||||
return;
|
||||
}
|
||||
|
||||
case FUNVECTOR: {
|
||||
AutoFunctionVector::VectorImpl &vector = static_cast<AutoFunctionVector *>(this)->vector;
|
||||
MarkObjectRootRange(trc, vector.length(), vector.begin(), "js::AutoFunctionVector.vector");
|
||||
return;
|
||||
}
|
||||
|
||||
case STRINGVECTOR: {
|
||||
AutoStringVector::VectorImpl &vector = static_cast<AutoStringVector *>(this)->vector;
|
||||
MarkStringRootRange(trc, vector.length(), vector.begin(), "js::AutoStringVector.vector");
|
||||
|
||||
@@ -130,8 +130,7 @@ class JS_PUBLIC_API(AutoGCRooter) {
|
||||
OBJU32HASHMAP=-24, /* js::AutoObjectUnsigned32HashMap */
|
||||
OBJHASHSET = -25, /* js::AutoObjectHashSet */
|
||||
JSONPARSER = -26, /* js::JSONParser */
|
||||
CUSTOM = -27, /* js::CustomAutoRooter */
|
||||
FUNVECTOR = -28 /* js::AutoFunctionVector */
|
||||
CUSTOM = -27 /* js::CustomAutoRooter */
|
||||
};
|
||||
|
||||
private:
|
||||
@@ -573,19 +572,6 @@ class AutoObjectVector : public AutoVectorRooter<JSObject *>
|
||||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
};
|
||||
|
||||
class AutoFunctionVector : public AutoVectorRooter<JSFunction *>
|
||||
{
|
||||
public:
|
||||
explicit AutoFunctionVector(JSContext *cx
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: AutoVectorRooter<JSFunction *>(cx, FUNVECTOR)
|
||||
{
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
}
|
||||
|
||||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
};
|
||||
|
||||
class AutoScriptVector : public AutoVectorRooter<JSScript *>
|
||||
{
|
||||
public:
|
||||
@@ -5091,7 +5077,6 @@ using JS::Latin1CharsZ;
|
||||
using JS::AutoIdVector;
|
||||
using JS::AutoValueVector;
|
||||
using JS::AutoObjectVector;
|
||||
using JS::AutoFunctionVector;
|
||||
using JS::AutoScriptVector;
|
||||
using JS::AutoIdArray;
|
||||
|
||||
|
||||
@@ -1336,8 +1336,6 @@ JSAbstractFramePtr::evaluateUCInStackFrame(JSContext *cx,
|
||||
const char *filename, unsigned lineno,
|
||||
MutableHandleValue rval)
|
||||
{
|
||||
SkipRoot skipChars(cx, &chars);
|
||||
|
||||
if (!CheckDebugMode(cx))
|
||||
return false;
|
||||
|
||||
|
||||
@@ -1519,7 +1519,7 @@ static JSTrapStatus
|
||||
TrapHandler(JSContext *cx, JSScript *, jsbytecode *pc, jsval *rvalArg,
|
||||
jsval closure)
|
||||
{
|
||||
RootedString str(cx, JSVAL_TO_STRING(closure));
|
||||
JSString *str = JSVAL_TO_STRING(closure);
|
||||
RootedValue rval(cx, *rvalArg);
|
||||
|
||||
ScriptFrameIter iter(cx);
|
||||
|
||||
Reference in New Issue
Block a user