35cc93aa42
The wasm decoder immediates are currently templatized by the {validate} enum value. They do not need to be though; the only difference is in the constructor, so the constructor should be templatized instead. This CL implements that, and also changes the {validate} enum to be a tag (a typename) instead. This is needed in order to enable template parameter deduction for the constructor calls (C++ does not allow to explicitly define the template parameter at constructor calls). As a nice side effect, this produces nicer symbolized stack traces. Before: v8::internal::wasm::Decoder::read_u32v<(v8::internal::wasm::Decoder::ValidateFlag)1> After: v8::internal::wasm::Decoder::read_u32v<v8::internal::wasm::Decoder::BooleanValidationTag> R=jkummerow@chromium.org Change-Id: I013c909ebaf2c8c495f32b5ce598905f3eccc3ac Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3973267 Commit-Queue: Clemens Backes <clemensb@chromium.org> Reviewed-by: Jakob Kummerow <jkummerow@chromium.org> Cr-Commit-Position: refs/heads/main@{#83889} |
||
---|---|---|
.. | ||
control-transfer-unittest.cc | ||
decoder-unittest.cc | ||
DIR_METADATA | ||
function-body-decoder-unittest.cc | ||
leb-helper-unittest.cc | ||
liftoff-register-unittests.cc | ||
loop-assignment-analysis-unittest.cc | ||
memory-protection-unittest.cc | ||
module-decoder-memory64-unittest.cc | ||
module-decoder-unittest.cc | ||
OWNERS | ||
simd-shuffle-unittest.cc | ||
streaming-decoder-unittest.cc | ||
string-builder-unittest.cc | ||
subtyping-unittest.cc | ||
trap-handler-posix-unittest.cc | ||
trap-handler-simulator-unittest.cc | ||
trap-handler-win-unittest.cc | ||
trap-handler-x64-unittest.cc | ||
wasm-code-manager-unittest.cc | ||
wasm-compiler-unittest.cc | ||
wasm-gdbserver-unittest.cc | ||
wasm-macro-gen-unittest.cc | ||
wasm-module-builder-unittest.cc | ||
wasm-module-sourcemap-unittest.cc |