Backed out changeset 8abad92fd850 (bug 500431) due to Tinderbox orangeness

This commit is contained in:
Jason Orendorff 2009-09-18 08:53:03 -05:00
parent 28f39d7f60
commit 5d26f5c835
3 changed files with 11 additions and 12 deletions

View File

@ -1733,8 +1733,8 @@
} else if (scope->owned()) { } else if (scope->owned()) {
if (sprop == scope->lastProp || scope->has(sprop)) { if (sprop == scope->lastProp || scope->has(sprop)) {
fast_set_propcache_hit: fast_set_propcache_hit:
PCMETER(JS_PROPERTY_CACHE(cx).pchits++); PCMETER(cache->pchits++);
PCMETER(JS_PROPERTY_CACHE(cx).setpchits++); PCMETER(cache->setpchits++);
NATIVE_SET(cx, obj, sprop, entry, &rval); NATIVE_SET(cx, obj, sprop, entry, &rval);
JS_UNLOCK_SCOPE(cx, scope); JS_UNLOCK_SCOPE(cx, scope);
break; break;
@ -1769,8 +1769,8 @@
JS_ASSERT(!(obj->getClass()->flags & JS_ASSERT(!(obj->getClass()->flags &
JSCLASS_SHARE_ALL_PROPERTIES)); JSCLASS_SHARE_ALL_PROPERTIES));
PCMETER(JS_PROPERTY_CACHE(cx).pchits++); PCMETER(cache->pchits++);
PCMETER(JS_PROPERTY_CACHE(cx).addpchits++); PCMETER(cache->addpchits++);
/* /*
* Beware classes such as Function that use the * Beware classes such as Function that use the
@ -1809,7 +1809,7 @@
goto error; goto error;
} }
if (sprop2 != sprop) { if (sprop2 != sprop) {
PCMETER(JS_PROPERTY_CACHE(cx).slotchanges++); PCMETER(cache->slotchanges++);
JS_ASSERT(slot != sprop->slot && JS_ASSERT(slot != sprop->slot &&
slot == sprop2->slot && slot == sprop2->slot &&
sprop2->id == sprop->id); sprop2->id == sprop->id);
@ -1840,7 +1840,7 @@
break; break;
} }
JS_UNLOCK_SCOPE(cx, scope); JS_UNLOCK_SCOPE(cx, scope);
PCMETER(JS_PROPERTY_CACHE(cx).setpcmisses++); PCMETER(cache->setpcmisses++);
} }
if (!atom) { if (!atom) {
@ -3546,7 +3546,7 @@
} }
do_initprop_miss: do_initprop_miss:
PCMETER(JS_PROPERTY_CACHE(cx).inipcmisses++); PCMETER(cache->inipcmisses++);
JS_UNLOCK_SCOPE(cx, scope); JS_UNLOCK_SCOPE(cx, scope);
/* Get the immediate property name into id. */ /* Get the immediate property name into id. */

View File

@ -150,7 +150,6 @@ private:
JSBool empty; JSBool empty;
#ifdef JS_PROPERTY_CACHE_METERING #ifdef JS_PROPERTY_CACHE_METERING
public:
JSPropCacheEntry *pctestentry; /* entry of the last PC-based test */ JSPropCacheEntry *pctestentry; /* entry of the last PC-based test */
uint32 fills; /* number of cache entry fills */ uint32 fills; /* number of cache entry fills */
uint32 nofills; /* couldn't fill (e.g. default get) */ uint32 nofills; /* couldn't fill (e.g. default get) */

View File

@ -138,8 +138,8 @@ JSPropertyCache::testForSet(JSContext *cx, jsbytecode *pc, JSObject **objp,
*atomp = JS_PROPERTY_CACHE(cx).fullTest(cx, pc, objp, pobjp, entryp); *atomp = JS_PROPERTY_CACHE(cx).fullTest(cx, pc, objp, pobjp, entryp);
if (*atomp) { if (*atomp) {
PCMETER(misses++); PCMETER(cache->misses++);
PCMETER(setmisses++); PCMETER(cache->setmisses++);
} }
return false; return false;
@ -160,8 +160,8 @@ JSPropertyCache::testForInit(JSContext *cx, jsbytecode *pc, JSObject *obj,
PCVCAP_SHAPE(entry->vcap) == cx->runtime->protoHazardShape) PCVCAP_SHAPE(entry->vcap) == cx->runtime->protoHazardShape)
{ {
JS_ASSERT(PCVCAP_TAG(entry->vcap) == 0); JS_ASSERT(PCVCAP_TAG(entry->vcap) == 0);
PCMETER(pchits++); PCMETER(cache->pchits++);
PCMETER(inipchits++); PCMETER(cache->inipchits++);
JS_ASSERT(PCVAL_IS_SPROP(entry->vword)); JS_ASSERT(PCVAL_IS_SPROP(entry->vword));
JSScopeProperty *sprop = PCVAL_TO_SPROP(entry->vword); JSScopeProperty *sprop = PCVAL_TO_SPROP(entry->vword);
JS_ASSERT(!(sprop->attrs & JSPROP_READONLY)); JS_ASSERT(!(sprop->attrs & JSPROP_READONLY));