Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(203)

Issue 2723133003: Revert of [wasm] Initial signal handler (Closed)

Created:
3 years, 9 months ago by Benedikt Meurer
Modified:
3 years, 9 months ago
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Revert of [wasm] Initial signal handler (patchset #56 id:1090001 of https://codereview.chromium.org/2371833007/ ) Reason for revert: Breaks tree, i.e. https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN/builds/18928/steps/Check/logs/grow-memory Original issue's description: > [wasm] Initial signal handler > > This is basically the minimum viable signal handler for Wasm bounds checks. > It includes the TLS check and the fine grained instructions checks. These > two checks provide most of the safety for the signal handler. Future CLs will > add code range and data range checks for more robustness. > > The trap handling code and data structures are all in src/trap-handler, with > the code that actually runs in the signal handler confined to > src/trap-handler/signal-handler.cc. > > This changes adds a new V8 API that the embedder should call from a signal > handler that will give V8 the chance to handle the fault first. For hosts that > do not want to implement their own signal handler, we include the option to > install a simple one. This simple handler is also used for the tests. > > When a Wasm module is instantiated, information about each function is passed > to the trap handler, which is used to classify faults. These are removed during > the instance finalizer. > > Several future enhancements are planned before turning this on by default. > Obviously, the additional checks will be added to MaybeHandleFault. We are > also planning to add a two-level CodeObjectData table that is grouped by > isolates to make cleanup easier and also reduce potential for contending on > a single data structure. > > BUG= https://bugs.chromium.org/p/v8/issues/detail?id=5277 > > Review-Url: https://codereview.chromium.org/2371833007 > Cr-Commit-Position: refs/heads/master@{#43523} > Committed: https://chromium.googlesource.com/v8/v8/+/a5af7fe9ee388a636675f4a6872b1d34fa7d1a7a TBR=ahaas@chromium.org,bradnelson@google.com,hpayer@chromium.org,jochen@chromium.org,mark@chromium.org,mseaborn@chromium.org,titzer@chromium.org,eholk@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= https://bugs.chromium.org/p/v8/issues/detail?id=5277 Review-Url: https://codereview.chromium.org/2723133003 Cr-Commit-Position: refs/heads/master@{#43525} Committed: https://chromium.googlesource.com/v8/v8/+/0b3e554e037d0a17e155294b7b2c02166e092e4c

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+57 lines, -800 lines) Patch
M BUILD.gn View 2 chunks +0 lines, -6 lines 0 comments Download
M include/v8.h View 1 chunk +0 lines, -29 lines 0 comments Download
M src/DEPS View 1 chunk +0 lines, -2 lines 0 comments Download
M src/api.cc View 2 chunks +0 lines, -11 lines 0 comments Download
M src/compiler/wasm-compiler.cc View 11 chunks +13 lines, -35 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 9 chunks +26 lines, -27 lines 0 comments Download
M src/d8.cc View 2 chunks +0 lines, -8 lines 0 comments Download
M src/factory.cc View 1 chunk +0 lines, -1 line 0 comments Download
M src/isolate.cc View 2 chunks +0 lines, -9 lines 0 comments Download
M src/objects.h View 2 chunks +1 line, -6 lines 0 comments Download
M src/objects.cc View 1 chunk +0 lines, -6 lines 0 comments Download
M src/objects-inl.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/runtime/runtime.h View 1 chunk +1 line, -3 lines 0 comments Download
M src/runtime/runtime-wasm.cc View 2 chunks +0 lines, -11 lines 0 comments Download
D src/trap-handler/DEPS View 1 chunk +0 lines, -17 lines 0 comments Download
D src/trap-handler/OWNERS View 1 chunk +0 lines, -10 lines 0 comments Download
D src/trap-handler/handler-inside.cc View 1 chunk +0 lines, -170 lines 0 comments Download
D src/trap-handler/handler-outside.cc View 1 chunk +0 lines, -191 lines 0 comments Download
D src/trap-handler/handler-shared.cc View 1 chunk +0 lines, -52 lines 0 comments Download
M src/trap-handler/trap-handler.h View 2 chunks +0 lines, -69 lines 0 comments Download
D src/trap-handler/trap-handler-internal.h View 1 chunk +0 lines, -67 lines 0 comments Download
M src/v8.gyp View 2 chunks +0 lines, -6 lines 0 comments Download
M src/wasm/wasm-module.cc View 4 chunks +3 lines, -23 lines 0 comments Download
M test/cctest/cctest.cc View 2 chunks +0 lines, -5 lines 0 comments Download
M test/cctest/wasm/test-wasm-trap-position.cc View 2 chunks +0 lines, -9 lines 0 comments Download
M test/cctest/wasm/wasm-run-utils.h View 2 chunks +11 lines, -24 lines 0 comments Download
M tools/testrunner/local/variants.py View 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 6 (3 generated)
Benedikt Meurer
Created Revert of [wasm] Initial signal handler
3 years, 9 months ago (2017-03-01 19:47:06 UTC) #2
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2723133003/1
3 years, 9 months ago (2017-03-01 19:47:17 UTC) #3
commit-bot: I haz the power
3 years, 9 months ago (2017-03-01 19:47:35 UTC) #6
Message was sent while issue was closed.
Committed patchset #1 (id:1) as
https://chromium.googlesource.com/v8/v8/+/0b3e554e037d0a17e155294b7b2c02166e0...

Powered by Google App Engine
This is Rietveld 408576698