WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
NEW
174848
WebAssembly: add a single-block compiler
https://bugs.webkit.org/show_bug.cgi?id=174848
Summary
WebAssembly: add a single-block compiler
JF Bastien
Reported
2017-07-25 17:46:32 PDT
BBQ and OMG are good at what they do, but they could do with some help from a single-block compiler because often we see fairly small functions that have zero loops, and very little branching that's well-structured. A single-block compiler could be really fast yet generate really good code, sometimes tail-duplicating because WebAssembly code creates diamonds with little in their successor. No need to look at loops, no phis to put back together again, just big blocks with tiny tails. The validator is a good place to assess the structure of code, and then choose whether to go BBQ or single-block (as I originally did in #174818). No need to tier that code afterwards! This came from an IRL discussion with Fil about #174818 and the bunch of tier-check code in small functions. The only thing that's missing is a cute name. Oh, and coding it I guess.
Attachments
Add attachment
proposed patch, testcase, etc.
Saam Barati
Comment 1
2017-07-25 18:19:55 PDT
FWIW, I'd be a lot more interested in us investigating these things before a single block compiler: - A Web Assembly interpreter - A template JIT - Lazy compilation - Making O2 compile faster. Mozilla's Wasm implementation has showed us this is clearly possible. or some combination of the combination of above.
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