RFR (S) Remove SystemDictionary::InitOption enum
David Holmes
david.holmes at oracle.com
Fri Oct 19 01:14:57 UTC 2018
Hi Ioi,
Please include the bug number in RFR subject - thanks.
On 19/10/2018 2:25 AM, Ioi Lam wrote:
> https://bugs.openjdk.java.net/browse/JDK-8212642
> http://cr.openjdk.java.net/~iklam/jdk12/8212642-remove-sysdict-initoption.v01/
>
>
> SystemDictionary::InitOption is no longer needed because we don't support
> multiple version of the JDK class libraries anymore. All classes preloaded
> by SystemDictionary must exist.
In systemDictionary.cpp/hpp:
1974 bool SystemDictionary::resolve_wk_klass(WKID id, int init_opt, TRAPS) {
The init_opt parameter is now unused.
---
src/hotspot/share/classfile/systemDictionary.hpp
96 // Each well-known class has a short klass name (like object_klass),
97 // a vmSymbol name (like java_lang_Object), and a flag word
98 // that makes some minor distinctions, like whether the klass
99 // is preloaded, optional, release-specific, etc.
The comment is no longer accurate/correct.
---
src/hotspot/share/runtime/reflection.cpp
Why is MagicAccessorImpl still treated as optional?
> The JVMCI classes were declared using InitOption::Jvmci, so that they
> are loaded
> only when EnableJVMCI==true. However, this is rather convoluted and
> I just added a few null checks instead.
Can't help but think check_klass is redundant now. It would simplify
things if it were removed, then you wouldn't need to check is_loaded.
The only reason for the check is to avoid the NULL-check in the
assertion in check_klass when called from name(). The JVMCI code either
has to handle the NULL anyway, or else is never called unless it can't
be NULL.
Thanks,
David
> Tested using hs tiers 1-5
>
> Thanks
> - Ioi
More information about the hotspot-dev
mailing list