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

Issue 1185633002: Additional HandleScopes to limit Handle consumption. (Closed)

Created:
5 years, 6 months ago by oth
Modified:
5 years, 6 months ago
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Additional HandleScopes to limit Handle consumption. erikcorry@chromium.org suggested digging into v8 handle usage. Found potential scopes in ast.cc and runtime-literals.cc and added tests. The runtime-literals.cc change reduces peak handles in imaging-darkroom.js from 1,282,610 to 428,218. The ast.cc change reduces the peak handles in string-tagcloud.js from 80,738 to 8,176. No significant handle count issues found with major websites, but substantial savings on some benchmarks and demos: Kraken's imaging-darkroom.js down from 1,282,610 to 428,218 due to runtime-literals.cc scope. SunSpider's string-tagcloud.js down from 80,738 to 8.176 due to ast.cc http://www.flohofwoe.net/demos/dragons_asmjs.html (738,906 -> 478,296) http://www.flohofwoe.net/demos/instancing_asmjs.html (737,884 -> 477,274) https://dl.dropboxusercontent.com/u/16662598/Ports/DOSBox-web/doom.html?engine=dosbox-growth.js (1,724,114 -> 1,087,408) https://kripken.github.io/ammo.js/examples/new/ammo.html (175,784 -> 142,058) BUG= Committed: https://crrev.com/3a4c7538839186aa38910c66c986abb563f4ccd2 Cr-Commit-Position: refs/heads/master@{#29155}

Patch Set 1 #

Patch Set 2 : Rebase #

Total comments: 4

Patch Set 3 : Incorporate patch set 2 comments and revise handle limits to match current tree. #

Patch Set 4 : Refine comment. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1260 lines, -13 lines) Patch
M src/ast.cc View 1 2 3 1 chunk +3 lines, -1 line 0 comments Download
M src/handles.h View 1 2 1 chunk +2 lines, -0 lines 0 comments Download
M src/handles-inl.h View 1 chunk +13 lines, -1 line 0 comments Download
M src/heap/heap.cc View 1 2 chunks +4 lines, -2 lines 0 comments Download
M src/runtime/runtime-literals.cc View 1 1 chunk +1 line, -0 lines 0 comments Download
M test/cctest/test-types.cc View 2 chunks +2 lines, -0 lines 0 comments Download
A + test/mjsunit/handle-count-ast.js View 1 2 1 chunk +5 lines, -9 lines 0 comments Download
A test/mjsunit/handle-count-runtime-literals.js View 1 2 1 chunk +1230 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (9 generated)
oth
Yang, Erik please take a look at the changes here. Thanks!
5 years, 6 months ago (2015-06-12 10:23:33 UTC) #2
Erik Corry Chromium.org
lgtm https://codereview.chromium.org/1185633002/diff/20001/src/ast.cc File src/ast.cc (right): https://codereview.chromium.org/1185633002/diff/20001/src/ast.cc#newcode544 src/ast.cc:544: HandleScope scope(isolate); Please add comment explaining why this ...
5 years, 6 months ago (2015-06-15 09:42:58 UTC) #3
oth
Thanks! Revised code per comments. Had to shift handle thresholds to be able to get ...
5 years, 6 months ago (2015-06-15 13:34:03 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1185633002/50001
5 years, 6 months ago (2015-06-19 09:56:25 UTC) #7
Erik Corry Chromium.org
lgtm
5 years, 6 months ago (2015-06-19 10:08:35 UTC) #8
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 6 months ago (2015-06-19 10:40:42 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1185633002/50001
5 years, 6 months ago (2015-06-19 12:42:37 UTC) #12
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/3547)
5 years, 6 months ago (2015-06-19 12:56:07 UTC) #14
rmcilroy
On 2015/06/19 12:56:07, commit-bot: I haz the power wrote: > Try jobs failed on following ...
5 years, 6 months ago (2015-06-19 15:14:41 UTC) #15
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1185633002/50001
5 years, 6 months ago (2015-06-19 15:16:25 UTC) #17
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
5 years, 6 months ago (2015-06-19 15:18:09 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1185633002/50001
5 years, 6 months ago (2015-06-19 16:02:04 UTC) #21
commit-bot: I haz the power
Committed patchset #4 (id:50001)
5 years, 6 months ago (2015-06-19 16:04:20 UTC) #22
commit-bot: I haz the power
Patchset 4 (id:??) landed as https://crrev.com/3a4c7538839186aa38910c66c986abb563f4ccd2 Cr-Commit-Position: refs/heads/master@{#29155}
5 years, 6 months ago (2015-06-19 16:04:33 UTC) #23
arv (Not doing code reviews)
A revert of this CL (patchset #4 id:50001) has been created in https://codereview.chromium.org/1194873004/ by arv@chromium.org. ...
5 years, 6 months ago (2015-06-19 18:24:48 UTC) #24
adamk
5 years, 6 months ago (2015-06-19 18:25:10 UTC) #25
Message was sent while issue was closed.
A revert of this CL (patchset #4 id:50001) has been created in
https://codereview.chromium.org/1192943002/ by adamk@chromium.org.

The reason for reverting is: CHECK failures in handles-inl.h on arm64 nosnap
debug:

http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20s....

Powered by Google App Engine
This is Rietveld 408576698