Closed Bug 1056786 Opened 10 years ago Closed 10 years ago

Use EmulateStateOf to for ArrayState manipulation.

Categories

(Core :: JavaScript Engine: JIT, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla34

People

(Reporter: nbp, Assigned: nbp)

References

Details

Attachments

(1 file)

      No description provided.
Attachment #8476640 - Flags: review?(jdemooij)
Comment on attachment 8476640 [details] [diff] [review]
Use EmulateStateOf with an ArrayMemoryView.

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

Looks good, nice refactoring!

::: js/src/jit/ScalarReplacement.cpp
@@ +659,5 @@
> +    MConstant *undefinedVal_;
> +    MConstant *length_;
> +    MInstruction *arr_;
> +    MBasicBlock *startBlock_;
> +    BlockState *state_;

Do you think it'd be worth adding a common base class for this class and ObjectMemoryView, and moving these members into it?
Attachment #8476640 - Flags: review?(jdemooij) → review+
(In reply to Jan de Mooij [:jandem] from comment #2)
> ::: js/src/jit/ScalarReplacement.cpp
> @@ +659,5 @@
> > +    MConstant *undefinedVal_;
> > +    MConstant *length_;
> > +    MInstruction *arr_;
> > +    MBasicBlock *startBlock_;
> > +    BlockState *state_;
> 
> Do you think it'd be worth adding a common base class for this class and
> ObjectMemoryView, and moving these members into it?

Hum … right we could share the startBlock and the undefinedVal initialization, but we would need a common interface to on the variable parts of the block states.  Still, I think it makes sense, but I don't think it make sense for AliasAnalysis to have it in EmulateStateOf, as alias analysis is dealing with multiple objects at once.
https://hg.mozilla.org/mozilla-central/rev/d0dd7f70b560
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: