DescriptionAdditional 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. #
Messages
Total messages: 25 (9 generated)
|