DescriptionEncode interpreter::SourcePositionTable as variable-length ints.
This reduces the memory consumption of SourcePositionTable by ca. 2/3.
Over Octane, this reduces the source position table memory consumption
from ~370kB to ~115kB, which makes it ca. 10% of the total bytecode size
(~1.1MB)
----------------
Reland CL in order to relive the glory days, and also fix memory leak w/ ENABLE_SLOW_CHECKS.
SourcePositionTableBuilder used to have a no destructor since everything
was zone allocated. But if ENABLE_SLOW_CHECKS, it has a heap allocated member
and thus needs a proper constructor. ASAN thankfully notices this, and V8 no
longer builds since this is called during mksnapshot.
Breakge example: http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20ASAN%20arm64%20-%20debug%20builder/builds/4829
R=jochen@chromium.org, yangguo@chromium.org, rmcilroy@chromium.org
BUG=v8:4690
LOG=y
Committed: https://crrev.com/a6f41f7b8226555c5900440f6e3092b3545ee0f6
Cr-Commit-Position: refs/heads/master@{#34250}
patch from issue 1704943002 at patchset 200001 (http://crrev.com/1704943002#ps200001)
Committed: https://crrev.com/cc40fcec6f2dad5c4197e66ca94342b5ad2917d7
Cr-Commit-Position: refs/heads/master@{#34256}
Patch Set 1 : Previous CL unmodified, for reference. #Patch Set 2 : Fix memory leak by adding destructor. #
Total comments: 1
Patch Set 3 : Really fix leak. SourcePositionTableBuilder is member of a zone-allocated object. #
Messages
Total messages: 21 (7 generated)
|