RFR: 8241371: Refactor and consolidate package_from_name
Claes Redestad
claes.redestad at oracle.com
Mon Mar 23 19:24:20 UTC 2020
Hi,
fixed and cleaned up:
http://cr.openjdk.java.net/~redestad/8241371/open.02/
I mentioned the unnecessary name == NULL check elsewhere in this review
thread and suggested we fix that in a follow-up.
/Claes
On 2020-03-23 19:31, Ioi Lam wrote:
> Hi Claes,
>
> Thanks for moving the code back to classLoader.cpp. Now I can compare
> the difference more easily and found some issues:
>
> if (*start == JVM_SIGNATURE_ARRAY) {
> do {
> start++;
> } while (*start == JVM_SIGNATURE_ARRAY);
>
> The utf8 in the symbol is not 0-terminated, so it's better to change it to
>
> do {
> start++;
> } while (start < end && *start == JVM_SIGNATURE_ARRAY);
>
> ========
>
> if (start != base && *start == JVM_SIGNATURE_CLASS) {
>
> We know that start will be at least (base+1), so the (start != base) is
> not necessary.
>
> =========
>
> Also, do we ever call ClassLoader::package_from_class_name() with a NULL
> name? If not, I think this can be removed
>
> if (name == NULL) {
> if (bad_class_name != NULL) {
> *bad_class_name = true;
> }
> return NULL;
> }
>
> =========
>
> // A package or class name could have just the slash character in
> the name.
>
> This comment is ambiguous about whether "could have" is legal or not. I
> think it's better to change the comment to.
>
> // It's illegal for a package or class name to have just the slash
> character in the name.
>
>
> Thanks
> - Ioi
>
> On 3/23/20 3:44 AM, Claes Redestad wrote:
>> On 2020-03-23 04:36, Ioi Lam wrote:
>>>>>
>>>>
>>>> Ok, I just felt that as a static utility it's more coupled with a
>>>> class/InstanceKlass than its class loader. If you insist I'll move it
>>>> to ClassLoader instead.
>>>>
>>> classLoader.cpp also has other methods related to packages, so I
>>> think it's a good place for this method, too. Plus, you don't need to
>>> move the test cases, so there's less code churn.
>>
>> Ok:
>>
>> http://cr.openjdk.java.net/~redestad/8241371/open.01/
>>
>> /Claes
>
More information about the hotspot-runtime-dev
mailing list