• Jakob Kummerow's avatar
    [stringrefs] Fix inlining, and some corner case bugs · 0661a0dd
    Jakob Kummerow authored
    1) Inlining functions that contain stringref operations require builtin
       calls to be marked as kNoThrow appropriately (or have exception
       handling support in the graph).
    2) Some overly-large inputs for string creation hit DCHECKs before
       getting to the places where they would have thrown an orderly
       exception.
    3) We still had a known issue that some exceptions thrown by JS-focused
       code were erroneously catchable by Wasm.
    4) When string.concat attempted to create a too-long string, it ran into
       a DCHECK because we didn't clear the "thread in wasm" flag.
    5) The builtin call for string.concat was erroneously marked as
       kEliminatable, which could cause the trap get eliminated.
    
    Bug: v8:12868
    Change-Id: Iad3ada0e2465bfd8f3d00bb064c32049d6b19d87
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3902522
    Auto-Submit: Jakob Kummerow <jkummerow@chromium.org>
    Commit-Queue: Andy Wingo <wingo@igalia.com>
    Reviewed-by: 's avatarAndy Wingo <wingo@igalia.com>
    Cr-Commit-Position: refs/heads/main@{#83292}
    0661a0dd
wasm-objects.h 43.6 KB