Bug 123233
| Summary: | We're going to have to save tagTypeNumber/tagMask/regT3/regT10 for the FTL at some point (since they're callee save) | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Filip Pizlo <fpizlo> |
| Component: | JavaScriptCore | Assignee: | Filip Pizlo <fpizlo> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | Normal | CC: | barraclough, ggaren, mark.lam, mhahnenberg, msaboff, oliver, sam |
| Priority: | P2 | ||
| Version: | 528+ (Nightly build) | ||
| Hardware: | All | ||
| OS: | All | ||
| Bug Depends on: | |||
| Bug Blocks: | 113621 | ||
Filip Pizlo
Because Mark realized that.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Filip Pizlo
I think that the best way of doing this is to have LLVM->JSC call thunks which save those callee-save registers that the other JSC execution engines use. Saving anything in a thunk is hard because if you save it to the stack, you'll have to move the call frame and arguments as well. So, I think that these thunks should save the values of those registers into a side-stack. The stack pointer for this side-stack should be in a global variable.
Filip Pizlo
This has been worked around with bug 125811.
*** This bug has been marked as a duplicate of bug 125811 ***