On 10/17/2012 10:01 PM, Nicholas Nethercote wrote:
On Thu, Oct 18, 2012 at 1:29 PM, Brendan Eich<[email protected]>  wrote:
$ ./Darwin_DBG.OBJ/js -f tests/shell.js -f tests/js1_8/shell.js -f
tests/js1_8/genexps/shell.js -f tests/js1_8/genexps/regress-380237-01.js -
BUGNUMBER: 380237
STATUS: Generator expressions - sudoku
4 8 3 |9 2 1 |6 5 7
9 6 7 |3 4 5 |8 2 1
2 5 1 |8 7 6 |4 9 3
------+------+------
5 4 8 |1 3 2 |9 7 6
7 2 9 |5 6 4 |1 3 8
1 3 6 |7 9 8 |2 4 5
------+------+------
3 7 2 |6 8 9 |5 1 4
8 1 4 |2 5 3 |7 6 9
6 9 5 |4 1 7 |3 8 2


tests/js1_8/genexps/regress-380237-01.js:131:0 InternalError: too much
recursion

Terrence and I have had problems with that one before.  IIRC the test
has some bogosity about it, but I don't remember the details --
Terrence, do you?

The problem is that with IonMonkey we have moved a lot of things to inline functions, and adding these functions seems to have increase the size of the interpreter frame by “a lot”. This test case creating a lot of interpreter frames to handle the generators and fail after 17 frames (to verify) of the interpreter.

The problem is that gcc give-up on optimizing the interpreter variables and seems to just append each local variable of each inline functions to the set of existing local variable of the interpreter. I guess one option my be to remove the “inline” keyword of jsinterpinline.h and see the impact on performances, or find another way to handle errors in the interpreter such as gcc does not give-up on optimizations.

--
Nicolas B. Pierron
_______________________________________________
dev-tech-js-engine-internals mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-tech-js-engine-internals

Reply via email to