The default bug view has changed. See this FAQ.

JS_EvaluateUCInStackFrame should not be expected to extend all call objects

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: jimb, Assigned: jimb)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: fixed-in-tracemonkey)

Attachments

(1 attachment)

(Assignee)

Description

6 years ago
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.
(Assignee)

Comment 1

6 years ago
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.
Assignee: nobody → jimb
Attachment #538044 - Flags: review?(dvander)
Attachment #538044 - Flags: review?(dvander) → review+
(Assignee)

Comment 2

6 years ago
http://hg.mozilla.org/tracemonkey/rev/af341b267fee
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
Whiteboard: fixed-in-tracemonkey
Component: JavaScript Debugging/Profiling APIs → JavaScript Engine
Product: Core → Core
You need to log in before you can comment on or make changes to this bug.