• Kim-Anh Tran's avatar
    Reland "[heap-snapshot] Preventing overflow in progress counter" · 4d937998
    Kim-Anh Tran authored
    This is a reland of 0e006a15
    Difference:
     * progress_total_ and progress_counter_ access are guarded by
       checking if control_ is set. If not, we do not report any progress
       and both are not set.
    
    Original change's description:
    > [heap-snapshot] Preventing overflow in progress counter
    >
    > This prevents an overflow to happen in the heap snapshot generator.
    > Furthermore it changes the relation of progress_counter_ and
    > progress_total_ to always adhere to:
    > * progress_counter_ <= progress_total_,
    > * if: progress_counter_ == progress_total_, then it is done.
    >
    > With this change, if progress_counter_ happens to be bigger
    > than progress_total_ (latter is an estimate), it will continue
    > to report the same progress (<100%) until it is done. Before,
    > it would repeatedly report 100% until it is done.
    >
    > Fixed: chromium:1246860
    > Change-Id: Iffd3f52355632f2b35abdbb3752912ba7b8bd821
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3250310
    > Reviewed-by: Yang Guo <yangguo@chromium.org>
    > Commit-Queue: Kim-Anh Tran <kimanh@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#77589}
    
    Bug: chromium:1246860
    Change-Id: I7522c1fe011954dd18828bdef507abe3e0237d42
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3251170Reviewed-by: 's avatarYang Guo <yangguo@chromium.org>
    Commit-Queue: Kim-Anh Tran <kimanh@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#77608}
    4d937998
heap-snapshot-generator.cc 109 KB