Closed Bug 608355 Opened 15 years ago Closed 13 years ago

JM is slow on ai-astar on 64-bit

Categories

(Core :: JavaScript Engine, defect)

x86
macOS
defect
Not set
normal

Tracking

()

RESOLVED INVALID

People

(Reporter: bzbarsky, Unassigned)

Details

Attachments

(1 file)

460.64 KB, application/x-javascript
Details
Attached file Testcase
On Mac, I see times around 1s for -j and -m on the attached testcase in 32-bit shell, and for -j in 64-bit shell. The 64-bit -m time is 2.5s.
My profiler tells me "all your time are belong to mjit-generated gunk I know nothing about"
Er, make that 1.5s for -m; I presumably had a somewhat old shell build... That would match billm's times on Linux too.
Though if I believe shark, then the majority of the time is spent on exactly three instructions: 0x1003f0c97 add byte ptr [r8], al 0x1003f0cb1 add byte ptr [r8], r8b 0x1003f1717 sldt qword ptr [rax] Those add up to 75% of the time, is the claim, with another 3% at: 0x1003f0ca9 add byte ptr [r8], r8b and then a long tail.
On 32-bit, there are only two hot instructions: 0x3ff8a1 mov eax, dword ptr [eax] 0x3ff88c add dword ptr [eax], dword 301026508
Running this in 64-bit TM, I get these as the two hot instructions: 0x1003f6ee0 add byte ptr [rax], r8b 0x1003f6ed0 add byte ptr [rax], al So the same thing, but with rax instead of r8, and without sldt....
And the 32-bit TM, for completeness: 0x5d2345 add dword ptr [eax], dword 266174464 0x5d2333 add dword ptr [eax], dword 163164979 I dunno how much I trust this data at this point.... ;)
JM isn't slow at anything, anymore.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → INVALID
Indeed. For what it's worth, we're 2x faster than V8 on the attached testcase. ;)
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: