RFR (L) JDK-8230199: consolidate signature parsing code in HotSpot sources

Lois Foltan lois.foltan at oracle.com
Wed Feb 5 14:14:08 UTC 2020



On 2/4/2020 5:46 PM, David Holmes wrote:
> Hi Lois,
>
> <trimming>
>
> On 5/02/2020 4:42 am, Lois Foltan wrote:
>> On 2/3/2020 11:07 PM, David Holmes wrote:
>>> Sorry I'm still unclear whether as_symbol() can ever return NULL? If 
>>> it can't then the existing NULL checks should be removed. If it can 
>>> then many other uses may need to add NULL checks.
>>
>> Signature::as_symbol can never return a NULL.  I have removed the 2 
>> checks for null in nmethod::print_nmethod_labels() and 
>> Method::has_unloaded_classes_in_signature().  See 
>> http://cr.openjdk.java.net/~lfoltan/bug_jdk8230199.4/webrev/index.html
>
> There is a third case in signature.cpp itself:
>
> Klass* SignatureStream::as_klass(Handle class_loader, Handle 
> protection_domain,
>                                  FailureMode failure_mode, TRAPS) {
>   if (!is_reference())  return NULL;
>   Symbol* name = as_symbol();
>   if (name == NULL) {
>     assert(failure_mode == CachedOrNull, "signature incorrect failure 
> mode");
>     return NULL;
>   }
>
> Thanks,
> David

Fixed.  Updated webrev at: 
http://cr.openjdk.java.net/~lfoltan/bug_jdk8230199.5/webrev/

Thanks for spotting that one,
Lois


More information about the hotspot-runtime-dev mailing list