mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 541255 - "Assertion failure: obj->isDenseArray(), at ../jsarray.cpp". r=brendan.
This commit is contained in:
parent
75ca35caf0
commit
e5a722c5a8
@ -1588,7 +1588,7 @@ js_GetUpvar(JSContext *cx, uintN level, uintN cookie)
|
||||
uintN slot = UPVAR_FRAME_SLOT(cookie);
|
||||
jsval *vp;
|
||||
|
||||
if (!fp->fun) {
|
||||
if (!fp->fun || (fp->flags & JSFRAME_EVAL)) {
|
||||
vp = fp->slots + fp->script->nfixed;
|
||||
} else if (slot < fp->fun->nargs) {
|
||||
vp = fp->argv;
|
||||
|
@ -12213,7 +12213,7 @@ TraceRecorder::upvar(JSScript* script, JSUpvarArray* uva, uintN index, jsval& v)
|
||||
JSStackFrame* fp = cx->display[level];
|
||||
const CallInfo* ci;
|
||||
int32 slot;
|
||||
if (!fp->fun) {
|
||||
if (!fp->fun || (fp->flags & JSFRAME_EVAL)) {
|
||||
ci = &GetUpvarStackOnTrace_ci;
|
||||
slot = cookieSlot;
|
||||
} else if (cookieSlot < fp->fun->nargs) {
|
||||
|
@ -1,4 +1,9 @@
|
||||
url-prefix ../../jsreftest.html?test=js1_8_5/regress/
|
||||
fails script regress-533876.js
|
||||
script regress-541255-0.js
|
||||
script regress-541255-1.js
|
||||
script regress-541255-2.js
|
||||
script regress-541255-3.js
|
||||
script regress-541255-4.js
|
||||
script regress-541455.js
|
||||
script regress-546615.js
|
||||
|
14
js/src/tests/js1_8_5/regress/regress-541255-0.js
Normal file
14
js/src/tests/js1_8_5/regress/regress-541255-0.js
Normal file
@ -0,0 +1,14 @@
|
||||
/*
|
||||
* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/
|
||||
* Contributor: Gary Kwong
|
||||
*/
|
||||
(function(e) {
|
||||
eval("\
|
||||
[(function() {\
|
||||
x.k = function(){}\
|
||||
})() \
|
||||
for (x in [0])]\
|
||||
")
|
||||
})();
|
||||
print(" PASSED!");
|
23
js/src/tests/js1_8_5/regress/regress-541255-1.js
Normal file
23
js/src/tests/js1_8_5/regress/regress-541255-1.js
Normal file
@ -0,0 +1,23 @@
|
||||
/*
|
||||
* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/
|
||||
* Contributor: Gary Kwong
|
||||
*/
|
||||
|
||||
function f(e) {
|
||||
eval("\
|
||||
[((function g(o, bbbbbb) {\
|
||||
if (aaaaaa = bbbbbb) {\
|
||||
return window.r = []\
|
||||
}\
|
||||
g(aaaaaa, bbbbbb + 1);\
|
||||
#3={}\
|
||||
})([], 0)) \
|
||||
for (window in this) \
|
||||
for each(x in [0, 0])\
|
||||
]\
|
||||
")
|
||||
}
|
||||
t = 1;
|
||||
f();
|
||||
print(" PASSED!");
|
11
js/src/tests/js1_8_5/regress/regress-541255-2.js
Normal file
11
js/src/tests/js1_8_5/regress/regress-541255-2.js
Normal file
@ -0,0 +1,11 @@
|
||||
/*
|
||||
* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/
|
||||
* Contributors: Gary Kwong and Jason Orendorff
|
||||
*/
|
||||
|
||||
function f(e) {
|
||||
eval("[function () { w.r = 0 }() for (w in [0])]")
|
||||
}
|
||||
f(0);
|
||||
print(" PASSED!");
|
13
js/src/tests/js1_8_5/regress/regress-541255-3.js
Normal file
13
js/src/tests/js1_8_5/regress/regress-541255-3.js
Normal file
@ -0,0 +1,13 @@
|
||||
/*
|
||||
* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/
|
||||
* Contributors: Gary Kwong and Jason Orendorff
|
||||
*/
|
||||
|
||||
function f(y) {
|
||||
eval("let (z=2, w=y) { (function () { w.p = 7; })(); }");
|
||||
}
|
||||
var x = {};
|
||||
f(x);
|
||||
assertEq(x.p, 7);
|
||||
print(" PASSED!");
|
11
js/src/tests/js1_8_5/regress/regress-541255-4.js
Normal file
11
js/src/tests/js1_8_5/regress/regress-541255-4.js
Normal file
@ -0,0 +1,11 @@
|
||||
/*
|
||||
* Any copyright is dedicated to the Public Domain.
|
||||
* http://creativecommons.org/licenses/publicdomain/
|
||||
* Contributors: Gary Kwong and Jason Orendorff
|
||||
*/
|
||||
|
||||
function f(e) {
|
||||
eval("[function () { w.r = 0 }() for (w in [0,1,2,3,4,5,6,7,8,9])]")
|
||||
}
|
||||
f(0);
|
||||
print(" PASSED!");
|
Loading…
Reference in New Issue
Block a user