Last Comment Bug 725532 - IonMonkey: Handle JSOP_DEFVAR, JSOP_DEFCONST.
: IonMonkey: Handle JSOP_DEFVAR, JSOP_DEFCONST.
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
: -- normal (vote)
: ---
Assigned To: general
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-02-08 16:50 PST by Sean Stangl [:sstangl]
Modified: 2012-02-17 10:43 PST (History)
3 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Refactor DefVarOrConstoperation to be Ion-friendly. (3.64 KB, patch)
2012-02-13 16:23 PST, Sean Stangl [:sstangl]
jwalden+bmo: review+
Details | Diff | Review
Handle JSOP_DEFVAR and JSOP_DEFCONST (which are basically the same). (10.91 KB, patch)
2012-02-13 16:25 PST, Sean Stangl [:sstangl]
dvander: review+
Details | Diff | Review

Description Sean Stangl [:sstangl] 2012-02-08 16:50:17 PST
Handling JSOP_DEFVAR will halve the execution time of SS-1.0's 3d-morph.
Comment 1 Sean Stangl [:sstangl] 2012-02-13 16:23:26 PST
Created attachment 596842 [details] [diff] [review]
Refactor DefVarOrConstoperation to be Ion-friendly.

To land against m-i.
Comment 2 Sean Stangl [:sstangl] 2012-02-13 16:25:26 PST
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.
Comment 4 Marco Bonardo [::mak] 2012-02-16 03:07:10 PST
https://hg.mozilla.org/mozilla-central/rev/3c017b5fd4a5
Comment 5 David Anderson [:dvander] 2012-02-16 19:19:13 PST
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?)
Comment 6 Sean Stangl [:sstangl] 2012-02-17 10:43:46 PST
http://hg.mozilla.org/projects/ionmonkey/rev/99423ac24643

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