Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 809790625dc81779661a1edd255dbb9f9daf2ebd
      
https://github.com/WebKit/WebKit/commit/809790625dc81779661a1edd255dbb9f9daf2ebd
  Author: Yusuke Suzuki <[email protected]>
  Date:   2023-11-09 (Thu, 09 Nov 2023)

  Changed paths:
    M Source/JavaScriptCore/heap/Heap.cpp
    M Source/JavaScriptCore/heap/Heap.h
    M Source/JavaScriptCore/runtime/VM.cpp
    M Source/WebCore/page/Page.cpp

  Log Message:
  -----------
  [JSC] Prefer full GC on opportunistic GC when navigation happens
https://bugs.webkit.org/show_bug.cgi?id=264492
rdar://118179290

Reviewed by Wenson Hsieh.

Previously, when navigation happens, opportunistic GC may perform full GC.
But this happens only when GC statistics says "we should do full GC instead of 
eden GC
based on memory usage".

But this happens only when navigation happens, and if we have enough time, then 
it is
nice if we can just do full GC instead of eden GC even though we are not 
reaching to
full GC threshold since (1) there are out-living objects and they can be 
collected only
in full GC and (2) it is likely that most of objects are already garbage when 
navigation
happens regardless of allocation threshold.

This patch changes scheduleOpportunisticFullCollectionIfNeeded to attempt to 
perform full
GC always when navigation happens.

* Source/JavaScriptCore/heap/Heap.cpp:
(JSC::Heap::scheduleOpportunisticFullCollectionIfNeeded):

Canonical link: https://commits.webkit.org/270502@main


_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to