Backed out changeset 5f64a0d18e53

This commit is contained in:
Andreas Gal 2008-12-12 17:04:32 -08:00
Родитель 085515db7e
Коммит 408d4afb78
1 изменённых файлов: 6 добавлений и 10 удалений

Просмотреть файл

@ -5020,8 +5020,6 @@ TraceRecorder::test_property_cache(JSObject* obj, LIns* obj_ins, JSObject*& obj2
JS_ASSERT(cx->requestDepth); JS_ASSERT(cx->requestDepth);
#endif #endif
LIns* exit = snapshot(BRANCH_EXIT);
// Emit guard(s), common code for both hit and miss cases. // Emit guard(s), common code for both hit and miss cases.
// Check for first-level cache hit and guard on kshape if possible. // Check for first-level cache hit and guard on kshape if possible.
// Otherwise guard on key object exact match. // 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) { if (aobj != globalObj) {
LIns* shape_ins = addName(lir->insLoad(LIR_ld, map_ins, offsetof(JSScope, shape)), LIns* shape_ins = addName(lir->insLoad(LIR_ld, map_ins, offsetof(JSScope, shape)),
"shape"); "shape");
guard(true, guard(true, addName(lir->ins2i(LIR_eq, shape_ins, entry->kshape), "guard(kshape)"),
addName(lir->ins2i(LIR_eq, shape_ins, entry->kshape), "guard(kshape)"), MISMATCH_EXIT);
exit);
} }
} else { } else {
#ifdef DEBUG #ifdef DEBUG
@ -5043,9 +5040,8 @@ TraceRecorder::test_property_cache(JSObject* obj, LIns* obj_ins, JSObject*& obj2
JS_ASSERT(entry->kshape == jsuword(aobj)); JS_ASSERT(entry->kshape == jsuword(aobj));
#endif #endif
if (aobj != globalObj) { if (aobj != globalObj) {
guard(true, guard(true, addName(lir->ins2i(LIR_eq, obj_ins, entry->kshape), "guard(kobj)"),
addName(lir->ins2i(LIR_eq, obj_ins, entry->kshape), "guard(kobj)"), MISMATCH_EXIT);
exit);
} }
} }
@ -5060,7 +5056,7 @@ TraceRecorder::test_property_cache(JSObject* obj, LIns* obj_ins, JSObject*& obj2
if (PCVCAP_TAG(entry->vcap) == 1) { if (PCVCAP_TAG(entry->vcap) == 1) {
// Duplicate the special case in PROPERTY_CACHE_TEST. // Duplicate the special case in PROPERTY_CACHE_TEST.
obj2_ins = stobj_get_fslot(obj_ins, JSSLOT_PROTO); 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 { } else {
obj2_ins = INS_CONSTPTR(obj2); obj2_ins = INS_CONSTPTR(obj2);
} }
@ -5072,7 +5068,7 @@ TraceRecorder::test_property_cache(JSObject* obj, LIns* obj_ins, JSObject*& obj2
"shape"); "shape");
guard(true, guard(true,
addName(lir->ins2i(LIR_eq, shape_ins, vshape), "guard(vshape)"), addName(lir->ins2i(LIR_eq, shape_ins, vshape), "guard(vshape)"),
exit); MISMATCH_EXIT);
} }
pcval = entry->vword; pcval = entry->vword;