8283574: Use Klass::_id for type checks in the C++ code

Reviewed-by: tschatzl, kbarrett
This commit is contained in:
Stefan Karlsson 2022-03-24 06:02:09 +00:00
parent 5cf580e0fb
commit af18b1111a
11 changed files with 40 additions and 65 deletions

View file

@ -442,13 +442,12 @@ InstanceKlass* InstanceKlass::allocate_instance_klass(const ClassFileParser& par
if (class_name == vmSymbols::java_lang_Class()) {
// mirror
ik = new (loader_data, size, THREAD) InstanceMirrorKlass(parser);
}
else if (is_class_loader(class_name, parser)) {
} else if (is_class_loader(class_name, parser)) {
// class loader
ik = new (loader_data, size, THREAD) InstanceClassLoaderKlass(parser);
} else {
// normal
ik = new (loader_data, size, THREAD) InstanceKlass(parser, InstanceKlass::_kind_other);
ik = new (loader_data, size, THREAD) InstanceKlass(parser);
}
} else {
// reference
@ -486,7 +485,7 @@ Array<int>* InstanceKlass::create_new_default_vtable_indices(int len, TRAPS) {
return vtable_indices;
}
InstanceKlass::InstanceKlass(const ClassFileParser& parser, unsigned kind, KlassID id) :
InstanceKlass::InstanceKlass(const ClassFileParser& parser, KlassID id) :
Klass(id),
_nest_members(NULL),
_nest_host(NULL),
@ -501,7 +500,6 @@ InstanceKlass::InstanceKlass(const ClassFileParser& parser, unsigned kind, Klass
_init_thread(NULL)
{
set_vtable_length(parser.vtable_size());
set_kind(kind);
set_access_flags(parser.access_flags());
if (parser.is_hidden()) set_is_hidden();
set_layout_helper(Klass::instance_layout_helper(parser.layout_size(),