Optimize SIMD in IonMonkey




JavaScript Engine: JIT
4 years ago
a year ago


(Reporter: evilpie, Unassigned)


(Depends on: 4 bugs, Blocks: 1 bug)

Firefox Tracking Flags

(Not tracked)




4 years ago
IonMonkey should when possible match Odinmonkey in code quality when using SIMD.
Is anyone taking this?

(In reply to Brendan Eich [:brendan] from comment #1)
> Is anyone taking this?
> /be

My plan is to work on this once full support has been added in OdinMonkey / asm.js, meaning all operations which are in the polyfill and in the interpreter should also be implemented in Odin, at least. As the compilation backend is shared by Odin and Ion, this should probably help and makes sense in my head. Some of the Ion work already has been done in bug 947711, fwiw (maybe we should dup?), but the patches probably bitrotted and can't be applied anymore now.

Thinking about it, adding support for the SIMD operations can be done in parallel with adding (partial) JIT support. What should be needed:
- Support for ARM:
  - generalize regalloc to handle aliased registers, see bug 1052384
  - implement backend for ARM
- Make sure to align the stack pointer at all times (funny times ahead).
- Support for bailouts and so on.
- Probably other things I am not really aware of, like TI and IonBuilder.
We prioritized Odin and x86 to make the IDC14 demo deadline. The team will divy the IonMonkey and ARM work over the next few releases. My goal is to have equality in JS with Asm before end of year and keep up with spec changes from there.


3 years ago
Depends on: 1109911
Depends on: 1133565
Depends on: 1124205
Depends on: 1136226
Depends on: 1206672
Depends on: 1218513
Depends on: 1240796
Depends on: 1238679


2 years ago
Depends on: 1244117
Priority: -- → P5
You need to log in before you can comment on or make changes to this bug.