RFR (S): 8000263: JSR 292: signature types may appear to be unloaded

John Rose john.r.rose at oracle.com
Thu Oct 4 17:12:54 PDT 2012

On Oct 4, 2012, at 3:51 PM, Christian Thalinger wrote:

> http://cr.openjdk.java.net/~twisti/8000263
> 8000263: JSR 292: signature types may appear to be unloaded

Good work.  I very much like the 'is_public' assertion in 'check_wk_pre_link_klasses'.

I mechanically checked that the whitespace change in systemDictionary.hpp is mixed with no other effects,
besides changing some occurrences of Pre or Pre_JSR292 to Pre_Link or Pre?

Consider changing Opt to Pre for LambdaForm, if you agree that is a reasonable cleanup.  That type is no longer optional.

I think the following code would be simpler and more directly correct in 'sharpen_unsafe_type':
   if (sharpened_klass != NULL && !sharpened_klass->is_loaded())
     return NULL;

Issue:  Are intrinsics still properly recognized, even though 'find_well_known_klass' is restricted?

The function vmIntrinsics::method_for bothers me still.
Maybe add a FIXME comment pointing out that it doesn't work for all intrinsics.  Or, add a boolean parameter:

  Klass* SystemDictionary::find_well_known_klass(Symbol* class_name, bool link_all = false) {
    ... if (option == Pre_Link || link_all) ...

Or, find a way to get rid of vmIntrinsics::method_for, since it is not used much.

— John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20121004/2d9f31d6/attachment-0001.html 

More information about the hotspot-compiler-dev mailing list