RFR: 8262227: Change SystemDictionary::find() to return an InstanceKlass*.

Harold Seigel hseigel at openjdk.java.net
Thu Feb 25 18:55:40 UTC 2021


On Wed, 24 Feb 2021 20:04:36 GMT, Ioi Lam <iklam at openjdk.org> wrote:

>> Please review this fix for JDK-8262227.  This fix changes SystemDictionary::find() to return an InstanceKlass* to reduce InstanceKlass casts, it renames find() to find_instance_klass(), removes its unneeded TRAP parameter, and changes its callers as appropriate.
>> 
>> It also changed the get_java_...() methods, in thread.cpp, to take an InstanceKlass* parameter and removed their now unneeded TRAPS parameter.
>> 
>> The fix was tested with mach5 tiers 1 and 2 on Linux, Windows, and Mac OS, and tiers 3-5 on Linux x64 (still in progress).
>> 
>> Thanks to Coleen and David for their helpful suggestions.
>> 
>> Thanks, Harold
>
> src/hotspot/share/ci/ciEnv.cpp line 450:
> 
>> 448:       kls = SystemDictionary::find_constrained_instance_or_array_klass(sym, loader,
>> 449:                                                                        CHECK_AND_CLEAR_(fail_type));
>> 450:     } else {
> 
> I think SystemDictionary::find_constrained_instance_or_array_klass can also be changed to accept a `Thread*` instead `TRAPS`, since now it can no longer throw, and the thread is used only for Mutexes.

Hi Ioi, I'd like to do this in a separate RFE.  Is that okay?

-------------

PR: https://git.openjdk.java.net/jdk/pull/2712


More information about the hotspot-dev mailing list