Allow arbitrary large V8 heaps |
|||||
Issue descriptionTracking bug for refactorings that enable arbitrary large V8 heaps.
,
Oct 6 2016
,
Oct 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/f2c0f97ad83c00a3f8144200a91f56c8c608bdd4 commit f2c0f97ad83c00a3f8144200a91f56c8c608bdd4 Author: mlippautz <mlippautz@chromium.org> Date: Tue Oct 11 08:24:22 2016 [heap] MemoryAllocator: Use size_t consistently BUG= chromium:652721 R=ulan@chromium.org Review-Url: https://codereview.chromium.org/2406913002 Cr-Commit-Position: refs/heads/master@{#40155} [modify] https://crrev.com/f2c0f97ad83c00a3f8144200a91f56c8c608bdd4/src/heap/heap.cc [modify] https://crrev.com/f2c0f97ad83c00a3f8144200a91f56c8c608bdd4/src/heap/spaces.cc [modify] https://crrev.com/f2c0f97ad83c00a3f8144200a91f56c8c608bdd4/src/heap/spaces.h
,
Oct 11 2016
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/abe50f04bec339d85f331317749ff957ef85b386 commit abe50f04bec339d85f331317749ff957ef85b386 Author: ulan <ulan@chromium.org> Date: Tue Oct 11 15:30:44 2016 [heap] User size_t in GcTracer BUG= chromium:652721 Review-Url: https://codereview.chromium.org/2408093003 Cr-Commit-Position: refs/heads/master@{#40179} [modify] https://crrev.com/abe50f04bec339d85f331317749ff957ef85b386/src/heap/gc-tracer.cc [modify] https://crrev.com/abe50f04bec339d85f331317749ff957ef85b386/src/heap/gc-tracer.h
,
Oct 13 2016
The following revision refers to this bug: https://chromium.googlesource.com/v8/v8.git/+/5831264356d44bf3f6a87e671622d163e586747e commit 5831264356d44bf3f6a87e671622d163e586747e Author: ulan <ulan@chromium.org> Date: Thu Oct 13 10:50:39 2016 [heap] Use size_t in free list and evacuation candidate selection. BUG= chromium:652721 Review-Url: https://codereview.chromium.org/2406363002 Cr-Commit-Position: refs/heads/master@{#40250} [modify] https://crrev.com/5831264356d44bf3f6a87e671622d163e586747e/src/globals.h [modify] https://crrev.com/5831264356d44bf3f6a87e671622d163e586747e/src/heap/mark-compact.cc [modify] https://crrev.com/5831264356d44bf3f6a87e671622d163e586747e/src/heap/mark-compact.h [modify] https://crrev.com/5831264356d44bf3f6a87e671622d163e586747e/src/heap/spaces-inl.h [modify] https://crrev.com/5831264356d44bf3f6a87e671622d163e586747e/src/heap/spaces.cc [modify] https://crrev.com/5831264356d44bf3f6a87e671622d163e586747e/src/heap/spaces.h [modify] https://crrev.com/5831264356d44bf3f6a87e671622d163e586747e/test/cctest/heap/heap-utils.cc
,
Nov 9 2016
Fixing https://bugs.chromium.org/p/v8/issues/detail?id=5614 would help a lot here.
,
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
,
Nov 18 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
,
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
,
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
,
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
,
Feb 7 2017
Ulan, throwing this over to you since you did most of the work here :)
,
Jul 24 2017
Closing this since most of the work is done. |
|||||
►
Sign in to add a comment |
|||||
Comment 1 by bugdroid1@chromium.org
, Oct 5 2016