зеркало из https://github.com/mozilla/gecko-dev.git
Bug 527805 - Remove JSCLASS_SHARE_ALL_PROPERTIES. r=brendan.
This commit is contained in:
Родитель
16d0ed8f28
Коммит
f677d26051
|
@ -1467,7 +1467,6 @@ struct JSExtendedClass {
|
||||||
#define JSCLASS_NEW_ENUMERATE (1<<1) /* has JSNewEnumerateOp hook */
|
#define JSCLASS_NEW_ENUMERATE (1<<1) /* has JSNewEnumerateOp hook */
|
||||||
#define JSCLASS_NEW_RESOLVE (1<<2) /* has JSNewResolveOp hook */
|
#define JSCLASS_NEW_RESOLVE (1<<2) /* has JSNewResolveOp hook */
|
||||||
#define JSCLASS_PRIVATE_IS_NSISUPPORTS (1<<3) /* private is (nsISupports *) */
|
#define JSCLASS_PRIVATE_IS_NSISUPPORTS (1<<3) /* private is (nsISupports *) */
|
||||||
#define JSCLASS_SHARE_ALL_PROPERTIES (1<<4) /* all properties are SHARED */
|
|
||||||
#define JSCLASS_NEW_RESOLVE_GETS_START (1<<5) /* JSNewResolveOp gets starting
|
#define JSCLASS_NEW_RESOLVE_GETS_START (1<<5) /* JSNewResolveOp gets starting
|
||||||
object in prototype chain
|
object in prototype chain
|
||||||
passed in via *objp in/out
|
passed in via *objp in/out
|
||||||
|
|
|
@ -4259,9 +4259,6 @@ js_DefineNativeProperty(JSContext *cx, JSObject *obj, jsid id, jsval value,
|
||||||
added = false;
|
added = false;
|
||||||
if (!sprop) {
|
if (!sprop) {
|
||||||
/* Add a new property, or replace an existing one of the same id. */
|
/* Add a new property, or replace an existing one of the same id. */
|
||||||
if (clasp->flags & JSCLASS_SHARE_ALL_PROPERTIES)
|
|
||||||
attrs |= JSPROP_SHARED;
|
|
||||||
|
|
||||||
if (defineHow & JSDNP_SET_METHOD) {
|
if (defineHow & JSDNP_SET_METHOD) {
|
||||||
JS_ASSERT(clasp == &js_ObjectClass);
|
JS_ASSERT(clasp == &js_ObjectClass);
|
||||||
JS_ASSERT(VALUE_IS_FUNCTION(cx, value));
|
JS_ASSERT(VALUE_IS_FUNCTION(cx, value));
|
||||||
|
@ -5126,9 +5123,6 @@ js_SetPropertyHelper(JSContext *cx, JSObject *obj, jsid id, uintN defineHow,
|
||||||
return JS_FALSE;
|
return JS_FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (clasp->flags & JSCLASS_SHARE_ALL_PROPERTIES)
|
|
||||||
attrs |= JSPROP_SHARED;
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Check for Object class here to avoid defining a method on a class
|
* Check for Object class here to avoid defining a method on a class
|
||||||
* with magic resolve, addProperty, getProperty, etc. hooks.
|
* with magic resolve, addProperty, getProperty, etc. hooks.
|
||||||
|
|
|
@ -1739,9 +1739,6 @@ BEGIN_CASE(JSOP_SETMETHOD)
|
||||||
* inline compensation code here, depending on
|
* inline compensation code here, depending on
|
||||||
* real-world workloads.
|
* real-world workloads.
|
||||||
*/
|
*/
|
||||||
JS_ASSERT(!(obj->getClass()->flags &
|
|
||||||
JSCLASS_SHARE_ALL_PROPERTIES));
|
|
||||||
|
|
||||||
PCMETER(cache->pchits++);
|
PCMETER(cache->pchits++);
|
||||||
PCMETER(cache->addpchits++);
|
PCMETER(cache->addpchits++);
|
||||||
|
|
||||||
|
@ -3346,7 +3343,6 @@ BEGIN_CASE(JSOP_INITMETHOD)
|
||||||
obj = JSVAL_TO_OBJECT(lval);
|
obj = JSVAL_TO_OBJECT(lval);
|
||||||
JS_ASSERT(obj->isNative());
|
JS_ASSERT(obj->isNative());
|
||||||
JS_ASSERT(!obj->getClass()->reserveSlots);
|
JS_ASSERT(!obj->getClass()->reserveSlots);
|
||||||
JS_ASSERT(!(obj->getClass()->flags & JSCLASS_SHARE_ALL_PROPERTIES));
|
|
||||||
|
|
||||||
JSScope *scope = obj->scope();
|
JSScope *scope = obj->scope();
|
||||||
PropertyCacheEntry *entry;
|
PropertyCacheEntry *entry;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче