2016-08-04 14:41:09 +00:00
|
|
|
# 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"]],
|
2017-03-09 13:36:23 +00:00
|
|
|
"noturbofan": [["--no-turbo"]],
|
|
|
|
"noturbofan_stress": [["--no-turbo", "--stress-opt", "--always-opt"]],
|
2016-08-04 14:41:09 +00:00
|
|
|
"nocrankshaft": [["--nocrankshaft"]],
|
|
|
|
"ignition": [["--ignition"]],
|
|
|
|
"ignition_turbofan": [["--ignition-staging", "--turbo"]],
|
2016-09-19 23:56:50 +00:00
|
|
|
"asm_wasm": [["--validate-asm"]],
|
Revert of [wasm] Initial signal handler (patchset #60 id:1170001 of https://codereview.chromium.org/2371833007/ )
Reason for revert:
ASAN breakage, such as https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN/builds/19111/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-Original-Commit-Position: refs/heads/master@{#43523}
> Committed: https://chromium.googlesource.com/v8/v8/+/a5af7fe9ee388a636675f4a6872b1d34fa7d1a7a
> Review-Url: https://codereview.chromium.org/2371833007
> Cr-Commit-Position: refs/heads/master@{#43755}
> Committed: https://chromium.googlesource.com/v8/v8/+/338622d7cae787a63cece1f2e79a8b030023940b
TBR=ahaas@chromium.org,bradnelson@google.com,hpayer@chromium.org,jochen@chromium.org,mark@chromium.org,mseaborn@chromium.org,titzer@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/2744383002
Cr-Commit-Position: refs/heads/master@{#43757}
2017-03-13 20:03:25 +00:00
|
|
|
"wasm_traps": [["--wasm_guard_pages", "--invoke-weak-callbacks"]],
|
2016-08-04 14:41:09 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
# FAST_VARIANTS implies no --always-opt.
|
|
|
|
FAST_VARIANT_FLAGS = {
|
|
|
|
"default": [[]],
|
|
|
|
"stress": [["--stress-opt"]],
|
|
|
|
"turbofan": [["--turbo"]],
|
2017-03-09 13:36:23 +00:00
|
|
|
"noturbofan": [["--no-turbo"]],
|
|
|
|
"noturbofan_stress": [["--no-turbo", "--stress-opt"]],
|
2016-08-04 14:41:09 +00:00
|
|
|
"nocrankshaft": [["--nocrankshaft"]],
|
|
|
|
"ignition": [["--ignition"]],
|
|
|
|
"ignition_turbofan": [["--ignition-staging", "--turbo"]],
|
2016-09-19 23:56:50 +00:00
|
|
|
"asm_wasm": [["--validate-asm"]],
|
Revert of [wasm] Initial signal handler (patchset #60 id:1170001 of https://codereview.chromium.org/2371833007/ )
Reason for revert:
ASAN breakage, such as https://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN/builds/19111/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-Original-Commit-Position: refs/heads/master@{#43523}
> Committed: https://chromium.googlesource.com/v8/v8/+/a5af7fe9ee388a636675f4a6872b1d34fa7d1a7a
> Review-Url: https://codereview.chromium.org/2371833007
> Cr-Commit-Position: refs/heads/master@{#43755}
> Committed: https://chromium.googlesource.com/v8/v8/+/338622d7cae787a63cece1f2e79a8b030023940b
TBR=ahaas@chromium.org,bradnelson@google.com,hpayer@chromium.org,jochen@chromium.org,mark@chromium.org,mseaborn@chromium.org,titzer@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/2744383002
Cr-Commit-Position: refs/heads/master@{#43757}
2017-03-13 20:03:25 +00:00
|
|
|
"wasm_traps": [["--wasm_guard_pages", "--invoke-weak-callbacks"]],
|
2016-08-04 14:41:09 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
ALL_VARIANTS = set(["default", "stress", "turbofan", "turbofan_opt",
|
2017-03-13 14:18:42 +00:00
|
|
|
"noturbofan", "noturbofan_stress",
|
2017-03-10 10:59:34 +00:00
|
|
|
"nocrankshaft", "ignition",
|
2016-11-18 14:06:25 +00:00
|
|
|
"ignition_turbofan", "asm_wasm", "wasm_traps"])
|