|
|
Description[Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition
mjsunit/es6/mirror-collections fails with ignition because dead registers
may hold references to objects. This prevents GC from collecting
otherwise dead objects. Dead registers are not cleared because the cost
of clearing them outweighs its benefits. Hence, modifying this test to
work around this problem.
BUG=v8:4280, v8:4853
LOG=N
Committed: https://crrev.com/a64b1d876797f9824d3b31cd9ba8f43f284b783e
Cr-Commit-Position: refs/heads/master@{#36098}
Patch Set 1 #Patch Set 2 : correct fix this time. #Patch Set 3 : updated test expectations in mjsunit.status #
Total comments: 2
Patch Set 4 : Updated as suggested by Ross. #Messages
Total messages: 34 (17 generated)
The CQ bit was checked by mythria@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1945223002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1945223002/1
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: v8_linux64_asan_rel_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_asan_rel_ng/buil...) v8_linux64_asan_rel_ng_triggered on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_asan_rel_ng_trig...)
The CQ bit was checked by mythria@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1945223002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1945223002/20001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: v8_win_nosnap_shared_rel_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_win_nosnap_shared_rel_ng...) v8_win_nosnap_shared_rel_ng_triggered on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_win_nosnap_shared_rel_ng...)
The CQ bit was checked by mythria@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1945223002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1945223002/40001
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
Description was changed from ========== [Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition mjsunit/es6/mirror-collections does not work with ignition because dead registers are not cleared. The cost of clearing the dead registers will outweigh its benefits. Hence dead registers will not be cleared. Modifying this test to work with ignition. BUG=v8:4280,v8:4853 LOG=N ========== to ========== [Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition mjsunit/es6/mirror-collections fails with ignition because dead registers may hold references to objects. GC will believe they are live and does not collect them. Dead registers are not cleared because the cost of clearing them outweighs its benefits. Hence, modifying this test to work around this problem. BUG=v8:4280,v8:4853 LOG=N ==========
Description was changed from ========== [Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition mjsunit/es6/mirror-collections fails with ignition because dead registers may hold references to objects. GC will believe they are live and does not collect them. Dead registers are not cleared because the cost of clearing them outweighs its benefits. Hence, modifying this test to work around this problem. BUG=v8:4280,v8:4853 LOG=N ========== to ========== [Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition mjsunit/es6/mirror-collections fails with ignition because dead registers may hold references to objects. This prevents GC from collecting otherwise dead objects. Dead registers are not cleared because the cost of clearing them outweighs its benefits. Hence, modifying this test to work around this problem. BUG=v8:4280,v8:4853 LOG=N ==========
Description was changed from ========== [Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition mjsunit/es6/mirror-collections fails with ignition because dead registers may hold references to objects. This prevents GC from collecting otherwise dead objects. Dead registers are not cleared because the cost of clearing them outweighs its benefits. Hence, modifying this test to work around this problem. BUG=v8:4280,v8:4853 LOG=N ========== to ========== [Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition mjsunit/es6/mirror-collections fails with ignition because dead registers may hold references to objects. This prevents GC from collecting otherwise dead objects. Dead registers are not cleared because the cost of clearing them outweighs its benefits. Hence, modifying this test to work around this problem. BUG=v8:4280,v8:4853 LOG=N ==========
Description was changed from ========== [Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition mjsunit/es6/mirror-collections fails with ignition because dead registers may hold references to objects. This prevents GC from collecting otherwise dead objects. Dead registers are not cleared because the cost of clearing them outweighs its benefits. Hence, modifying this test to work around this problem. BUG=v8:4280,v8:4853 LOG=N ========== to ========== [Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition mjsunit/es6/mirror-collections fails with ignition because dead registers may hold references to objects. This prevents GC from collecting otherwise dead objects. Dead registers are not cleared because the cost of clearing them outweighs its benefits. Hence, modifying this test to work around this problem. BUG=v8:4280,v8:4853 LOG=N ==========
mythria@chromium.org changed reviewers: + rmcilroy@chromium.org
PTAL. Thanks, Mythri
https://codereview.chromium.org/1945223002/diff/40001/test/mjsunit/es6/mirror... File test/mjsunit/es6/mirror-collections.js (right): https://codereview.chromium.org/1945223002/diff/40001/test/mjsunit/es6/mirror... test/mjsunit/es6/mirror-collections.js:108: assertTrue(getWeakMapLength(weakMapMirror) <= 5); I think it would be cleaner just to wrap all the set code in a single function, e.g.: function initWeakMapEntries(weakMap) { weakMap.set(o1, 11); ... return weakMapMirror; } var weakMap = new WeakMap(); var weakMapMirror = initWeakMapEntries(weakMap); gc(); WDYT?
The CQ bit was checked by mythria@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1945223002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1945223002/60001
https://codereview.chromium.org/1945223002/diff/40001/test/mjsunit/es6/mirror... File test/mjsunit/es6/mirror-collections.js (right): https://codereview.chromium.org/1945223002/diff/40001/test/mjsunit/es6/mirror... test/mjsunit/es6/mirror-collections.js:108: assertTrue(getWeakMapLength(weakMapMirror) <= 5); On 2016/05/04 14:36:50, rmcilroy wrote: > I think it would be cleaner just to wrap all the set code in a single function, > e.g.: > > function initWeakMapEntries(weakMap) { > weakMap.set(o1, 11); > ... > return weakMapMirror; > } > > var weakMap = new WeakMap(); > var weakMapMirror = initWeakMapEntries(weakMap); > gc(); > > WDYT? Thanks, it looks much cleaner. Done.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
mythria@chromium.org changed reviewers: + yangguo@chromium.org
Hi Yang, I updated mjsunit/es6/mirror-collections test to work with ignition. We have decided not to clear dead registers since it is expensive and does not have significant impact on heap size. PTAL. Thanks, Mythri
LGTM if Yang agrees.
On 2016/05/05 09:23:55, rmcilroy wrote: > LGTM if Yang agrees. LGTM.
The CQ bit was checked by mythria@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1945223002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1945223002/60001
Message was sent while issue was closed.
Description was changed from ========== [Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition mjsunit/es6/mirror-collections fails with ignition because dead registers may hold references to objects. This prevents GC from collecting otherwise dead objects. Dead registers are not cleared because the cost of clearing them outweighs its benefits. Hence, modifying this test to work around this problem. BUG=v8:4280,v8:4853 LOG=N ========== to ========== [Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition mjsunit/es6/mirror-collections fails with ignition because dead registers may hold references to objects. This prevents GC from collecting otherwise dead objects. Dead registers are not cleared because the cost of clearing them outweighs its benefits. Hence, modifying this test to work around this problem. BUG=v8:4280,v8:4853 LOG=N ==========
Message was sent while issue was closed.
Committed patchset #4 (id:60001)
Message was sent while issue was closed.
Description was changed from ========== [Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition mjsunit/es6/mirror-collections fails with ignition because dead registers may hold references to objects. This prevents GC from collecting otherwise dead objects. Dead registers are not cleared because the cost of clearing them outweighs its benefits. Hence, modifying this test to work around this problem. BUG=v8:4280,v8:4853 LOG=N ========== to ========== [Interpreter] Updates mjsunit/es6/mirror-collections to work with ignition mjsunit/es6/mirror-collections fails with ignition because dead registers may hold references to objects. This prevents GC from collecting otherwise dead objects. Dead registers are not cleared because the cost of clearing them outweighs its benefits. Hence, modifying this test to work around this problem. BUG=v8:4280,v8:4853 LOG=N Committed: https://crrev.com/a64b1d876797f9824d3b31cd9ba8f43f284b783e Cr-Commit-Position: refs/heads/master@{#36098} ==========
Message was sent while issue was closed.
Patchset 4 (id:??) landed as https://crrev.com/a64b1d876797f9824d3b31cd9ba8f43f284b783e Cr-Commit-Position: refs/heads/master@{#36098} |