Last Comment Bug 662836 - JS_EvaluateUCInStackFrame should not be expected to extend all call objects
: JS_EvaluateUCInStackFrame should not be expected to extend all call objects
Status: RESOLVED FIXED
fixed-in-tracemonkey
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
: -- normal (vote)
: ---
Assigned To: Jim Blandy :jimb
: jsd
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2011-06-08 10:04 PDT by Jim Blandy :jimb
Modified: 2011-07-08 00:24 PDT (History)
2 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Don't require JS_EvaluateUCScriptInStackFrame to be able to extend call objects that the bytecode compiler didn't expect to be extensible. (2.36 KB, patch)
2011-06-08 10:07 PDT, Jim Blandy :jimb
dvander: review+
Details | Diff | Splinter Review

Description Jim Blandy :jimb 2011-06-08 10:04:13 PDT
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.
Comment 1 Jim Blandy :jimb 2011-06-08 10:07:39 PDT
Created attachment 538044 [details] [diff] [review]
Don't require JS_EvaluateUCScriptInStackFrame to be able to extend call objects that the bytecode compiler didn't expect to be extensible.
Comment 2 Jim Blandy :jimb 2011-06-08 12:12:14 PDT
http://hg.mozilla.org/tracemonkey/rev/af341b267fee

Note You need to log in before you can comment on or make changes to this bug.