v8/src/wasm
Manos Koukoutos cbefd831f7 [wasm] Optimize function tables in instantiation
When initializing a table entry with null or a function constant, do not
go through EvaluateInitExpression. Remove the option to treat functions
lazily in EvaluateInitExpression/InitExprInterface.

Drive-by: Shrink indirect tables by removing redundant field.

Bug: chromium:1284557
Change-Id: I78a64becebf4b967b0a440d43855e163ec190b7f
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3383135
Reviewed-by: Jakob Kummerow <jkummerow@chromium.org>
Commit-Queue: Manos Koukoutos <manoskouk@chromium.org>
Cr-Commit-Position: refs/heads/main@{#78608}
2022-01-13 16:53:18 +00:00
..
baseline S390 [liftoff]: Implement simd f64x2 unops 2022-01-12 21:16:15 +00:00
branch-hint-map.h
c-api.cc [ext-code-space][cleanup] Remove CodeDataContainer table 2021-12-16 17:32:39 +00:00
c-api.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
code-space-access.cc [wasm] Unconditionally allocate a protection key 2021-12-06 22:13:26 +00:00
code-space-access.h Reland "Reland: [wasm] Check correctness of thread-local write protection" 2021-08-11 16:48:02 +00:00
compilation-environment.h Reland "[wasm] Lazy compilation after deserialization" 2022-01-11 13:13:56 +00:00
decoder.h Reland "[wasm] Fast paths in EvaluateInitExpression" 2022-01-10 10:19:01 +00:00
DEPS
DIR_METADATA
function-body-decoder-impl.h [wasm-gc] Implement br_on_array, br_on_non_array 2022-01-12 10:48:03 +00:00
function-body-decoder.cc Reland "[wasm] Fast paths in EvaluateInitExpression" 2022-01-10 10:19:01 +00:00
function-body-decoder.h [wasm] Remove redundant inline annotations 2021-06-11 11:09:43 +00:00
function-compiler.cc [ext-code-space][cleanup] Remove CodeDataContainer table 2021-12-16 17:32:39 +00:00
function-compiler.h [wasm-gc] Speculative inlining for call_ref (off by default) 2021-10-07 14:56:39 +00:00
graph-builder-interface.cc [wasm-gc] Implement br_on_array, br_on_non_array 2022-01-12 10:48:03 +00:00
graph-builder-interface.h [wasm] Generate exception handlers in inlined functions 2021-12-16 09:32:35 +00:00
init-expr-interface.cc [wasm] Optimize function tables in instantiation 2022-01-13 16:53:18 +00:00
init-expr-interface.h [wasm] Optimize function tables in instantiation 2022-01-13 16:53:18 +00:00
jump-table-assembler.cc [ext-code-space] Rename InstructionStream to OffHeapInstructionStream 2021-12-02 11:05:32 +00:00
jump-table-assembler.h s390: [liftoff] Fix jump table patching 2021-10-10 18:05:38 +00:00
leb-helper.h [wasm] Remove redundant inline annotations 2021-06-11 11:09:43 +00:00
local-decl-encoder.cc Revert to use memcpy instead of base::Memcpy 2021-06-10 10:19:24 +00:00
local-decl-encoder.h
memory-protection-key.cc [wasm] Initialize memory protection key permissions 2021-12-20 13:58:33 +00:00
memory-protection-key.h [wasm] Initialize memory protection key permissions 2021-12-20 13:58:33 +00:00
memory-tracing.cc [base] Create base/strings.h 2021-06-22 16:55:32 +00:00
memory-tracing.h
module-compiler.cc Reland "[wasm] Lazy compilation after deserialization" 2022-01-11 13:13:56 +00:00
module-compiler.h [compiler-dispatcher] Enqueue tasks for non-eager inner funcs 2021-12-01 13:14:09 +00:00
module-decoder.cc [wasm] Only decode most frequent constant expressions once 2022-01-12 07:08:53 +00:00
module-decoder.h [wasm] Only decode most frequent constant expressions once 2022-01-12 07:08:53 +00:00
module-instantiate.cc [wasm] Optimize function tables in instantiation 2022-01-13 16:53:18 +00:00
module-instantiate.h [wasm] Unify treatment of expressions in elem. segments 2022-01-04 12:36:07 +00:00
object-access.h
OWNERS
signature-map.cc
signature-map.h
simd-shuffle.cc
simd-shuffle.h
stacks.h [wasm] Mark roots for stack switching 2021-12-08 11:36:27 +00:00
streaming-decoder.cc [wasm][turbofan] Use function name if available 2021-12-20 12:01:42 +00:00
streaming-decoder.h Allow compiled module invalidation at WasmStreaming::Finish() 2021-11-23 16:05:34 +00:00
struct-types.h
sync-streaming-decoder.cc Allow compiled module invalidation at WasmStreaming::Finish() 2021-11-23 16:05:34 +00:00
value-type.cc
value-type.h [wasm-gc] Introduce supertype of all arrays 2022-01-11 13:43:26 +00:00
wasm-arguments.h
wasm-code-manager.cc [wasm] Do not count jump table size twice 2022-01-05 13:38:36 +00:00
wasm-code-manager.h Reland "[wasm] Lazy compilation after deserialization" 2022-01-11 13:13:56 +00:00
wasm-constants.h [wasm-gc] Introduce supertype of all arrays 2022-01-11 13:43:26 +00:00
wasm-debug.cc [cleanup] Rename NameSectionKindCode fields to avoid shadowing 2021-09-24 14:38:47 +00:00
wasm-debug.h [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
wasm-engine.cc [wasm] Initialize memory protection key permissions 2021-12-20 13:58:33 +00:00
wasm-engine.h [wasm] New flags for tracing compilation times 2021-10-14 13:47:28 +00:00
wasm-external-refs.cc AIX: workaround the aix FP glibc bug 2021-11-16 03:23:24 +00:00
wasm-external-refs.h [wasm-gc] Skip array.copy if length == 0 2021-09-30 13:23:11 +00:00
wasm-feature-flags.h [wasm] Remove --experimental-wasm-reftypes flag 2021-12-13 14:29:15 +00:00
wasm-features.cc [wasm] Remove --experimental-wasm-reftypes flag 2021-12-13 14:29:15 +00:00
wasm-features.h [wasm] Remove --experimental-wasm-reftypes flag 2021-12-13 14:29:15 +00:00
wasm-import-wrapper-cache.cc [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
wasm-import-wrapper-cache.h
wasm-init-expr.cc [wasm][fuzzer] Complex init. expressions in JS testcase 2021-11-05 12:17:48 +00:00
wasm-init-expr.h [wasm] Only decode most frequent constant expressions once 2022-01-12 07:08:53 +00:00
wasm-js.cc [wasm] Set up Suspender chain for stack switching 2022-01-12 10:28:33 +00:00
wasm-js.h
wasm-limits.h [wasm] Remove --experimental-wasm-reftypes flag 2021-12-13 14:29:15 +00:00
wasm-linkage.h [LOONG64] Add LoongArch64 backend 2021-08-16 13:05:19 +00:00
wasm-module-builder.cc [wasm] Remove --experimental-wasm-reftypes flag 2021-12-13 14:29:15 +00:00
wasm-module-builder.h [wasm][fuzzer] Complex init. expressions in JS testcase 2021-11-05 12:17:48 +00:00
wasm-module-sourcemap.cc Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
wasm-module-sourcemap.h Reland "[include] Split out v8.h" 2021-08-24 13:08:55 +00:00
wasm-module.cc [wasm] Introduce 'funcref' for the type reflection proposal 2021-12-10 20:09:12 +00:00
wasm-module.h [wasm] Only decode most frequent constant expressions once 2022-01-12 07:08:53 +00:00
wasm-objects-inl.h V8 Sandbox rebranding 2021-12-15 17:09:36 +00:00
wasm-objects.cc [wasm] Optimize function tables in instantiation 2022-01-13 16:53:18 +00:00
wasm-objects.h [wasm] Set up Suspender chain for stack switching 2022-01-12 10:28:33 +00:00
wasm-objects.tq [wasm] Set up Suspender chain for stack switching 2022-01-12 10:28:33 +00:00
wasm-opcodes-inl.h [wasm-gc] Implement br_on_array, br_on_non_array 2022-01-12 10:48:03 +00:00
wasm-opcodes.cc
wasm-opcodes.h [wasm-gc] Implement br_on_array, br_on_non_array 2022-01-12 10:48:03 +00:00
wasm-result.cc [base] Create base/strings.h 2021-06-22 16:55:32 +00:00
wasm-result.h
wasm-serialization.cc Reland "[wasm] Lazy compilation after deserialization" 2022-01-11 13:13:56 +00:00
wasm-serialization.h [base] Move utils/vector.h to base/vector.h 2021-06-18 13:33:13 +00:00
wasm-subtyping.cc [wasm-gc] Introduce supertype of all arrays 2022-01-11 13:43:26 +00:00
wasm-subtyping.h [wasm-gc] Introduce supertype of all arrays 2022-01-11 13:43:26 +00:00
wasm-tier.h
wasm-value.h [wasm] Do not enforce LE for globals and WasmValue 2021-06-10 18:08:38 +00:00