-
- Downloads
[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:Daniel Lehmann <dlehmann@chromium.org> Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by:
Matthias Liedtke <mliedtke@chromium.org> Cr-Commit-Position: refs/heads/main@{#95051}
Showing
- src/codegen/arm/assembler-arm-inl.h 14 additions, 0 deletionssrc/codegen/arm/assembler-arm-inl.h
- src/codegen/arm/assembler-arm.h 6 additions, 0 deletionssrc/codegen/arm/assembler-arm.h
- src/codegen/arm64/assembler-arm64-inl.h 15 additions, 0 deletionssrc/codegen/arm64/assembler-arm64-inl.h
- src/codegen/arm64/assembler-arm64.h 6 additions, 0 deletionssrc/codegen/arm64/assembler-arm64.h
- src/codegen/ia32/assembler-ia32-inl.h 13 additions, 0 deletionssrc/codegen/ia32/assembler-ia32-inl.h
- src/codegen/ia32/assembler-ia32.h 6 additions, 0 deletionssrc/codegen/ia32/assembler-ia32.h
- src/codegen/reloc-info.cc 14 additions, 0 deletionssrc/codegen/reloc-info.cc
- src/codegen/reloc-info.h 11 additions, 1 deletionsrc/codegen/reloc-info.h
- src/codegen/x64/assembler-x64-inl.h 13 additions, 0 deletionssrc/codegen/x64/assembler-x64-inl.h
- src/codegen/x64/assembler-x64.h 6 additions, 0 deletionssrc/codegen/x64/assembler-x64.h
- src/compiler/backend/arm64/code-generator-arm64.cc 5 additions, 0 deletionssrc/compiler/backend/arm64/code-generator-arm64.cc
- src/compiler/backend/instruction-selector-adapter.h 12 additions, 4 deletionssrc/compiler/backend/instruction-selector-adapter.h
- src/compiler/backend/instruction-selector-impl.h 7 additions, 7 deletionssrc/compiler/backend/instruction-selector-impl.h
- src/compiler/backend/instruction-selector.cc 1 addition, 0 deletionssrc/compiler/backend/instruction-selector.cc
- src/compiler/turboshaft/assembler.h 7 additions, 0 deletionssrc/compiler/turboshaft/assembler.h
- src/compiler/turboshaft/operations.cc 4 additions, 0 deletionssrc/compiler/turboshaft/operations.cc
- src/compiler/turboshaft/operations.h 11 additions, 2 deletionssrc/compiler/turboshaft/operations.h
- src/compiler/turboshaft/recreate-schedule.cc 5 additions, 0 deletionssrc/compiler/turboshaft/recreate-schedule.cc
- src/compiler/wasm-compiler.cc 5 additions, 5 deletionssrc/compiler/wasm-compiler.cc
- src/diagnostics/objects-printer.cc 0 additions, 2 deletionssrc/diagnostics/objects-printer.cc
Loading