зеркало из https://github.com/mozilla/gecko-dev.git
Backed out changeset 5f64a0d18e53
This commit is contained in:
Родитель
085515db7e
Коммит
408d4afb78
|
@ -5020,8 +5020,6 @@ TraceRecorder::test_property_cache(JSObject* obj, LIns* obj_ins, JSObject*& obj2
|
|||
JS_ASSERT(cx->requestDepth);
|
||||
#endif
|
||||
|
||||
LIns* exit = snapshot(BRANCH_EXIT);
|
||||
|
||||
// Emit guard(s), common code for both hit and miss cases.
|
||||
// Check for first-level cache hit and guard on kshape if possible.
|
||||
// Otherwise guard on key object exact match.
|
||||
|
@ -5029,9 +5027,8 @@ TraceRecorder::test_property_cache(JSObject* obj, LIns* obj_ins, JSObject*& obj2
|
|||
if (aobj != globalObj) {
|
||||
LIns* shape_ins = addName(lir->insLoad(LIR_ld, map_ins, offsetof(JSScope, shape)),
|
||||
"shape");
|
||||
guard(true,
|
||||
addName(lir->ins2i(LIR_eq, shape_ins, entry->kshape), "guard(kshape)"),
|
||||
exit);
|
||||
guard(true, addName(lir->ins2i(LIR_eq, shape_ins, entry->kshape), "guard(kshape)"),
|
||||
MISMATCH_EXIT);
|
||||
}
|
||||
} else {
|
||||
#ifdef DEBUG
|
||||
|
@ -5043,9 +5040,8 @@ TraceRecorder::test_property_cache(JSObject* obj, LIns* obj_ins, JSObject*& obj2
|
|||
JS_ASSERT(entry->kshape == jsuword(aobj));
|
||||
#endif
|
||||
if (aobj != globalObj) {
|
||||
guard(true,
|
||||
addName(lir->ins2i(LIR_eq, obj_ins, entry->kshape), "guard(kobj)"),
|
||||
exit);
|
||||
guard(true, addName(lir->ins2i(LIR_eq, obj_ins, entry->kshape), "guard(kobj)"),
|
||||
MISMATCH_EXIT);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -5060,7 +5056,7 @@ TraceRecorder::test_property_cache(JSObject* obj, LIns* obj_ins, JSObject*& obj2
|
|||
if (PCVCAP_TAG(entry->vcap) == 1) {
|
||||
// Duplicate the special case in PROPERTY_CACHE_TEST.
|
||||
obj2_ins = stobj_get_fslot(obj_ins, JSSLOT_PROTO);
|
||||
guard(false, lir->ins_eq0(obj2_ins), exit);
|
||||
guard(false, lir->ins_eq0(obj2_ins), MISMATCH_EXIT);
|
||||
} else {
|
||||
obj2_ins = INS_CONSTPTR(obj2);
|
||||
}
|
||||
|
@ -5072,7 +5068,7 @@ TraceRecorder::test_property_cache(JSObject* obj, LIns* obj_ins, JSObject*& obj2
|
|||
"shape");
|
||||
guard(true,
|
||||
addName(lir->ins2i(LIR_eq, shape_ins, vshape), "guard(vshape)"),
|
||||
exit);
|
||||
MISMATCH_EXIT);
|
||||
}
|
||||
|
||||
pcval = entry->vword;
|
||||
|
|
Загрузка…
Ссылка в новой задаче