• Clemens Backes's avatar
    [wasm][streaming] Check section order of code section · e4f07c09
    Clemens Backes authored
    The streaming decoder did not properly check the ordering of sections
    relative to the code section.
    This CL fixes that for both empty and non-empty code sections.
    The special path for empty code sections is not actually needed, so
    remove it to simplify code paths.
    
    Drive-by:
    1. Refactor the existing code for checking section ordering to make it
       more structured and readable.
    2. Ensure that we either call {DecodeCodeSection} or {StartCodeSection},
       but not both.
    3. Remove {set_code_section}, merge it into {StartCodeSection}.
    4. Simplify calls to {CalculateGlobalOffsets} (make them unconditional
       and remove one redundant one).
    
    R=ahaas@chromium.org
    
    Bug: chromium:1336380
    Change-Id: Ia2c5c115d43d2b5315e3b3c9e4a21175a36aa326
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3747860Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#81554}
    e4f07c09
Name
Last commit
Last update
..
compiler Loading commit data...
heap Loading commit data...
parsing Loading commit data...
torque Loading commit data...
wasm Loading commit data...
BUILD.gn Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...
assembler-helper-arm.cc Loading commit data...
assembler-helper-arm.h Loading commit data...
cctest-utils.h Loading commit data...
cctest.cc Loading commit data...
cctest.h Loading commit data...
cctest.status Loading commit data...
collector.h Loading commit data...
expression-type-collector-macros.h Loading commit data...
manually-externalized-buffer.h Loading commit data...
print-extension.cc Loading commit data...
print-extension.h Loading commit data...
profiler-extension.cc Loading commit data...
profiler-extension.h Loading commit data...
scope-test-helper.h Loading commit data...
setup-isolate-for-tests.cc Loading commit data...
setup-isolate-for-tests.h Loading commit data...
test-accessor-assembler.cc Loading commit data...
test-accessors.cc Loading commit data...
test-allocation.cc Loading commit data...
test-api-array-buffer.cc Loading commit data...
test-api-icu.cc Loading commit data...
test-api-interceptors.cc Loading commit data...
test-api-stack-traces.cc Loading commit data...
test-api-typed-array.cc Loading commit data...
test-api-wasm.cc Loading commit data...
test-api.cc Loading commit data...
test-api.h Loading commit data...
test-assembler-arm.cc Loading commit data...
test-assembler-arm64.cc Loading commit data...
test-assembler-ia32.cc Loading commit data...
test-assembler-loong64.cc Loading commit data...
test-assembler-mips.cc Loading commit data...
test-assembler-mips64.cc Loading commit data...
test-assembler-ppc.cc Loading commit data...
test-assembler-riscv64.cc Loading commit data...
test-assembler-s390.cc Loading commit data...
test-assembler-x64.cc Loading commit data...
test-code-stub-assembler.cc Loading commit data...
test-constantpool.cc Loading commit data...
test-cpu-profiler.cc Loading commit data...
test-debug-helper.cc Loading commit data...
test-debug.cc Loading commit data...
test-descriptor-array.cc Loading commit data...
test-disasm-mips.cc Loading commit data...
test-disasm-regex-helper.cc Loading commit data...
test-disasm-regex-helper.h Loading commit data...
test-feedback-vector.cc Loading commit data...
test-feedback-vector.h Loading commit data...
test-field-type-tracking.cc Loading commit data...
test-func-name-inference.cc Loading commit data...
test-fuzz-arm64.cc Loading commit data...
test-global-handles.cc Loading commit data...
test-heap-profiler.cc Loading commit data...
test-helper-riscv64.cc Loading commit data...
test-helper-riscv64.h Loading commit data...
test-icache.cc Loading commit data...
test-ignition-statistics-extension.cc Loading commit data...
test-inobject-slack-tracking.cc Loading commit data...
test-inspector.cc Loading commit data...
test-javascript-arm64.cc Loading commit data...
test-js-arm64-variables.cc Loading commit data...
test-js-to-wasm.cc Loading commit data...
test-js-weak-refs.cc Loading commit data...
test-liveedit.cc Loading commit data...
test-local-handles.cc Loading commit data...
test-lockers.cc Loading commit data...
test-log-stack-tracer.cc Loading commit data...
test-macro-assembler-arm.cc Loading commit data...
test-macro-assembler-arm64.cc Loading commit data...
test-macro-assembler-loong64.cc Loading commit data...
test-macro-assembler-mips.cc Loading commit data...
test-macro-assembler-mips64.cc Loading commit data...
test-macro-assembler-riscv64.cc Loading commit data...
test-macro-assembler-x64.cc Loading commit data...
test-mementos.cc Loading commit data...
test-orderedhashtable.cc Loading commit data...
test-parsing.cc Loading commit data...
test-profile-generator.cc Loading commit data...
test-property-details.cc Loading commit data...
test-ptr-compr-cage.cc Loading commit data...
test-random-number-generator.cc Loading commit data...
test-sampler-api.cc Loading commit data...
test-serialize.cc Loading commit data...
test-shared-strings.cc Loading commit data...
test-simple-riscv64.cc Loading commit data...
test-smi-lexicographic-compare.cc Loading commit data...
test-stack-unwinding-win64.cc Loading commit data...
test-strings.cc Loading commit data...
test-swiss-name-dictionary-csa.cc Loading commit data...
test-swiss-name-dictionary-infra.cc Loading commit data...
test-swiss-name-dictionary-infra.h Loading commit data...
test-swiss-name-dictionary-shared-tests.h Loading commit data...
test-swiss-name-dictionary.cc Loading commit data...
test-sync-primitives-arm.cc Loading commit data...
test-sync-primitives-arm64.cc Loading commit data...
test-temporal-parser.cc Loading commit data...
test-trace-event.cc Loading commit data...
test-transitions.cc Loading commit data...
test-transitions.h Loading commit data...
test-typedarrays.cc Loading commit data...
test-unscopables-hidden-prototype.cc Loading commit data...
test-unwinder-code-pages.cc Loading commit data...
test-usecounters.cc Loading commit data...
test-utils-arm64.cc Loading commit data...
test-utils-arm64.h Loading commit data...
test-utils.cc Loading commit data...
test-v8windbg.cc Loading commit data...
test-verifiers.cc Loading commit data...
test-weakmaps.cc Loading commit data...
test-weaksets.cc Loading commit data...
test-web-snapshots.cc Loading commit data...
testcfg.py Loading commit data...
trace-extension.cc Loading commit data...
trace-extension.h Loading commit data...
unicode-helpers.cc Loading commit data...
unicode-helpers.h Loading commit data...