Closed
Bug 777383
Opened 12 years ago
Closed 12 years ago
TI: Don't add undefined type to property reads before test instructions
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: jandem, Assigned: jandem)
References
Details
(Whiteboard: [js:t])
Attachments
(1 file)
(deleted),
patch
|
bhackett1024
:
review+
|
Details | Diff | Splinter Review |
TI currently adds the undefined type to property access ops (getprop, getelem, getgname etc) occurring before certain test ops (ifeq, typeof etc). This is an old optimization for property existence tests (hg annotate points to the first TI import).
Nowadays, this doesn't help us on SS/V8/Kraken and hurts us in some common cases. After removing it, the micro-benchmark below drops from 60 ms to 9 ms with JM (smaller win with Ion because it handles more cases inline).
var x = 0;
function f(o) {
for (var i=0; i<10000000; i++) {
if (x) x = 1;
}
}
var t = new Date;
f();
print(new Date - t);
Assignee | ||
Comment 1•12 years ago
|
||
Attachment #645812 -
Flags: review?(bhackett1024)
Updated•12 years ago
|
Attachment #645812 -
Flags: review?(bhackett1024) → review+
Assignee | ||
Comment 2•12 years ago
|
||
Target Milestone: --- → mozilla17
Assignee | ||
Comment 3•12 years ago
|
||
Backed out for a SS bits-in-byte regression on AWFY 64-bit (which I can't reproduce btw):
https://hg.mozilla.org/integration/mozilla-inbound/rev/92f34cddc5a6
Target Milestone: mozilla17 → ---
Updated•12 years ago
|
Whiteboard: [js:t]
Assignee | ||
Comment 4•12 years ago
|
||
Pushed to IonMonkey:
https://hg.mozilla.org/projects/ionmonkey/rev/27041e19db87
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•