IonMonkey: Handle JSOP_DEFVAR, JSOP_DEFCONST.

RESOLVED FIXED

Status

()

Core
JavaScript Engine
RESOLVED FIXED
6 years ago
6 years ago

People

(Reporter: sstangl, Unassigned)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Reporter)

Description

6 years ago
Handling JSOP_DEFVAR will halve the execution time of SS-1.0's 3d-morph.
(Reporter)

Comment 1

6 years ago
Created attachment 596842 [details] [diff] [review]
Refactor DefVarOrConstoperation to be Ion-friendly.

To land against m-i.
Attachment #596842 - Flags: review?(jwalden+bmo)
(Reporter)

Comment 2

6 years ago
Created attachment 596845 [details] [diff] [review]
Handle JSOP_DEFVAR and JSOP_DEFCONST (which are basically the same).

We don't handle isEvalFrame() yet -- that changes the |attrs| variable passed to DefVarOrConstOperation(). Notes were left to make sure this isn't accidentally overlooked in the future.
Attachment #596845 - Flags: review?(dvander)
Attachment #596842 - Flags: review?(jwalden+bmo) → review+
(Reporter)

Comment 3

6 years ago
http://hg.mozilla.org/integration/mozilla-inbound/rev/3c017b5fd4a5
https://hg.mozilla.org/mozilla-central/rev/3c017b5fd4a5
Comment on attachment 596845 [details] [diff] [review]
Handle JSOP_DEFVAR and JSOP_DEFCONST (which are basically the same).

Review of attachment 596845 [details] [diff] [review]:
-----------------------------------------------------------------

::: js/src/ion/IonBuilder.cpp
@@ +3623,5 @@
> +    PropertyName *name = script->getName(index);
> +
> +    // Bake in attrs.
> +    uintN attrs = JSPROP_ENUMERATE;
> +    // TODO: if isEvalFrame(), then attrs |= JSPROP_PERMANENT.

change :TODO: to an assert or something (or add a test case that would fail?)
Attachment #596845 - Flags: review?(dvander) → review+
(Reporter)

Comment 6

6 years ago
http://hg.mozilla.org/projects/ionmonkey/rev/99423ac24643
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.