RFR: 8247755: Leaner and more versatile GrowableArray classes

Stefan Karlsson stefan.karlsson at oracle.com
Tue Jun 23 15:21:19 UTC 2020


Thanks, Kim.

StefanK

On 2020-06-23 17:10, Kim Barrett wrote:
>> 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