If you think a bug might affect users in the 57 release, please set the correct tracking and status flags for Release Management.

Improve TypeObjectDispatch with one case

RESOLVED FIXED in mozilla34

Status

()

Core
JavaScript Engine: JIT
RESOLVED FIXED
3 years ago
3 years ago

People

(Reporter: h4writer, Assigned: h4writer)

Tracking

unspecified
mozilla34
x86_64
Linux
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

3 years ago
For MTypeObjectDispatch's with 1 case we generate:

> 0xb793e9b1:  mov    0x4(%ebp),%edx
> 0xb793e9b4:  cmp    $0xb512ca40,%edx
> 0xb793e9ba:  je     0xb793e9c6
> 0xb793e9c0:  jmp    0xb793f16a
> 0xb793e9c6:  ...

Just like we do in "guardObjectType", we can decide to flip the cmp/je. That way we can remove a jump (if the block we are jumping to is the next block):

> 0xb793e9b1:  mov    0x4(%ebp),%edx
> 0xb793e9b4:  cmp    $0xb512ca40,%edx
> 0xb793e9ba:  jne    0xb793f164
> 0xb793e9c0:  ...

This happens in deltablue. No major gains though.
(Assignee)

Comment 1

3 years ago
Created attachment 8457855 [details] [diff] [review]
Patch
Assignee: nobody → hv1989
Attachment #8457855 - Flags: review?(jdemooij)

Updated

3 years ago
Attachment #8457855 - Flags: review?(jdemooij) → review+
(Assignee)

Comment 2

3 years ago
https://hg.mozilla.org/integration/mozilla-inbound/rev/099c3edf515a
https://hg.mozilla.org/mozilla-central/rev/099c3edf515a
Status: NEW → RESOLVED
Last Resolved: 3 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla34
You need to log in before you can comment on or make changes to this bug.