RFR(M) 8203641: Refactor String Deduplication into shared
Thomas Schatzl
thomas.schatzl at oracle.com
Thu Jun 14 10:36:18 UTC 2018
Hi Zhengyu,
On Tue, 2018-06-12 at 16:31 -0400, Zhengyu Gu wrote:
> Hi Thomas,
>
> Thanks for the reviewing.
>
> On 06/12/2018 05:28 AM, Thomas Schatzl wrote:
> >
> > This would very likely decrease the amount of changes in the
> > important change, the refactoring, significantly.
> >
> > Now everything is shown as "new" in diff tools, and we reviewers
> > need to go through everything. It seems a bit of a stretch to call
> > this "M" with 1800 lines of changed lines, both on the raw number
> > of changes and the review complexity.
>
> I reshuffled some moved files, seems following updated webrev to
> have better diff.
>
> http://cr.openjdk.java.net/~zgu/8203641/webrev.01/index.html
Thanks.
> >
> > - I am not sure why g1StringDedup.hpp still contains a general
> > description of the mechanism at the top; that should probably move
> > to the shared files.
> > Also it duplicates the "Candidate selection" paragraphs apparently.
> > Please avoid comment duplication.
>
> Fixed.
Thanks. Could you rename "Candidate selection" to "G1 string
deduplication candidate selection" in g1StringDedup.hpp? (Just rename
the title of that paragraph)
> > I am not sure that keeping the interface related to string
> > deduplication all static and then use instance variables behind the
> > scene makes it easily readable.
> >
> > Making everything static has to me been an implementation choice
> > because there has only been one user (G1) before.
>
> I kept this way to minimize changes in G1, especially, outside of
> string deduplication code.
I see.
> >
> > I will need to bring this up with others in the (Oracle-)team what
> > they think about this. Probably it's okay to keep this, and this
> > could be done at another time.
>
> Please let me know what is your decision, or file a RFE for future
> cleanup.
In either case, it is best to do this as an extra CR.
[...]
> > - in StringDedupThread::do_deduplication the template parameter
> > changes from "S" (in the definition) to "STAT". Not sure why; also
> > we do not tend to use all-caps type names.
>
> Fixed.
>
> Also, fixed the bug that caused crashes you mentioned.
>
> Ran runtime_gc tests with -XX:+UseStringDeduplication on Linux x64
> (fastdebug | release).
>
Retesting looks good from our side too.
The change seems good too. I do not need to see a new webrev for above
mentioned comment change.
Thanks,
Thomas
More information about the hotspot-dev
mailing list