WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 138637
Use scope register when processing op_resolve_scope in LLInt and Baseline JIT
https://bugs.webkit.org/show_bug.cgi?id=138637
Summary
Use scope register when processing op_resolve_scope in LLInt and Baseline JIT
Michael Saboff
Reported
2014-11-11 15:44:44 PST
The current code uses exec->scope(), but should be changed to use the scope register provided in the byte code.
Attachments
Patch
(10.80 KB, patch)
2014-11-11 16:17 PST
,
Michael Saboff
mark.lam
: review+
Details
Formatted Diff
Diff
View All
Add attachment
proposed patch, testcase, etc.
Michael Saboff
Comment 1
2014-11-11 16:05:44 PST
This is for the LLInt and baseline JIT. The DFG and FTL changes will be done separately.
Michael Saboff
Comment 2
2014-11-11 16:17:26 PST
Created
attachment 241390
[details]
Patch
Mark Lam
Comment 3
2014-11-11 18:20:37 PST
Comment on
attachment 241390
[details]
Patch r=me
Michael Saboff
Comment 4
2014-11-11 18:33:49 PST
Committed
r175998
: <
http://trac.webkit.org/changeset/175998
>
Geoffrey Garen
Comment 5
2014-11-11 21:24:04 PST
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.
Michael Saboff
Comment 6
2014-11-11 21:57:57 PST
(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.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug