Skip to content
Snippets Groups Projects
Commit f2aaa9fd authored by Clemens Backes's avatar Clemens Backes Committed by V8 LUCI CQ
Browse files

[wasm] Embed canonical signature id as constant

The canonical signature ID is needed for the type check on indirect
calls. Even though it is a constant, we currently load it from the
WasmTrustedInstanceData in order to make code cachable (because in
another process we might have different canonicalized type IDs).

This CL embeds the constant as a constant in the code, with relocation
information to replace it by a module-local ID on serialization and
replace back by a canonicalized ID on deserialization.

This speeds up indirect calls by ~10% and frees up a field in the
WasmTrustedInstanceData.

R=dlehmann@chromium.org
CC=jkummerow@chromium.org

Bug: 42204513
Change-Id: Ie61fa7e849311566098102f54aed18a47f98846b
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/5676329


Reviewed-by: default avatarDaniel Lehmann <dlehmann@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Reviewed-by: default avatarMatthias Liedtke <mliedtke@chromium.org>
Cr-Commit-Position: refs/heads/main@{#95051}
parent b5fcb5eb
Loading
Showing
with 161 additions and 21 deletions
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment