• Omer Katz's avatar
    cppgc: Eliminate marking boilerplate · 18ff5660
    Omer Katz authored
    Starting marking required Creating a Marker and calling StartMarking.
    StartMarking should always have been called immediately after creating
    the marker.
    Since markers are not persisted between GC (a marker exists only while
    marking is in progress), it makes sense to start marking implicitly when
    a marker is created.
    
    Calling StartMarking in MarkerBase ctor is inadvisable since subclasses
    might still to initialize fields.
    Using MarkerFactory instead guarantees that StartMarking is always
    called immediately after creating a Marker.
    
    Bug: chromium:1056170
    Change-Id: Icbf11afd848e1618c204ca6bf951600b3ae9fef2
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2375199
    Commit-Queue: Omer Katz <omerkatz@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Reviewed-by: 's avatarAnton Bikineev <bikineev@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69601}
    18ff5660
marking-visitor-unittest.cc 8.62 KB