Closed Bug 825892 Opened 12 years ago Closed 12 years ago

rm JSOP_LOOKUPSWITCH

Categories

(Core :: JavaScript Engine, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla20

People

(Reporter: jandem, Assigned: jandem)

References

Details

Attachments

(1 file)

Compiling LOOKUPSWITCH is complicated, and this op hurts JIT performance more than it helps:

* IonMonkey compiles LOOKUPSWITCH and CONDSWITCH to the same MIR. Handling these ops adds a lot of complexity to IonBuilder.

* JM(+TI) always stubs LOOKUPSWITCH and usually spends a lot of time in FindNativeCode. Without LOOKUPSWITCH we'd use CONDSWITCH/CASE/DEFAULT and in many cases these are faster because they can avoid stub calls.

* Efficiently compiling LOOKUPSWITCH in the new baseline compiler is also not trivial, especially compared to CONDSWITCH/CASE which can just use the existing equality IC.
Blocks: 825599
Depends on: 825966
18 files changed, 68 insertions(+), 722 deletions(-)
Attachment #697110 - Flags: review?(bhackett1024)
Comment on attachment 697110 [details] [diff] [review]
Remove JSOP_LOOKUPSWITCH

Review of attachment 697110 [details] [diff] [review]:
-----------------------------------------------------------------

Nice!
Attachment #697110 - Flags: review?(bhackett1024) → review+
https://hg.mozilla.org/mozilla-central/rev/c0e7cc40f356
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla20
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: