Closed Bug 787292 Opened 14 years ago Closed 14 years ago

IonMonkey: Faster x64 boxed loads/stores

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: sstangl, Unassigned)

References

(Blocks 1 open bug)

Details

Attachments

(1 file)

Attached patch patch — — 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+
Status: NEW → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
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 → ---
Depends on: 787735
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); > }
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: 14 years ago → 14 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: