зеркало из https://github.com/mozilla/gecko-dev.git
Bug 547140, part 7 - Remove JSContext::resolveFlags and JSAutoResolveFlags. r=Waldo.
This commit is contained in:
Родитель
5d9ff80242
Коммит
c9834fb92b
|
@ -2401,17 +2401,13 @@ JS_SetParent(JSContext *cx, HandleObject obj, HandleObject parent)
|
|||
JS_PUBLIC_API(JSObject *)
|
||||
JS_GetConstructor(JSContext *cx, HandleObject proto)
|
||||
{
|
||||
RootedValue cval(cx);
|
||||
|
||||
AssertHeapIsIdle(cx);
|
||||
CHECK_REQUEST(cx);
|
||||
assertSameCompartment(cx, proto);
|
||||
{
|
||||
JSAutoResolveFlags rf(cx, 0);
|
||||
|
||||
if (!JSObject::getProperty(cx, proto, proto, cx->names().constructor, &cval))
|
||||
return nullptr;
|
||||
}
|
||||
RootedValue cval(cx);
|
||||
if (!JSObject::getProperty(cx, proto, proto, cx->names().constructor, &cval))
|
||||
return nullptr;
|
||||
if (!IsFunctionObject(cval)) {
|
||||
JS_ReportErrorNumber(cx, js_GetErrorMessage, nullptr, JSMSG_NO_CONSTRUCTOR,
|
||||
proto->getClass()->name);
|
||||
|
@ -2974,7 +2970,6 @@ DefinePropertyById(JSContext *cx, HandleObject obj, HandleId id, HandleValue val
|
|||
? JS_FUNC_TO_DATA_PTR(JSObject *, setter)
|
||||
: nullptr);
|
||||
|
||||
JSAutoResolveFlags rf(cx, 0);
|
||||
return JSObject::defineGeneric(cx, obj, id, value, getter, setter, attrs);
|
||||
}
|
||||
|
||||
|
@ -3289,10 +3284,8 @@ GetPropertyDescriptorById(JSContext *cx, HandleObject obj, HandleId id,
|
|||
desc.value().set(obj2->nativeGetSlot(shape->slot()));
|
||||
}
|
||||
} else {
|
||||
if (obj2->is<ProxyObject>()) {
|
||||
JSAutoResolveFlags rf(cx, 0);
|
||||
if (obj2->is<ProxyObject>())
|
||||
return Proxy::getPropertyDescriptor(cx, obj2, id, desc);
|
||||
}
|
||||
if (!JSObject::getGenericAttributes(cx, obj2, id, &desc.attributesRef()))
|
||||
return false;
|
||||
JS_ASSERT(desc.getter() == nullptr);
|
||||
|
@ -3355,7 +3348,6 @@ JS_ForwardGetPropertyTo(JSContext *cx, JS::HandleObject obj, JS::HandleId id, JS
|
|||
CHECK_REQUEST(cx);
|
||||
assertSameCompartment(cx, obj, id);
|
||||
assertSameCompartment(cx, onBehalfOf);
|
||||
JSAutoResolveFlags rf(cx, 0);
|
||||
|
||||
return JSObject::getGeneric(cx, obj, onBehalfOf, id, vp);
|
||||
}
|
||||
|
@ -3373,7 +3365,6 @@ JS_ForwardGetElementTo(JSContext *cx, HandleObject obj, uint32_t index, HandleOb
|
|||
AssertHeapIsIdle(cx);
|
||||
CHECK_REQUEST(cx);
|
||||
assertSameCompartment(cx, obj);
|
||||
JSAutoResolveFlags rf(cx, 0);
|
||||
|
||||
return JSObject::getElement(cx, obj, onBehalfOf, index, vp);
|
||||
}
|
||||
|
@ -3489,7 +3480,6 @@ JS_DeletePropertyById2(JSContext *cx, HandleObject obj, HandleId id, bool *resul
|
|||
AssertHeapIsIdle(cx);
|
||||
CHECK_REQUEST(cx);
|
||||
assertSameCompartment(cx, obj, id);
|
||||
JSAutoResolveFlags rf(cx, 0);
|
||||
|
||||
return JSObject::deleteByValue(cx, obj, IdToValue(id), result);
|
||||
}
|
||||
|
@ -3500,7 +3490,6 @@ JS_DeleteElement2(JSContext *cx, HandleObject obj, uint32_t index, bool *result)
|
|||
AssertHeapIsIdle(cx);
|
||||
CHECK_REQUEST(cx);
|
||||
assertSameCompartment(cx, obj);
|
||||
JSAutoResolveFlags rf(cx, 0);
|
||||
|
||||
return JSObject::deleteElement(cx, obj, index, result);
|
||||
}
|
||||
|
@ -3510,7 +3499,6 @@ JS_DeleteProperty2(JSContext *cx, HandleObject obj, const char *name, bool *resu
|
|||
{
|
||||
CHECK_REQUEST(cx);
|
||||
assertSameCompartment(cx, obj);
|
||||
JSAutoResolveFlags rf(cx, 0);
|
||||
|
||||
JSAtom *atom = Atomize(cx, name, strlen(name));
|
||||
if (!atom)
|
||||
|
@ -3524,7 +3512,6 @@ JS_DeleteUCProperty2(JSContext *cx, HandleObject obj, const jschar *name, size_t
|
|||
{
|
||||
CHECK_REQUEST(cx);
|
||||
assertSameCompartment(cx, obj);
|
||||
JSAutoResolveFlags rf(cx, 0);
|
||||
|
||||
JSAtom *atom = AtomizeChars(cx, name, AUTO_NAMELEN(name, namelen));
|
||||
if (!atom)
|
||||
|
|
|
@ -1108,7 +1108,6 @@ JSContext::JSContext(JSRuntime *rt)
|
|||
#ifdef JS_THREADSAFE
|
||||
outstandingRequests(0),
|
||||
#endif
|
||||
resolveFlags(0),
|
||||
iterValue(MagicValue(JS_NO_ITER_VALUE)),
|
||||
jitIsBroken(false),
|
||||
#ifdef MOZ_TRACE_JSCALLS
|
||||
|
|
|
@ -498,9 +498,6 @@ struct JSContext : public js::ExclusiveContext,
|
|||
JS_EndRequest. */
|
||||
#endif
|
||||
|
||||
/* Stored here to avoid passing it around as a parameter. */
|
||||
unsigned resolveFlags;
|
||||
|
||||
/* Location to stash the iteration value between JSOP_MOREITER and JSOP_ITERNEXT. */
|
||||
js::Value iterValue;
|
||||
|
||||
|
@ -640,29 +637,6 @@ struct AutoResolving {
|
|||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
};
|
||||
|
||||
} /* namespace js */
|
||||
|
||||
class JSAutoResolveFlags
|
||||
{
|
||||
public:
|
||||
JSAutoResolveFlags(JSContext *cx, unsigned flags
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_PARAM)
|
||||
: mContext(cx), mSaved(cx->resolveFlags)
|
||||
{
|
||||
MOZ_GUARD_OBJECT_NOTIFIER_INIT;
|
||||
cx->resolveFlags = flags;
|
||||
}
|
||||
|
||||
~JSAutoResolveFlags() { mContext->resolveFlags = mSaved; }
|
||||
|
||||
private:
|
||||
JSContext *mContext;
|
||||
unsigned mSaved;
|
||||
MOZ_DECL_USE_GUARD_OBJECT_NOTIFIER
|
||||
};
|
||||
|
||||
namespace js {
|
||||
|
||||
/*
|
||||
* Enumerate all contexts in a runtime.
|
||||
*/
|
||||
|
|
Загрузка…
Ссылка в новой задаче