[9] RFR (S): 8140001: _allocateInstance intrinsic does not throw InstantiationException for abstract classes and interfaces

Vladimir Kozlov vladimir.kozlov at oracle.com
Thu Jan 14 18:43:33 UTC 2016


The fix in EA (mark as escaping) is good.

Thanks,
Vladimir

On 1/14/16 7:15 AM, Aleksey Shipilev wrote:
> Looks okay to me, but I think the property name should reflect Java
> terminology, e.g. "can_be_instantiated", "not is_allocatable"?
>
> $ javac AbstractSample.java
> [ERROR] AbstractSample.java:[36,9] AbstractSample.M is abstract; cannot
> be instantiated
>
> Thanks,
> -Aleksey
>
> On 01/14/2016 06:05 PM, Vladimir Ivanov wrote:
>> Any feedback, please?
>>
>> Best regards,
>> Vladimir Ivanov
>>
>> On 1/12/16 6:22 PM, Vladimir Ivanov wrote:
>>> http://cr.openjdk.java.net/~vlivanov/8140001/webrev.00/
>>> https://bugs.openjdk.java.net/browse/JDK-8140001
>>>
>>> EA can eliminate allocations of abstract classes or interfaces, thus
>>> changing observable behavior of a program as the test case demonstrates.
>>>
>>> The fix is to always mark such allocations as escaping.
>>>
>>> Testing: failing test, JPRT.
>>>
>>> Thanks!
>>>
>>> Best regards,
>>> Vladimir Ivanov
>
>


More information about the hotspot-compiler-dev mailing list