RFR: 8247755: Leaner and more versatile GrowableArray classes
Kim Barrett
kim.barrett at oracle.com
Tue Jun 23 15:10:47 UTC 2020
> On Jun 23, 2020, at 10:47 AM, Stefan Karlsson <stefan.karlsson at oracle.com> wrote:
>
> Thanks for catching this! Updated webrevs:
> https://cr.openjdk.java.net/~stefank/8247755/webrev.04.delta
> https://cr.openjdk.java.net/~stefank/8247755/webrev.04
Looks good.
>
> StefanK
>
> On 2020-06-23 16:31, Kim Barrett wrote:
>>> On Jun 23, 2020, at 10:07 AM, Stefan Karlsson <stefan.karlsson at oracle.com> wrote:
>>>
>>> This hopefully addresses all your items below:
>>> https://cr.openjdk.java.net/~stefank/8247755/webrev.03.delta/
>>> https://cr.openjdk.java.net/~stefank/8247755/webrev.03/
>> This change caused me to notice a different problem.
>> ~GrowableArrayCHeap should call clear_and_deallocate().
>> Also, I previously missed that allocate and deallocate are public in
>> GrowableArray &etc. This is presumably so they can be called by the
>> CRTP'ed base class. Rather than exposing implementation details in the
>> public API, it's common practice with CRTP for the derived class to
>> befriend the base class. Or there are more complicated idioms.
>> https://stackoverflow.com/questions/8523762/crtp-with-protected-derived-member
>> https://accu.org/index.php/journals/296
More information about the hotspot-dev
mailing list