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.


> -Brent

More information about the hotspot-dev mailing list