Bug 165511

Summary: WebAssembly: bit-pack signature and code for call_indirect
Product: WebKit Reporter: JF Bastien <jfbastien>
Component: JavaScriptCoreAssignee: Nobody <webkit-unassigned>
Status: RESOLVED WONTFIX    
Severity: Normal CC: chi187, jfbastien, keith_miller, saam
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
Bug Depends on: 165118, 165957    
Bug Blocks: 161709    

JF Bastien
Reported 2016-12-06 21:06:10 PST
See WasmFormat.h, CallableFunction and FunctionIndexSpace. Uniquing signatures is required for correctness, and packing the signature into the code pointer will make call_indirect faster (it just needs to rotate the packed signature, check it's the expected value, and then mask it out before jumping).
Attachments
Sergey Rubanov
Comment 1 2026-08-27 14:26:07 PDT
call_indirect now type-checks the table entry's RTT (including subtype display). Packing the signature into the code pointer does not fit funcref / GC.
Note You need to log in before you can comment on or make changes to this bug.