don't decompose the inc/dec ALIASEDVAR ops

RESOLVED WONTFIX

Status

()

Core
JavaScript Engine
RESOLVED WONTFIX
6 years ago
6 years ago

People

(Reporter: luke, Assigned: luke)

Tracking

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

6 years ago
Created attachment 630907 [details] [diff] [review]
patch

I used JOF_DECOMPOSE because I thought it would simplify a few things, but I see now that it's slightly more complicated.  Also, decomposing ops wastes like 40 bytes per inc/dec and is annoying to read in disasm spew.
Attachment #630907 - Flags: review?(bhackett1024)
(Assignee)

Updated

6 years ago
Assignee: general → luke
It's actually really annoying to implement INC/DEC opcodes in IonMonkey. I'd prefer if we could keep them decomposed (and I'd like to see the same happen to INCLOCAL etc someday too).

See: https://hg.mozilla.org/projects/ionmonkey/file/8acbac4d6cfd/js/src/ion/IonBuilder.cpp#l3078 for an example of what we have to do for INCLOCAL, and handling anything more complex than int/doubles is even worse.

Note even v8 breaks these down at the AST level, by creating multiple AST IDs for a single node (since an AST ID is basically our jsbytecode *).
Actually, it wouldn't be the end of the world to remove decomposition for this op... local is mostly annoying because it has to use SSA names, whereas aliased vars don't, and aliased var fetching is idempotent unlike incprop/name/elem.
(Assignee)

Updated

6 years ago
Attachment #630907 - Flags: review?(bhackett1024)
(Assignee)

Comment 3

6 years ago
Fair enough
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → WONTFIX
You need to log in before you can comment on or make changes to this bug.