Closed
Bug 456431
Opened 16 years ago
Closed 16 years ago
TM: Support thin loops (iteration < 2) by closing the loop even if we are on the last iteration.
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
VERIFIED
FIXED
People
(Reporter: gal, Assigned: gal)
References
Details
(Keywords: testcase, verified1.9.1)
Attachments
(1 file, 6 obsolete files)
8.72 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
No description provided.
Assignee | ||
Comment 1•16 years ago
|
||
Comment 4•16 years ago
|
||
TraceMonkey performance improvement == Wanted for 1.9.1!
Flags: wanted1.9.1?
Comment 5•16 years ago
|
||
From my understanding this should block as its predecessor (bug 454556 which was resolved fixed?) was a blocker, requesting blocking 1.9.1?
Flags: blocking1.9.1?
Assignee | ||
Comment 6•16 years ago
|
||
This bug is on top of my list atm, so blocking or not it will get done pretty soon.
Attachment #339829 -
Attachment is obsolete: true
Assignee | ||
Comment 7•16 years ago
|
||
Attachment #342192 -
Attachment is obsolete: true
Assignee | ||
Updated•16 years ago
|
Attachment #342207 -
Attachment is patch: true
Attachment #342207 -
Attachment mime type: application/octet-stream → text/plain
Assignee | ||
Comment 8•16 years ago
|
||
Another update. We pass some simple test-cases now but iloop on this one: function testDivisionFloat() { var a = 32768; var b; while (b !== 1) { b = a >> 1; a = b; } return a === 1; } testDivisionFloat(); Needs a bit more debugging.
Attachment #342207 -
Attachment is obsolete: true
Assignee | ||
Comment 9•16 years ago
|
||
Working patch. We trace a new loop in xparb which exposes a bug (we don't blacklist on unstable loop types, separate bug & patch to follow for that).
Attachment #342213 -
Attachment is obsolete: true
Assignee | ||
Comment 10•16 years ago
|
||
This patch also removes outerlining which is no longer necessary.
Assignee | ||
Comment 11•16 years ago
|
||
With 459174 the patch works now. fannkuch regresses by 20ms. nbody speeds up by 10ms. Multi trees might affect this numbers. I am tempted to push since this patch removes reliance on outerlining for thin loops, and it might help the multi tree patch gain back the current perf losses.
Assignee | ||
Comment 12•16 years ago
|
||
Attachment #342371 -
Attachment is obsolete: true
Attachment #342380 -
Flags: review?(danderson)
Assignee | ||
Updated•16 years ago
|
Attachment #342380 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 13•16 years ago
|
||
Asking bz for additional review since I touch his test in trace-tests. Will commit without his nod, just want to make sure he sees what I changed.
Assignee | ||
Comment 14•16 years ago
|
||
Attachment #342380 -
Attachment is obsolete: true
Attachment #342388 -
Flags: review?(danderson)
Attachment #342380 -
Flags: review?(danderson)
Attachment #342380 -
Flags: review?(bzbarsky)
Updated•16 years ago
|
Attachment #342388 -
Flags: review?(danderson) → review+
Comment on attachment 342388 [details] [diff] [review] removed unused negate argument Will be very nice to have this -- r=me with silly nits >+static bool >+js_isLoopEdge(jsbytecode* pc, jsbytecode* header) Capitalize "is" for consistency maybe. >+ void trackLoopEdges(); Is that still needed or is it dead?
Assignee | ||
Comment 16•16 years ago
|
||
http://hg.mozilla.org/tracemonkey/rev/d0ef66f15333
Assignee | ||
Updated•16 years ago
|
Status: ASSIGNED → RESOLVED
Closed: 16 years ago
Resolution: --- → FIXED
Comment 17•16 years ago
|
||
already in j1_8_1/trace/trace-test.js
Flags: in-testsuite+
Flags: in-litmus-
Updated•16 years ago
|
Flags: wanted1.9.1?
Flags: wanted1.9.1+
Flags: blocking1.9.1?
Flags: blocking1.9.1+
Updated•16 years ago
|
Flags: wanted1.9.1+
Keywords: fixed1.9.1
Comment 19•15 years ago
|
||
v 1.9.1, 1.9.2
Status: RESOLVED → VERIFIED
Keywords: fixed1.9.1 → verified1.9.1
You need to log in
before you can comment on or make changes to this bug.
Description
•