• Clemens Backes's avatar
    Reland "[wasm] Disallow late enabling of trap handlers" · 15efe5a6
    Clemens Backes authored
    This is a reland of bcb0a7c5.
    Data races detected by TSan are fixed by using (relaxed) atomic
    updates.
    
    Original change's description:
    > [wasm] Disallow late enabling of trap handlers
    >
    > It's dangerous if trap handlers are enabled after we already used the
    > information whether they are enabled or not.
    > This CL checks for such misbehaviour by remembering whether
    > {IsTrapHandlerEnabled} was already called, and disallowing
    > {EnableTrapHandler} afterwards. Also, calling {EnableTrapHandler}
    > multiple times is disallowed now.
    >
    > The trap handler tests are changed to only enable trap handlers once,
    > and to do that before allocating wasm memory or generating code.
    >
    > R=ahaas@chromium.org
    >
    > Bug: v8:11017
    > Change-Id: Ib2256bb8435efd914c12769cedd4a0051052aeef
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2494935
    > Reviewed-by: Andreas Haas <ahaas@chromium.org>
    > Commit-Queue: Clemens Backes <clemensb@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#70750}
    
    Bug: v8:11017
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_rel_ng
    Cq-Include-Trybots: luci.v8.try:v8_linux64_tsan_isolates_rel_ng
    Change-Id: I24299c433ffa3ce31e2aac12134dc03f30609da2
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2498683
    Commit-Queue: Clemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#70761}
    15efe5a6
trap-handler.h 4.57 KB