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

Issue 2685583003: [wasm] Do not use setjmp/longjmp in cctests. (Closed)

Created:
3 years, 10 months ago by ahaas
Modified:
3 years, 10 months ago
CC:
Jarin, v8-mips-ports_googlegroups.com, v8-ppc-ports_googlegroups.com, v8-reviews_googlegroups.com, v8-x87-ports_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[wasm] Do not use setjmp/longjmp in cctests. The use of setjmp/longjmp makes the cctests in test-run-wasm and test-run-wasm-64 flaky on Windows, and I think that it is better not to use it. With this CL I replace it as follows: Similar to the setjmp/longjmp implementation we still call a C function when a trap happens. However, instead of calling longjmp in this C function we just set a flag which indicates that a trap happened and then return. After we return from the C function we leave the frame of the current wasm function and return with a RET instruction. At the end of a test the wasm test runner checks the flag to see if a trap happened. Please take a special look at the LeaveFrame function on arm64. R=titzer@chromium.org, clemensh@chromium.org, v8-arm-ports@googlegroups.com CC=jarin@chromium.org Review-Url: https://codereview.chromium.org/2685583003 Cr-Commit-Position: refs/heads/master@{#43095} Committed: https://chromium.googlesource.com/v8/v8/+/79570f87a1b467846a51c60186e4707f68a4d3d0

Patch Set 1 #

Patch Set 2 : Remove out-dated comment #

Patch Set 3 : Record safepoint before the debug code #

Patch Set 4 : Turn off signalling NaN tests in the simulator #

Total comments: 8

Patch Set 5 : Comments addressed #

Total comments: 6

Patch Set 6 : Change comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+104 lines, -88 lines) Patch
M src/arm64/macro-assembler-arm64.cc View 1 2 3 4 2 chunks +20 lines, -13 lines 0 comments Download
M src/compiler/arm/code-generator-arm.cc View 1 2 2 chunks +9 lines, -7 lines 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 1 2 4 chunks +10 lines, -9 lines 0 comments Download
M src/compiler/ia32/code-generator-ia32.cc View 1 2 2 chunks +9 lines, -7 lines 0 comments Download
M src/compiler/mips/code-generator-mips.cc View 1 2 2 chunks +9 lines, -7 lines 0 comments Download
M src/compiler/mips64/code-generator-mips64.cc View 1 2 2 chunks +9 lines, -7 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 1 2 2 chunks +9 lines, -7 lines 0 comments Download
M test/cctest/wasm/test-run-wasm.cc View 1 2 3 4 2 chunks +5 lines, -0 lines 0 comments Download
M test/cctest/wasm/test-run-wasm-64.cc View 1 2 3 4 2 chunks +4 lines, -0 lines 0 comments Download
M test/cctest/wasm/wasm-run-utils.h View 1 2 3 4 5 3 chunks +20 lines, -31 lines 0 comments Download

Messages

Total messages: 44 (31 generated)
ahaas
3 years, 10 months ago (2017-02-07 14:30:35 UTC) #1
Rodolph Perfetta (ARM)
The arm/arm64 parts look good. Only minor nits. https://codereview.chromium.org/2685583003/diff/60001/src/arm64/macro-assembler-arm64.cc File src/arm64/macro-assembler-arm64.cc (right): https://codereview.chromium.org/2685583003/diff/60001/src/arm64/macro-assembler-arm64.cc#newcode2672 src/arm64/macro-assembler-arm64.cc:2672: __ ...
3 years, 10 months ago (2017-02-08 01:40:55 UTC) #19
ahaas
https://codereview.chromium.org/2685583003/diff/60001/src/arm64/macro-assembler-arm64.cc File src/arm64/macro-assembler-arm64.cc (right): https://codereview.chromium.org/2685583003/diff/60001/src/arm64/macro-assembler-arm64.cc#newcode2672 src/arm64/macro-assembler-arm64.cc:2672: __ Push(lr, fp); On 2017/02/08 at 01:40:55, Rodolph Perfetta ...
3 years, 10 months ago (2017-02-08 09:11:46 UTC) #22
Rodolph Perfetta (ARM)
the arm/arm64 parts look fine.
3 years, 10 months ago (2017-02-08 20:50:36 UTC) #25
Clemens Hammacher
This implementation is problematic if there is more than one wasm function on the stack. ...
3 years, 10 months ago (2017-02-08 22:13:21 UTC) #26
ahaas
On 2017/02/08 at 22:13:21, clemensh wrote: > This implementation is problematic if there is more ...
3 years, 10 months ago (2017-02-09 08:56:03 UTC) #27
ahaas
https://codereview.chromium.org/2685583003/diff/80001/src/arm64/macro-assembler-arm64.cc File src/arm64/macro-assembler-arm64.cc (right): https://codereview.chromium.org/2685583003/diff/80001/src/arm64/macro-assembler-arm64.cc#newcode2693 src/arm64/macro-assembler-arm64.cc:2693: if (type == StackFrame::WASM_COMPILED) { On 2017/02/08 at 22:13:20, ...
3 years, 10 months ago (2017-02-09 16:59:37 UTC) #32
Clemens Hammacher
lgtm
3 years, 10 months ago (2017-02-10 12:17:57 UTC) #33
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/2685583003/100001
3 years, 10 months ago (2017-02-10 12:48:42 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/34454)
3 years, 10 months ago (2017-02-10 12:51:33 UTC) #37
Jarin
lgtm
3 years, 10 months ago (2017-02-10 12:56:01 UTC) #39
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/2685583003/100001
3 years, 10 months ago (2017-02-10 12:56:39 UTC) #41
commit-bot: I haz the power
3 years, 10 months ago (2017-02-10 13:11:51 UTC) #44
Message was sent while issue was closed.
Committed patchset #6 (id:100001) as
https://chromium.googlesource.com/v8/v8/+/79570f87a1b467846a51c60186e4707f68a...

Powered by Google App Engine
This is Rietveld 408576698