RFR (S): 8079091: Remove dictionary NULL check on common path of BlockFreeList methods

Srinivas Ramakrishna ysr1729 at gmail.com
Mon May 4 17:05:47 UTC 2015


On Thu, Apr 30, 2015 at 5:59 PM, David Holmes <david.holmes at oracle.com>
wrote:

> On 1/05/2015 5:12 AM, Kim Barrett wrote:
>
>> On Apr 30, 2015, at 2:20 AM, David Holmes <david.holmes at oracle.com>
>> wrote:
>>
>>>
>>> On 30/04/2015 4:05 PM, Jungwoo Ha wrote:
>>>
>>>> http://cr.openjdk.java.net/~jwha/8079091/webrev.01
>>>>
>>>
>>> I may be missing something but you seem to have embedded an object that
>>> is defined to be CHeapObj !
>>>
>>
>> It's not clear to me whether deriving from CHeapObj *requires* heap
>> allocation or merely permits it. I would have guessed the latter,
>> based on actual usage for some of these allocation classes, but there
>> may be some reason I haven't spotted that would make heap allocation
>> required. The documentation seems to me to lean towards a requires
>> heap allocation interpretation. But there seem to be lots of places
>> where different allocation is used than what is stated by the base
>> class, which makes me think there are problems with what we have in
>> this area. But that should be a completely different discussion.
>>
>
> I don't have a definitive answer on whether these allocation
> specifications are permissive or requisite. I do see a lot of cases of
> misuse, including people failing to subclass any of them. :( New engineers
> don't seem to be getting educated on this.
>


I believe the intention may have been that it permits C heap allocation
rather than requiring it, as Kim indicated.
(It's been a while...) I agree that cleaning up our allocation specs and
their uses would be a good thing.

-- ramki


>
> David
>
>
>>


More information about the hotspot-runtime-dev mailing list