Last Comment Bug 770623 - IonMonkey: Use SSA for MBoundsCheck
: IonMonkey: Use SSA for MBoundsCheck
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
: -- normal (vote)
: ---
Assigned To: Jan de Mooij [:jandem]
:
Mentors:
Depends on:
Blocks: 722708
  Show dependency treegraph
 
Reported: 2012-07-03 12:07 PDT by Jan de Mooij [:jandem]
Modified: 2012-07-05 03:58 PDT (History)
2 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Patch (26.02 KB, patch)
2012-07-04 02:01 PDT, Jan de Mooij [:jandem]
dvander: review+
Details | Diff | Review

Description Jan de Mooij [:jandem] 2012-07-03 12:07:24 PDT
We should change MBoundsCheck to redefine the index, so that we can use SSA to track its dependencies.

Atm LICM/GVN guarantee a load/store is never moved before its bounds check so there's no problem, but this will change with bug 722708 (and it will help range analysis).
Comment 1 Jan de Mooij [:jandem] 2012-07-04 02:01:58 PDT
Created attachment 639005 [details] [diff] [review]
Patch

As discussed before, the main difficulty here was factoring out the redundant bounds check elimination from GVN into a new pass. The algorithm is similar to GVN (use a hash map to find dominating bounds checks) but I think it's nice to have it as a separate pass.
Comment 2 Jan de Mooij [:jandem] 2012-07-05 03:58:31 PDT
https://hg.mozilla.org/projects/ionmonkey/rev/950259d801c4

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