Closed
Bug 678377
Opened 13 years ago
Closed 12 years ago
IonMonkey: LICM makes recursive calls
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla23
People
(Reporter: rpearl, Assigned: h4writer)
References
(Blocks 1 open bug)
Details
(Whiteboard: [ion:t])
Attachments
(2 files)
6.87 KB,
patch
|
bhackett1024
:
review+
|
Details | Diff | Splinter Review |
2.03 KB,
patch
|
bhackett1024
:
review+
|
Details | Diff | Splinter Review |
Loop::iterateLoopBlocks() makes non-tailcalls to Loop::iterateLoopBlocks() when this can be done without recursive calls. At the very least, an explicit stack should be used (to manage memory in a way that is OOM-safe), but it is possible that simply iterating over the blocks in the loop may be sufficient?
Comment 1•13 years ago
|
||
It was determined that you can't iterate over blocks in the loop because there's no guarantee on the range of block ids contained in the loop. You have to follow pred pointers. It would be easy to change this to an explicit stack though...
Updated•12 years ago
|
Whiteboard: [ion:t]
Assignee | ||
Comment 2•12 years ago
|
||
This removes the iterative way LICM worked. In the progress I also found a small fault, where we could iterate blocks multiple times and have the same instructions multiple times in the worklist.
Assignee: general → hv1989
Assignee | ||
Comment 3•12 years ago
|
||
Comment on attachment 742355 [details] [diff] [review]
Transform to use stack
s/iterative/recursief/
Attachment #742355 -
Flags: review?(bhackett1024)
Updated•12 years ago
|
Attachment #742355 -
Flags: review?(bhackett1024) → review+
Assignee | ||
Comment 4•12 years ago
|
||
Assignee | ||
Comment 5•12 years ago
|
||
Very stupid bug in this patch (i++ != i--).
In my quest I did find 2 extra fixes for wrong behavior of the original code.
Attachment #743029 -
Flags: review?(bhackett1024)
Updated•12 years ago
|
Attachment #743029 -
Flags: review?(bhackett1024) → review+
Assignee | ||
Comment 6•12 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/082445b83eba
https://hg.mozilla.org/mozilla-central/rev/827a95147b4f
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla23
You need to log in
before you can comment on or make changes to this bug.
Description
•