Currently failing jit-test/tests/basic/bug532823.js and a bunch of others. We take the following bailout and then die in the interpreter with some bogus jsval.
Current resume point 0x858d0d8 details:
taken at block 3 entry
[Snapshots] Generating LIR snapshot 0x8591d20 from MIR (0x858d0d8)
[Snapshots] Assigning snapshot 0x8591d20 to instruction 0x8591ce0 (callgeneric)
[Snapshots] Encoding snapshot 0x8591d20 (nfixed 4) (exprStack 0)
[Snapshots] slot 0: value (t=144, d=140)
[Snapshots] slot 1: value (t=152, d=edi)
[Snapshots] slot 2: value (t=124, d=120)
[Snapshots] slot 3: int32 (stack 108)
[Snapshots] total size: 24 bytes (start 18)
Created attachment 566700 [details] [diff] [review]
This fixes almost all of the failures. The snapshot has to be filled at the bottom of the instruction, not the top. This isn't ideal, it'll introduce more spills, but at least it's correct.