Closed
Bug 534378
Opened 15 years ago
Closed 10 years ago
eliminate guards that prevent overflows in otherwise dead expressions
Categories
(Core Graveyard :: Nanojit, defect)
Tracking
(Not tracked)
RESOLVED
WONTFIX
People
(Reporter: gal, Unassigned)
References
Details
Attachments
(1 file)
8.21 KB,
patch
|
Details | Diff | Splinter Review |
The expression a + b; is dead code. If we record it, we will speculate for an integer addition if a and b are both integers, and emit a guard that checks that no overflow occurs. This expression will never be dead, because the guard keeps it alive. However, the guard serves no purpose. Nobody really uses the value. The attached patch allows to flags guards as weak. I squirreled the weak flag into the GuardRecord for now. This should probably be encoded in the opcode instead (LIR_wxt/LIR_wxf?). When assembling a weak guard, we check whether any part of the condition expression is already live. If not, we don't emit the guard. This passes our tests and sunspider in a debug build. We get a recursion error in an OPT build on SS in controlflow-recursive. David .... help :)
Reporter | ||
Comment 1•15 years ago
|
||
Assignee: general → gal
Comment 2•15 years ago
|
||
Why not make all guards weak in this way? Nit: s/weather/whether/.
Reporter | ||
Comment 3•15 years ago
|
||
If a guard checks a shape, we can't just eliminate it. The guarded expression has to be pure.
Reporter | ||
Comment 4•15 years ago
|
||
Actually the patch didn't do this. This is broken in TM tip.
Comment 5•13 years ago
|
||
Edwin, does Nanojit want this?
Updated•13 years ago
|
Assignee: gal → nobody
Component: JavaScript Engine → Nanojit
QA Contact: general → nanojit
Summary: TM: eliminate guards that prevent overflows in otherwise dead expressions → eliminate guards that prevent overflows in otherwise dead expressions
Assignee | ||
Updated•10 years ago
|
Product: Core → Core Graveyard
Comment 6•10 years ago
|
||
Nanojit has been dead for several years. Its Bugzilla component has been moved to the graveyard (bug 984276). I checked all the open bugs. They're all uninteresting, so I'm WONTFIXing them all. Apologies for the bugspam.
Status: NEW → RESOLVED
Closed: 10 years ago
Resolution: --- → WONTFIX
You need to log in
before you can comment on or make changes to this bug.
Description
•