Closed
Bug 787292
Opened 12 years ago
Closed 12 years ago
IonMonkey: Faster x64 boxed loads/stores
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: sstangl, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
6.64 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
It's faster to perform 32-bit loads/stores than 64-bit loads/stores plus boxing overhead. This patch does the former where possible, equalizing perf with x86 on some microbenchmark roughly equivalent to bitwise-and.
Attachment #657106 -
Flags: review?(dvander)
Comment on attachment 657106 [details] [diff] [review] patch Review of attachment 657106 [details] [diff] [review]: ----------------------------------------------------------------- Nice catch. ::: js/src/ion/x64/MacroAssembler-x64.h @@ +83,5 @@ > } > > + // Refers to the upper 32 bits of a 64-bit Value operand. > + // On x86_64, the upper 32 bits do not necessarily only contain the type. > + Operand ToUpper32(Operand base) { static inline on these three
Attachment #657106 -
Flags: review?(dvander) → review+
Reporter | ||
Comment 2•12 years ago
|
||
http://hg.mozilla.org/projects/ionmonkey/rev/5059a4152b84
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Comment 3•12 years ago
|
||
One small issue here: you're failing a hundred tests on Win64. Unfortunately, those turn purple instead of orange on tbpl...
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Reporter | ||
Comment 4•12 years ago
|
||
http://hg.mozilla.org/projects/ionmonkey/rev/cb0450dcc3a3 Backed out to debug later when I have Windows around. The only probable source of failure is MSVC++ doing something stupid with the following function: > uint32_t Upper32Of(JSValueShiftedTag tag) { // 64-bit input > return (uint32_t)(tag >> 32); > }
Reporter | ||
Comment 5•12 years ago
|
||
http://hg.mozilla.org/projects/ionmonkey/rev/3fa0ad8ab5db Passed tryserver. MSVC++ apparently doesn't do sane things when you shift 64-bit datatypes.
Status: REOPENED → RESOLVED
Closed: 12 years ago → 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•