RFR 8233272 : The Class.forName specification should be updated to match the long-standing implementation with respect to class linking

David Holmes david.holmes at oracle.com
Fri Nov 15 00:12:31 UTC 2019


Hi Brent,

On 15/11/2019 9:58 am, Brent Christian wrote:
> On 11/14/19 8:22 AM, Mandy Chung wrote:
>> On 11/13/19 10:37 AM, Brent Christian wrote:
>>
>> The spec change looks fine.
> 
> OK, thanks.

+1 from me on spec changes.

> 
>> As for the test, I expect that it simply calls 
>> Class.forName("Provider", false, ucl) and then should succeed.
>>
>> Then calling Class.forName("Provider", true, ucl) should fail with an 
>> error (I think it's EIIE with NCDFE?).  This way it verifies that 
>> initialization/linking does cause NCDFE during verification while 
>> Class.forName does not do linking if initialize=false.
> 
> Yes, that works well, thanks for the idea (plus I can do it with one 
> fewer class):
> 
> http://cr.openjdk.java.net/~bchristi/8233272/webrev-03/

Test is fine. Just one note/clarification:

  63         // Loading (but not linking) Container will succeed.

Container was already loaded as part of the failing forName call, so 
this second forName will just return it.

Thanks,
David
-----

> -Brent


More information about the hotspot-dev mailing list