• Jakob Kummerow's avatar
    [ubsan] Fix errors related to AsmType · 81becb8c
    Jakob Kummerow authored
    The AsmType class uses a design similar to the old Object* model, where
    arbitrary values (including 0) are reinterpret_cast to pointers. This
    yields the following UBSan error, among others:
    
        src/asmjs/asm-parser.cc:2000:51: runtime error: member call on null
        pointer of type 'v8::internal::wasm::AsmType'
    
    This patch does the smallest possible fix by turning the affected methods
    into static functions. Longer-term, we should consider switching the
    overall class design to a "struct wrapping an Address" model like the new
    Object definition, which is a bit non-trivial because some AsmType types
    are ZoneObject subclasses.
    
    Bug: v8:3770
    Change-Id: Ie2a7cdc9eab32c4c469d699212c84b0419480b4f
    Reviewed-on: https://chromium-review.googlesource.com/c/1397663Reviewed-by: 's avatarMichael Starzinger <mstarzinger@chromium.org>
    Commit-Queue: Jakob Kummerow <jkummerow@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#58586}
    81becb8c
asm-types.h 8.77 KB