WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
159281
Linked bytecode should not have save/resume
https://bugs.webkit.org/show_bug.cgi?id=159281
Summary
Linked bytecode should not have save/resume
Filip Pizlo
Reported
2016-06-29 16:12:52 PDT
The save/resume opcodes are so unusual that they cause confusion in the bytecode liveness analysis. In particular, they don't have context-free use/def behavior and their live-in calculation cannot be expressed in terms of use/def. Normally, the use/def of a bytecode is determined just by that bytecode. Save/resume's use/def is context-sensitive: you need to look at some surrounding code to determine what they use and def. Worse, use/def is insufficient to calculate the live-in of resume. The live-in of resume is invariant: the only thing live-in is the argument token. This is an unusual rule, and would require resume to be special-cased. Linked bytecode has many clients: the bytecode liveness analysis, the LLInt, baseline JIT, and DFG parser. I think that instead of having so many special cases in linked bytecode for generators, we should do a generator conversion before even getting to linked bytecode. This will mean that linked bytecode won't have to worry about what it means to be a generator.
Attachments
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2016-06-29 16:13:13 PDT
Yusuke, do you have a bug that this can be duped to?
Yusuke Suzuki
Comment 2
2016-06-29 17:15:10 PDT
https://bugs.webkit.org/show_bug.cgi?id=152723
this patch will include this separated analysis change to transform save, resume to get_from_scope & put_to_scope.
Yusuke Suzuki
Comment 3
2018-07-11 01:46:22 PDT
Our generator mechanism was rewritten and this problems is gone!
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