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.
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.
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.