v8/test
Michael Starzinger 64d373e51e [heap] Fix i-cache flushing operation order.
This unifies the order of i-cache flushing and permission changing
throughout V8. According to cctest/test-icache flushing after the
permission change is not robust on some ARM32 and ARM64 devices.

There have been observed failures of {TestFlushICacheOfExecutable} on
some devices. So far there haven't been any observed failures of the
corresponding {TestFlushICacheOfWritable} test.

Also the order of flushing before the permission change is the natural
order in which the GC currently performs operations. Until we see
concrete data substantiating the opposite, the following is the
supported and intended order throughout V8:

  exec -> perm(RW) -> patch -> flush -> perm(RX) -> exec

This CL tries to establish said order throughout the codebase.

R=ulan@chromium.org
TEST=cctest/test-icache
BUG=v8:8507,chromium:845877

Change-Id: Ic945082e643aa2d142d222a7913a99816aff4644
Reviewed-on: https://chromium-review.googlesource.com/c/1351025
Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
Commit-Queue: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#57869}
2018-11-27 12:16:43 +00:00
..
benchmarks [test] Share resource-fetching logic with all d8 test cases 2018-08-29 17:51:43 +00:00
cctest [heap] Fix i-cache flushing operation order. 2018-11-27 12:16:43 +00:00
common [heap] Fix i-cache flushing operation order. 2018-11-27 12:16:43 +00:00
debugger [test] Skip slow tests on arm simulators 2018-10-17 08:52:47 +00:00
fuzzer [wasm][fuzzer] Output table bounds and initializers 2018-11-26 15:37:00 +00:00
inspector Skip pause-on-oom test in noembed builds 2018-11-26 13:55:30 +00:00
intl Drop regress-{8432,8413} from intl.status. 2018-11-18 09:07:16 +00:00
js-perf-test [Intl] Add benchmark for toLocaleString/localeCompare 2018-11-07 18:08:16 +00:00
memory [snapshot] Remove the builtins snapshot 2018-10-31 10:18:28 +00:00
message [parser] Cleanup pattern classification 2018-11-23 11:33:21 +00:00
mjsunit Fix Reflect.construct with constructors without a prototype slot 2018-11-27 11:52:41 +00:00
mkgrokdump [ubsan] Port Map to the new design 2018-11-13 06:59:12 +00:00
mozilla [runtime] Reduce spread/apply call max arguments 2018-11-22 12:08:17 +00:00
preparser [test] Share resource-fetching logic with all d8 test cases 2018-08-29 17:51:43 +00:00
test262 Add date range validity check to the date parser. 2018-11-27 10:28:30 +00:00
torque [torque] Simplify and cleanup Cast and UnsafeCast 2018-11-27 06:50:30 +00:00
unittests [scopes] Push unresolved variables at the back so we can MoveTail to rescope 2018-11-27 11:55:46 +00:00
wasm-js Reland "[wasm] Add a new wasm-js testsuite to run js-api tests" 2018-10-18 20:18:55 +00:00
wasm-spec-tests [wasm] Update wasm spec tests 2018-10-23 08:57:08 +00:00
webkit [runtime] Reduce spread/apply call max arguments 2018-11-22 12:08:17 +00:00
BUILD.gn Reland "[wasm] Add a new wasm-js testsuite to run js-api tests" 2018-10-18 20:18:55 +00:00