Bug 301117
| Summary: | Save SP in IPInt frames as a frame-relative value | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Vassili Bykov <v_bykov> |
| Component: | JavaScriptCore | Assignee: | Vassili Bykov <v_bykov> |
| Status: | RESOLVED FIXED | ||
| Severity: | Enhancement | CC: | webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | WebKit Nightly Build | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
Vassili Bykov
Before a function call, IPInt stores the current SP in the 'this' argument slot of CallFrame so that it can be recovered after a series of tail calls. In JSPI, we need the ability to save frame data off the stack and later reinstall and execute the saved frames at a different stack address. Because the saved data includes absolute values of SP, we need to maintain a list of such locations and relocate them after installing the frames at a new address. This extra complexity can be avoided if we change IPInt to save SP in the call frame as an FP-relative value.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/163059656>
Vassili Bykov
Pull request: https://github.com/WebKit/WebKit/pull/52673
EWS
Committed 301855@main (463c854b2ffb): <https://commits.webkit.org/301855@main>
Reviewed commits have been landed. Closing PR #52673 and removing active labels.