New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 652721 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jul 2017
Cc:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Feature

Blocking:
issue v8:5094



Sign in to add a comment

Allow arbitrary large V8 heaps

Project Member Reported by mlippautz@chromium.org, Oct 4 2016

Issue description

Tracking bug for refactorings that enable arbitrary large V8 heaps.
 
Blocking: v8:5094

Comment 6 by u...@chromium.org, Nov 9 2016

Fixing https://bugs.chromium.org/p/v8/issues/detail?id=5614 would help a lot here.
Project Member

Comment 7 by bugdroid1@chromium.org, Nov 14 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/71a7bca990c557a7106fa89ab6bff08b09e3b243

commit 71a7bca990c557a7106fa89ab6bff08b09e3b243
Author: ulan <ulan@chromium.org>
Date: Mon Nov 14 16:46:42 2016

[heap] Use size_t for heap and space counters.

BUG= chromium:652721 

Review-Url: https://codereview.chromium.org/2490523003
Cr-Commit-Position: refs/heads/master@{#40972}

[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/extensions/statistics-extension.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/heap/gc-tracer.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/heap/heap.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/heap/heap.h
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/heap/spaces-inl.h
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/heap/spaces.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/heap/spaces.h
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/ia32/assembler-ia32.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/objects-debug.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/x64/assembler-x64.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/x87/assembler-x87.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/test/cctest/heap/test-alloc.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/test/cctest/heap/test-spaces.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/test/cctest/test-api.cc

Project Member

Comment 8 by bugdroid1@chromium.org, Nov 18 2016

Labels: merge-merged-5.6
The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/71a7bca990c557a7106fa89ab6bff08b09e3b243

commit 71a7bca990c557a7106fa89ab6bff08b09e3b243
Author: ulan <ulan@chromium.org>
Date: Mon Nov 14 16:46:42 2016

[heap] Use size_t for heap and space counters.

BUG= chromium:652721 

Review-Url: https://codereview.chromium.org/2490523003
Cr-Commit-Position: refs/heads/master@{#40972}

[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/extensions/statistics-extension.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/heap/gc-tracer.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/heap/heap.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/heap/heap.h
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/heap/spaces-inl.h
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/heap/spaces.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/heap/spaces.h
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/ia32/assembler-ia32.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/objects-debug.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/x64/assembler-x64.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/src/x87/assembler-x87.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/test/cctest/heap/test-alloc.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/test/cctest/heap/test-heap.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/test/cctest/heap/test-spaces.cc
[modify] https://crrev.com/71a7bca990c557a7106fa89ab6bff08b09e3b243/test/cctest/test-api.cc

Project Member

Comment 9 by bugdroid1@chromium.org, Nov 18 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/v8/v8.git/+/5f06c1a1f32682e6b487a861227d526f36b3b388

commit 5f06c1a1f32682e6b487a861227d526f36b3b388
Author: ulan <ulan@chromium.org>
Date: Fri Nov 18 14:31:09 2016

[heap, runtime] Set upper limit on the size of fast fixed arrays that
are created using new Array(N) and setLength(N).

Currently the limit is based on max old generation size, which
will break with the upcoming change that allows large heaps.

BUG= chromium:652721 

Review-Url: https://codereview.chromium.org/2513923002
Cr-Commit-Position: refs/heads/master@{#41112}

[modify] https://crrev.com/5f06c1a1f32682e6b487a861227d526f36b3b388/src/objects-inl.h

Comment 10 by u...@chromium.org, Nov 18 2016

I tested chrome running with 3GB heap.

We get some long pauses dominated by external.epilogue=315.4 and finish=134.9.


 146193 ms: pause=577.3 mutator=1131.1 gc=ms reduce_memory=0 clear=68 clear.code_flush=7.4 clear.dependent_code=2.4 clear.global_handles=0.1 clear.maps=13.2 clear.slots_buffer=0.0 clear.store_buffer=0.0 clear.string_table=7.2 clear.weak_cells=5.1 clear.weak_collections=0.0 clear.weak_lists=32.3 epilogue=0.0 evacuate=26.6 evacuate.candidates=0.0 evacuate.clean_up=0.1 evacuate.copy=2.5 evacuate.update_pointers=24.0 evacuate.update_pointers.to_evacuated=1.7 evacuate.update_pointers.to_new=21.2 evacuate.update_pointers.weak=1.1 external.prologue=11.7 external.epilogue=315.4 external.weak_global_handles=3.8 finish=134.9 mark=9.0 mark.finish_incremental=0.8 mark.object_grouping=3.6 mark.prepare_code_flush=0.1 mark.roots=1.9 mark.weak_closure=6.1 mark.weak_closure.ephemeral=3.6 mark.weak_closure.weak_handles=1.1 mark.weak_closure.weak_roots=1.5 mark.weak_closure.harmony=0.0 mark.wrapper_prologue=0.0 mark.wrapper_epilogue=0.0 mark.wrapper_tracing=0.0 prologue=0.8 sweep=3.8 sweep.code=0.1 sweep.map=0.1 sweep.old=1.4 incremental=3906.1 incremental.finalize=307.6 incremental.finalize.body=247.7 incremental.finalize.external.prologue=59.9 incremental.finalize.external.epilogue=0.0 incremental.finalize.object_grouping=11.3 incremental.sweeping=13.2 incremental.wrapper_prologue=0.0 incremental.wrapper_tracing=0.0 incremental_wrapper_tracing_longest_step=0.0 incremental_finalize_longest_step=230.6 incremental_finalize_steps_count=3 incremental_longest_step=36.5 incremental_steps_count=735 incremental_marking_throughput=544139 incremental_walltime_duration=5703 total_size_before=2164012352 total_size_after=1770025848 holes_size_before=513398320 holes_size_after=3165048 allocated=5705512 promoted=2514968 semi_space_copied=819704 nodes_died_in_new=46 nodes_copied_in_new=183 nodes_promoted=893 promotion_ratio=46.0% average_survival_ratio=45.8% promotion_rate=78.3% semi_space_copy_rate=15.0% new_space_allocation_throughput=15063.9 context_disposal_rate=1084.0 compaction_speed=329059

Comment 11 by u...@chromium.org, Nov 18 2016

Scavenger is also slow due to external.epilogue=120.60:

[35238:0x214ed7749000]   357579 ms: pause=131.3 mutator=381.7 gc=s reduce_memory=0 scavenge=10.23 old_new=4.45 weak=0.00 roots=0.28 code=0.00 semispace=0.79 external.prologue=0.02 external.epilogue=120.60 external_weak_global_handles=0.03 steps_count=0 steps_took=0.0 scavenge_throughput=1073741824 total_size_before=2131750392 total_size_after=2130745600 holes_size_before=18903456 holes_size_after=18501976 allocated=1564176 promoted=446760 semi_space_copied=95200 nodes_died_in_new=225 nodes_copied_in_new=51 nodes_promoted=448 promotion_ratio=28.9% average_survival_ratio=14.4% promotion_rate=59.0% semi_space_copy_rate=6.2% new_space_allocation_throughput=1852.0 context_disposal_rate=16267.9
Cc: -u...@chromium.org mlippautz@chromium.org
Owner: u...@chromium.org
Status: Started (was: Assigned)
Ulan, throwing this over to you since you did most of the work here :)

Comment 13 by u...@chromium.org, Jul 24 2017

Status: Fixed (was: Started)
Closing this since most of the work is done.

Sign in to add a comment