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