v8/test
Dan Elphick 600641338d Reland "[heap] Mark RO_SPACE as read-only after deserialization"
This is a reland of 40f1aaf330

Put back padding clearing into the SerializeObject method but only when
the String is not in RO_SPACE. For RO_SPACE strings, if required
iterate over the space before serialization clearing the strings.

Original change's description:
> [heap] Mark RO_SPACE as read-only after deserialization
>
> Adds MarkAsReadOnly and MarkAsReadWrite to ReadOnlySpace. The latter
> is only usable with ReadOnlySpace::WritableScope to avoid the space
> being left writable). MarkAsReadOnly updates the high water mark and
> makes several previously mutating methods into no-ops.
>
> Moves some writes to immutable objects out of the bootstrapper to
> setup-heap-internal so they don't write to a read-only page.
>
> Also avoid writing hashes to strings that already have the value set as
> that invariably means writing to the "0" and "1" constant strings in
> RO_SPACE.
>
> Before serialization, it makes RO_SPACE writable again so that any
> padding can be cleared before writing it.
>
> Bug: v8:7464
> Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
> Change-Id: I22edc20dba7dde8943991a8fcaf87244af4490a3
> Reviewed-on: https://chromium-review.googlesource.com/1014128
> Commit-Queue: Dan Elphick <delphick@chromium.org>
> Reviewed-by: Hannes Payer <hpayer@chromium.org>
> Reviewed-by: Yang Guo <yangguo@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#52943}

Bug: v8:7464
Change-Id: Ia8386c4ff5f5df3207f584caf7a9b1ff1e405f25
Cq-Include-Trybots: luci.chromium.try:linux_chromium_rel_ng
Reviewed-on: https://chromium-review.googlesource.com/1042145
Reviewed-by: Hannes Payer <hpayer@chromium.org>
Reviewed-by: Jakob Gruber <jgruber@chromium.org>
Commit-Queue: Dan Elphick <delphick@chromium.org>
Cr-Commit-Position: refs/heads/master@{#53087}
2018-05-09 08:31:49 +00:00
..
benchmarks Reland "[build] Remove legacy isolate configurations" 2018-03-28 12:36:55 +00:00
cctest Reland "[heap] Mark RO_SPACE as read-only after deserialization" 2018-05-09 08:31:49 +00:00
common [wasm] Make wasm::ValueType independent of the MachineRepresentation 2018-05-07 11:54:56 +00:00
debugger [wasm] Create module object in async compilation earlier. 2018-05-09 07:54:56 +00:00
fuzzer [wasm] Make wasm::ValueType independent of the MachineRepresentation 2018-05-07 11:54:56 +00:00
inspector [test] Reverse sense of wasm_traps variant 2018-05-08 17:49:14 +00:00
intl [test] Reverse sense of wasm_traps variant 2018-05-08 17:49:14 +00:00
js-perf-test [string] Add a perf test for String.p.split 2018-05-08 12:19:52 +00:00
memory [snapshot] Track deserialization time in Memory benchmark 2018-05-02 13:34:47 +00:00
message Convert all CRLF to LF 2018-05-07 18:55:09 +00:00
mjsunit [wasm] Create module object in async compilation earlier. 2018-05-09 07:54:56 +00:00
mkgrokdump Disable embedded builtins 2018-05-08 11:21:37 +00:00
mozilla [test] Reverse sense of wasm_traps variant 2018-05-08 17:49:14 +00:00
preparser Reland "[build] Remove legacy isolate configurations" 2018-03-28 12:36:55 +00:00
test262 [test] Reverse sense of wasm_traps variant 2018-05-08 17:49:14 +00:00
unittests [turbofan] Optimize array destructuring 2018-05-08 06:21:37 +00:00
wasm-spec-tests [wasm] Update spec tests 2018-04-25 12:02:21 +00:00
webkit [test] Reverse sense of wasm_traps variant 2018-05-08 17:49:14 +00:00
BUILD.gn Reland "[build] Remove legacy isolate configurations" 2018-03-28 12:36:55 +00:00