| Summary: | Use scope register when processing op_resolve_scope in LLInt and Baseline JIT | ||||||
|---|---|---|---|---|---|---|---|
| Product: | WebKit | Reporter: | Michael Saboff <msaboff> | ||||
| Component: | JavaScriptCore | Assignee: | Michael Saboff <msaboff> | ||||
| Status: | RESOLVED FIXED | ||||||
| Severity: | Normal | CC: | buildbot, rniwa | ||||
| Priority: | P2 | ||||||
| Version: | 312.x | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Bug Depends on: | |||||||
| Bug Blocks: | 136724 | ||||||
| Attachments: |
|
||||||
|
Description
Michael Saboff
2014-11-11 15:44:44 PST
This is for the LLInt and baseline JIT. The DFG and FTL changes will be done separately. Created attachment 241390 [details]
Patch
Comment on attachment 241390 [details]
Patch
r=me
Committed r175998: <http://trac.webkit.org/changeset/175998> Comment on attachment 241390 [details]
Patch
I think it would be better for the JIT to load the scope into a register, and pass it to its helper functions as a JSScope*.
It's awkward to ask a helper function to muck around in your stack in order to load things out. And it's not a viable strategy for our optimizing engines, which may choose not to store things back to the stack in simple ways.
(In reply to comment #5) > Comment on attachment 241390 [details] > Patch > > I think it would be better for the JIT to load the scope into a register, > and pass it to its helper functions as a JSScope*. > > It's awkward to ask a helper function to muck around in your stack in order > to load things out. And it's not a viable strategy for our optimizing > engines, which may choose not to store things back to the stack in simple > ways. The helper operationResolveScope() is only used by the baseline JIT. This is similar to the way operationPopScope() works, except that operationPopScope also writes the value back to the stack. The operationPush* helpers also write to the stack. Seems like we should change all to work the same way. |