Bug 208259
| Summary: | Air O0 shouldn't spill all callee saves | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Saam Barati <saam> |
| Component: | JavaScriptCore | Assignee: | Saam Barati <saam> |
| Status: | NEW | ||
| Severity: | Normal | CC: | fpizlo, msaboff, tzagallo |
| Priority: | P2 | ||
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Saam Barati
Not sure what to do, maybe emit a nop sled, or maybe emit out of line jump, but it's silly what we do on arm64:
prologue:
0xfaec70010: stur x19, [fp, #-144]
0xfaec70014: stur x20, [fp, #-136]
0xfaec70018: stur x21, [fp, #-128]
0xfaec7001c: stur x22, [fp, #-120]
0xfaec70020: stur x23, [fp, #-112]
0xfaec70024: stur x24, [fp, #-104]
0xfaec70028: stur x25, [fp, #-96]
0xfaec7002c: stur x26, [fp, #-88]
0xfaec70030: stur x27, [fp, #-80]
0xfaec70034: stur x28, [fp, #-72]
0xfaec70038: stur d8, [fp, #-64]
0xfaec7003c: stur d9, [fp, #-56]
0xfaec70040: stur d10, [fp, #-48]
0xfaec70044: stur d11, [fp, #-40]
0xfaec70048: stur d12, [fp, #-32]
0xfaec7004c: stur d13, [fp, #-24]
0xfaec70050: stur d14, [fp, #-16]
0xfaec70054: stur d15, [fp, #-8]
epilogue:
0xfaec70060: ldur x19, [fp, #-144]
0xfaec70064: ldur x20, [fp, #-136]
0xfaec70068: ldur x21, [fp, #-128]
0xfaec7006c: ldur x22, [fp, #-120]
0xfaec70070: ldur x23, [fp, #-112]
0xfaec70074: ldur x24, [fp, #-104]
0xfaec70078: ldur x25, [fp, #-96]
0xfaec7007c: ldur x26, [fp, #-88]
0xfaec70080: ldur x27, [fp, #-80]
0xfaec70084: ldur x28, [fp, #-72]
0xfaec70088: ldur d8, [fp, #-64]
0xfaec7008c: ldur d9, [fp, #-56]
0xfaec70090: ldur d10, [fp, #-48]
0xfaec70094: ldur d11, [fp, #-40]
0xfaec70098: ldur d12, [fp, #-32]
0xfaec7009c: ldur d13, [fp, #-24]
0xfaec700a0: ldur d14, [fp, #-16]
0xfaec700a4: ldur d15, [fp, #-8]
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |