RFR: 8253180: ZGC: Implementation of JEP 376: ZGC: Concurrent Thread-Stack Processing [v6]

Albert Mingkun Yang ayang at openjdk.java.net
Thu Sep 24 21:23:13 UTC 2020


On Thu, 24 Sep 2020 15:49:36 GMT, Erik Österlund <eosterlund at openjdk.org> wrote:

>> To be clear, my comments about boolean parameters to vframeStream/RegMap can be addressed in a follow up RFE.  That
>> would be better.
>
>> To be clear, my comments about boolean parameters to vframeStream/RegMap can be addressed in a follow up RFE.  That
>> would be better.
> 
> Thanks for reviewing Coleen!

Thank you for the comments and diagrams; they make the code much more digestible. From that diagram, I get the
impression that the watermark is associated with stack pointer, so it should be 1:1 relation, but `class Thread`
contains multiple watermarks, `StackWatermarks _stack_watermarks;`. I think some high level description on the relation
between the thread and a list of watermarks belong to that thread could be beneficial.

> The first time it reaches past the last frame it will report true, and the second time it will report false.

Why so? As I see it, once a stream becomes "done", it stays in that state forever. Am I missing sth?
inline bool StackFrameStream::is_done() {
  return (_is_done) ? true : (_is_done = _fr.is_first_frame(), false);
}

-------------

PR: https://git.openjdk.java.net/jdk/pull/296


More information about the serviceability-dev mailing list