Closed Bug 511256 Opened 15 years ago Closed 14 years ago

unnecessary pessimism when emitting in the global scope

Categories

(Core :: JavaScript Engine, defect)

x86
Linux
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: luke, Unassigned)

Details

Currently, when emitting an array in the global scope, we have to pessimistically use JSOP_NEWINIT instead of JSOP_NEWARRAY because we do not yet know how many globals will be sitting underneath the stack and whether we will cause a stack depth overflow. This is the source of the slowdown in bug 171262 comment 24. Another instance of the same problem came up with the new JSOP_CONCATN in bug 419743. This pessimism could be avoided if the global-fixup pass done by compileScript took into account the immediate operand of JSOP_NEWARRAY and JSOP_CONCATN to detect the overflow thereby allowing these operands to be safely emitted.
I think this has since been fixed by bhackett's array init changes.
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.