mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 519363: temporary instrumentation to understand object creation scope assignment for js_Interpret topcrash, r=lw
This commit is contained in:
parent
3927f423ab
commit
44ddeb70aa
@ -246,8 +246,6 @@ js_FillPropertyCache(JSContext *cx, JSObject *obj,
|
|||||||
SPROP_HAS_VALID_SLOT(sprop, scope)) {
|
SPROP_HAS_VALID_SLOT(sprop, scope)) {
|
||||||
/* Great, let's cache sprop's slot and use it on cache hit. */
|
/* Great, let's cache sprop's slot and use it on cache hit. */
|
||||||
vword = SLOT_TO_PCVAL(sprop->slot);
|
vword = SLOT_TO_PCVAL(sprop->slot);
|
||||||
if (sprop->slot >= JS_INITIAL_NSLOTS && !DSLOTS_IS_NOT_NULL(obj))
|
|
||||||
DSLOTS_BUMP(obj);
|
|
||||||
} else {
|
} else {
|
||||||
/* Best we can do is to cache sprop (still a nice speedup). */
|
/* Best we can do is to cache sprop (still a nice speedup). */
|
||||||
vword = SPROP_TO_PCVAL(sprop);
|
vword = SPROP_TO_PCVAL(sprop);
|
||||||
|
@ -2168,6 +2168,8 @@ InitScopeForObject(JSContext* cx, JSObject* obj, JSObject* proto, JSObjectOps* o
|
|||||||
scope = OBJ_SCOPE(proto)->getEmptyScope(cx, clasp);
|
scope = OBJ_SCOPE(proto)->getEmptyScope(cx, clasp);
|
||||||
if (!scope)
|
if (!scope)
|
||||||
goto bad;
|
goto bad;
|
||||||
|
if (!DSLOTS_IS_NOT_NULL(obj))
|
||||||
|
DSLOTS_BUMP(obj);
|
||||||
} else {
|
} else {
|
||||||
scope = JSScope::create(cx, ops, clasp, obj, js_GenerateShape(cx, false));
|
scope = JSScope::create(cx, ops, clasp, obj, js_GenerateShape(cx, false));
|
||||||
if (!scope)
|
if (!scope)
|
||||||
|
Loading…
Reference in New Issue
Block a user