Closed Bug 662836 Opened 11 years ago Closed 11 years ago

JS_EvaluateUCInStackFrame should not be expected to extend all call objects

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: jimb, Assigned: jimb)

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 file)

At the moment, we have tests that expect JS_EvaluateUCInStackFrame to be able to extend call objects of arbitrary functions:

js/src/jit-test/tests/jaeger/bug563000/eif-call-newvar.js
js/src/jit-test/tests/jaeger/bug563000/eif-getter-newvar.js
js/src/jit-test/tests/jaeger/bug563000/eif-trap-newvar.js

Implementing this in all cases requires retaining enough information to undo all the def/use analysis the bytecode compiler does, possibly re-instating scope objects that don't exist any more on closures' scope chains, and so on. This is impractical.

We should, however, verify that JS_EvaluateUCInStackFrame can extend the global and extensible call objects --- that is, in cases where the bytecode compiler has given up on binding analysis already.
Attachment #538044 - Flags: review?(dvander) → review+
http://hg.mozilla.org/tracemonkey/rev/af341b267fee
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → FIXED
Whiteboard: fixed-in-tracemonkey
Component: JavaScript Debugging/Profiling APIs → JavaScript Engine
You need to log in before you can comment on or make changes to this bug.