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:
Terrence Cole
2013-06-20 16:17:37 -07:00
parent 5a903d5d08
commit a62e9344f4
6 changed files with 4 additions and 29 deletions

View File

@@ -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];

View File

@@ -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

View File

@@ -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");

View File

@@ -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;

View File

@@ -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;

View File

@@ -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);