JVM_FindClassFromBootLoader is new with JDK7. Kumar added it.

thanks,
Karen

On Jul 24, 2009, at 11:07 AM, Paul Hohensee wrote:

Can't remove it unless it's fixed in jdk6 as well as 7. Also, one of these days we'll get around to shipping current hotspot in jdk5 and maybe 1.4.2. How would these
be affected?

paul

Keith McGuigan wrote:

I would prefer that we avoid requiring synchronous pushes (so I guess I think we should leave that parameter in for now).

If anything, maybe file a low-priority RFE to remove that parameter later?

--
- Keith

Mandy Chung wrote:
David Holmes - Sun Microsystems wrote:
Hi Mandy,

661 JVM_ENTRY(jclass, JVM_FindClassFromBootLoader(JNIEnv* env,
662                                               const char* name,
663 jboolean throwError))

Can't we now drop the throwError parameter altogether?

Yes, I could. I agree it doesn't need this throwError parameter. I decide to leave it since it helps to avoid the synchronized pushes. JVM_FindClassFromBootLoader is already in a promoted build. I can push the JDK fix and HotSpot fix at the same time. Note that the JDK fix and HotSpot fix are pushed and integrated in two different gates and at different time.

If I modify the signature, I would have to push the HS fix first (say b68). Wait until b68 is promoted, then I can push the JDK fix in b70.

If you strongly feel that I should drop the throwError parameter, I could make the change.

Thanks
Mandy

Pity we can't make a similar fix to the extensions loader ...

Cheers,
David

Mandy Chung said the following on 07/24/09 09:53:
This review request is for both the HotSpot runtime and the core libs teams.

Fixed 4917309: (cl) Reduce internal usage of ClassNotFoundExceptions during class-loading Fixed 6864003: Modify JVM_FindClassFromBootLoader to return null if class not found

Summary:
o Fix java.lang.ClassLoader to use the new VM entry point
  JVM_FindClassFromBootLoader for load a system class from
  the bootstrap classloader that will reduce the number
  of ClassNotFoundException objects thrown by the application
class loader by 50%. The remaining half of the ClassNotFoundException objects are thrown by the extension class loader which is the parent
  of the application class loader.
o ClassLoader.loadClass and ClassLoader.findSystemClass will
  throw ClassNotFoundException as they are specified.
o JVM_FindClassFromBootLoader is currently not used (going to
  used by the java launcher see 6864028). There is no issue
  of changing it to return null instead of throwing CNFE.

Webrev:
 http://cr.openjdk.java.net/~mchung/4917309/hotspot-webrev/
 http://cr.openjdk.java.net/~mchung/4917309/jdk-webrev/


Thanks
Mandy






Reply via email to