v8/test
vogelheim 25d59e9d48 Revert of Reland [heap] Avoid the use of cells to point from code to new-space objects. (patchset #3 id:40001 of https://codereview.chromium.org/2091733002/ )
Reason for revert:
This breaks gc-stress bot: https://chromegw.corp.google.com/i/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot

#
# Fatal error in ../../src/heap/mark-compact.cc, line 3715
# Check failed: Page::FromAddress(reinterpret_cast<HeapObject*>(*slot)->address()) ->IsFlagSet(Page::PAGE_NEW_NEW_PROMOTION).
#

I can reproduce locally, and local revert also fixes it -> revert.

Reproduce with:
 out/Debug/d8 --test --random-seed=2140216864 --nohard-abort --nodead-code-elimination --nofold-constants --enable-slow-asserts --debug-code --verify-heap --allow-natives-syntax --harmony-tailcalls test/mjsunit/mjsunit.js  test/mjsunit/es6/tail-call-megatest-shard2.js --gc-interval=500 --stress-compaction --concurrent-recompilation-queue-length=64 --concurrent-recompilation-delay=500 --concurrent-recompilation

(Maybe run in loop; it's flaky when broken; but passes reliably w/ revert.)

Original issue's description:
> Reland [heap] Avoid the use of cells to point from code to new-space objects.
>
> The reason for reverting was: [Sheriff] Breaks arm debug:
> https://build.chromium.org/p/client.v8.ports/builders/V8%20Linux%20-%20arm%20-%20sim%20-%20debug/builds/1038.
>
> The problem was the dereferencing of handles for smi checks. It turned out
> that these smi checks can be removed anyways, both on arm and on mips.
>
> Additionally some rebasing was necessary.
>
> Original issue's description:
>
> Cells were needed originally because there was no typed remembered set to
> record direct pointers from code space to new space. A previous
> CL (https://codereview.chromium.org/2003553002/) already introduced
> the remembered set, this CL uses it.
>
> This CL
> * stores direct pointers in code objects, even if the target is in new space,
> * records the slot of the pointer in typed-old-to-new remembered set,
> * adds a list which stores weak code-to-new-space references,
> * adds a test to test-heap.cc for weak code-to-new-space references,
> * removes prints in tail-call-megatest.js
>
> R=mlippautz@chromium.org
>
> Committed: https://crrev.com/5508e16592522658587da71ba6743c8e832fe4d1
> Cr-Commit-Position: refs/heads/master@{#37217}

TBR=mlippautz@chromium.org,ahaas@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true

Review-Url: https://codereview.chromium.org/2090983002
Cr-Commit-Position: refs/heads/master@{#37221}
2016-06-23 16:05:46 +00:00
..
benchmarks [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
cctest Revert of Reland [heap] Avoid the use of cells to point from code to new-space objects. (patchset #3 id:40001 of https://codereview.chromium.org/2091733002/ ) 2016-06-23 16:05:46 +00:00
fuzzer [wasm] Consolidate CompileAndRunWasmModule 2016-06-22 21:39:14 +00:00
intl Fix Intl*parsing tests and test status 2016-05-27 17:59:19 +00:00
js-perf-test [test] Fix result regexp in JSTests.json. 2016-06-06 09:07:33 +00:00
memory [snapshot] support multiple contexts in the same snapshot. 2016-06-15 15:39:06 +00:00
message [test] Remove obsolete status file entries. 2016-05-30 13:22:51 +00:00
mjsunit Fix Object.prototype.toString() when @@toStringTag is not a string. 2016-06-23 13:39:59 +00:00
mozilla [turbofan] Implement top-level lookup slot declaration. 2016-05-10 08:19:22 +00:00
preparser [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
promises-aplus Make test262 test runner check for which exception is thrown 2016-03-14 21:20:37 +00:00
simdjs [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
test262 Reland: change most cases of variable redeclaration from TypeError to SyntaxError. 2016-06-21 20:19:59 +00:00
unittests Fix int64 lowering on big-endian architectures. 2016-06-23 11:41:07 +00:00
webkit X87: Skip slow test. 2016-06-21 02:03:57 +00:00
bot_default.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
bot_default.isolate Add a library suitable for libfuzzer with a small unit test runner shell 2016-01-26 10:39:03 +00:00
BUILD.gn [gn] Port test262 archiving to gn 2016-06-06 08:56:58 +00:00
default.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
default.isolate Add a library suitable for libfuzzer with a small unit test runner shell 2016-01-26 10:39:03 +00:00
ignition.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
ignition.isolate [testing] Extend interpreter testing to webkit suite. 2016-03-14 16:12:50 +00:00
optimize_for_size.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
optimize_for_size.isolate [swarming] Roll luci-go/isolate to 5c67f7b670b5. 2016-01-19 17:03:56 +00:00
perf.gyp [gn] Move build to gypfiles 2016-04-29 10:11:11 +00:00
perf.isolate [Swarming] Isolate perf tests. 2016-02-15 11:17:18 +00:00