mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 486578 - TM: "Assertion failure: scope->object == pobj" with function, __proto__, length. r=gal
This commit is contained in:
parent
fa2e6466b2
commit
14e879800f
@ -5933,6 +5933,11 @@ TraceRecorder::test_property_cache(JSObject* obj, LIns* obj_ins, JSObject*& obj2
|
||||
ABORT_TRACE("failed to lookup property");
|
||||
|
||||
if (prop) {
|
||||
if (!OBJ_IS_NATIVE(obj2)) {
|
||||
OBJ_DROP_PROPERTY(cx, obj2, prop);
|
||||
ABORT_TRACE("property found on non-native object");
|
||||
}
|
||||
|
||||
js_FillPropertyCache(cx, aobj, OBJ_SHAPE(aobj), 0, protoIndex, obj2,
|
||||
(JSScopeProperty*) prop, &entry);
|
||||
}
|
||||
|
@ -4790,6 +4790,28 @@ testNewWithNonNativeProto.jitstats = {
|
||||
};
|
||||
test(testNewWithNonNativeProto);
|
||||
|
||||
function testLengthOnNonNativeProto()
|
||||
{
|
||||
var o = {};
|
||||
o.__proto__ = [3];
|
||||
for (var j = 0; j < 5; j++)
|
||||
o[0];
|
||||
|
||||
var o2 = {};
|
||||
o2.__proto__ = [];
|
||||
for (var j = 0; j < 5; j++)
|
||||
o2.length;
|
||||
|
||||
function foo() { }
|
||||
foo.__proto__ = [];
|
||||
for (var j = 0; j < 5; j++)
|
||||
foo.length;
|
||||
|
||||
return "no assertion";
|
||||
}
|
||||
testLengthOnNonNativeProto.expected = "no assertion";
|
||||
test(testLengthOnNonNativeProto);
|
||||
|
||||
|
||||
/*****************************************************************************
|
||||
* *
|
||||
|
Loading…
Reference in New Issue
Block a user