RFR(S): 8216426: Usage of array placement new may lead to memory corruption

Erik Österlund erik.osterlund at oracle.com
Tue Jan 15 09:15:14 UTC 2019


Hi,

Perhaps an alternative approach is to make the Bucket a POD (make the 
private member public, and remove the constructor), and then simply 
memset the memory to zero.

Thanks,
/Erik

On 2019-01-15 09:03, Robbin Ehn wrote:
> Hi Martin,
>
> The Bucket should extend CHeapObj<F>, now that it could.
> Otherwise looks good, thanks.
>
> Originally Bucket did this and I used memset, but gdb was very upset 
> by this.
> So I changed to array placement new, which meant I had to remove 
> CHeapObj<F> if I remember correctly :)
>
> /Robbin
>
> On 2019-01-14 17:39, Doerr, Martin wrote:
>> Hi,
>>
>> thanks for looking at this issue and especially for adding comments.
>> Sounds like this issue should better get fixed although there are no 
>> known problems.
>>
>> Should we fix it by replacing the array placement new by normal 
>> placement new for each element?
>> http://cr.openjdk.java.net/~mdoerr/8216426_array_placement_new/webrev.00/ 
>>
>>
>> Best regards,
>> Martin
>>



More information about the hotspot-runtime-dev mailing list