0b3e554e03
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: a5af7fe9ee
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}
35 lines
1.3 KiB
Python
35 lines
1.3 KiB
Python
# Copyright 2016 the V8 project authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
|
|
# Use this to run several variants of the tests.
|
|
ALL_VARIANT_FLAGS = {
|
|
"default": [[]],
|
|
"stress": [["--stress-opt", "--always-opt"]],
|
|
"turbofan": [["--turbo"]],
|
|
"turbofan_opt": [["--turbo", "--always-opt"]],
|
|
"nocrankshaft": [["--nocrankshaft"]],
|
|
"ignition": [["--ignition"]],
|
|
"ignition_staging": [["--ignition-staging"]],
|
|
"ignition_turbofan": [["--ignition-staging", "--turbo"]],
|
|
"asm_wasm": [["--validate-asm"]],
|
|
"wasm_traps": [["--wasm_guard_pages", "--invoke-weak-callbacks"]],
|
|
}
|
|
|
|
# FAST_VARIANTS implies no --always-opt.
|
|
FAST_VARIANT_FLAGS = {
|
|
"default": [[]],
|
|
"stress": [["--stress-opt"]],
|
|
"turbofan": [["--turbo"]],
|
|
"nocrankshaft": [["--nocrankshaft"]],
|
|
"ignition": [["--ignition"]],
|
|
"ignition_staging": [["--ignition-staging"]],
|
|
"ignition_turbofan": [["--ignition-staging", "--turbo"]],
|
|
"asm_wasm": [["--validate-asm"]],
|
|
"wasm_traps": [["--wasm_guard_pages", "--invoke-weak-callbacks"]],
|
|
}
|
|
|
|
ALL_VARIANTS = set(["default", "stress", "turbofan", "turbofan_opt",
|
|
"nocrankshaft", "ignition", "ignition_staging",
|
|
"ignition_turbofan", "asm_wasm", "wasm_traps"])
|