Skip to content

Commit bfcca5e

Browse files
committed
8310494: Do not include constantPool.hpp from instanceKlass.hpp
Reviewed-by: stefank, coleenp
1 parent 0314292 commit bfcca5e

File tree

5 files changed

+48
-25
lines changed

5 files changed

+48
-25
lines changed

src/hotspot/share/classfile/javaClasses.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,9 @@
2828
#include "classfile/vmClasses.hpp"
2929
#include "oops/instanceKlass.hpp"
3030
#include "oops/oopsHierarchy.hpp"
31+
#include "oops/symbol.hpp"
3132
#include "runtime/handles.hpp"
33+
#include "runtime/os.hpp"
3234
#include "utilities/macros.hpp"
3335
#include "utilities/vmEnums.hpp"
3436

src/hotspot/share/oops/instanceKlass.cpp

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2846,6 +2846,31 @@ void InstanceKlass::release_C_heap_structures(bool release_sub_metadata) {
28462846
}
28472847
}
28482848

2849+
// The constant pool is on stack if any of the methods are executing or
2850+
// referenced by handles.
2851+
bool InstanceKlass::on_stack() const {
2852+
return _constants->on_stack();
2853+
}
2854+
2855+
Symbol* InstanceKlass::source_file_name() const { return _constants->source_file_name(); }
2856+
u2 InstanceKlass::source_file_name_index() const { return _constants->source_file_name_index(); }
2857+
void InstanceKlass::set_source_file_name_index(u2 sourcefile_index) { _constants->set_source_file_name_index(sourcefile_index); }
2858+
2859+
// minor and major version numbers of class file
2860+
u2 InstanceKlass::minor_version() const { return _constants->minor_version(); }
2861+
void InstanceKlass::set_minor_version(u2 minor_version) { _constants->set_minor_version(minor_version); }
2862+
u2 InstanceKlass::major_version() const { return _constants->major_version(); }
2863+
void InstanceKlass::set_major_version(u2 major_version) { _constants->set_major_version(major_version); }
2864+
2865+
InstanceKlass* InstanceKlass::get_klass_version(int version) {
2866+
for (InstanceKlass* ik = this; ik != nullptr; ik = ik->previous_versions()) {
2867+
if (ik->constants()->version() == version) {
2868+
return ik;
2869+
}
2870+
}
2871+
return nullptr;
2872+
}
2873+
28492874
void InstanceKlass::set_source_debug_extension(const char* array, int length) {
28502875
if (array == nullptr) {
28512876
_source_debug_extension = nullptr;
@@ -2864,6 +2889,10 @@ void InstanceKlass::set_source_debug_extension(const char* array, int length) {
28642889
}
28652890
}
28662891

2892+
Symbol* InstanceKlass::generic_signature() const { return _constants->generic_signature(); }
2893+
u2 InstanceKlass::generic_signature_index() const { return _constants->generic_signature_index(); }
2894+
void InstanceKlass::set_generic_signature_index(u2 sig_index) { _constants->set_generic_signature_index(sig_index); }
2895+
28672896
const char* InstanceKlass::signature_name() const {
28682897

28692898
// Get the internal name as a c string

src/hotspot/share/oops/instanceKlass.hpp

Lines changed: 16 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -28,20 +28,23 @@
2828
#include "memory/referenceType.hpp"
2929
#include "oops/annotations.hpp"
3030
#include "oops/constMethod.hpp"
31-
#include "oops/constantPool.hpp"
3231
#include "oops/fieldInfo.hpp"
3332
#include "oops/instanceKlassFlags.hpp"
3433
#include "oops/instanceOop.hpp"
3534
#include "runtime/handles.hpp"
35+
#include "runtime/javaThread.hpp"
3636
#include "utilities/accessFlags.hpp"
3737
#include "utilities/align.hpp"
38+
#include "utilities/growableArray.hpp"
3839
#include "utilities/macros.hpp"
3940
#if INCLUDE_JFR
4041
#include "jfr/support/jfrKlassExtension.hpp"
4142
#endif
4243

44+
class ConstantPool;
4345
class DeoptimizationScope;
4446
class klassItable;
47+
class Monitor;
4548
class RecordComponent;
4649

4750
// An InstanceKlass is the VM level representation of a Java class.
@@ -645,15 +648,15 @@ class InstanceKlass: public Klass {
645648
void set_is_contended(bool value) { _misc_flags.set_is_contended(value); }
646649

647650
// source file name
648-
Symbol* source_file_name() const { return _constants->source_file_name(); }
649-
u2 source_file_name_index() const { return _constants->source_file_name_index(); }
650-
void set_source_file_name_index(u2 sourcefile_index) { _constants->set_source_file_name_index(sourcefile_index); }
651+
Symbol* source_file_name() const;
652+
u2 source_file_name_index() const;
653+
void set_source_file_name_index(u2 sourcefile_index);
651654

652655
// minor and major version numbers of class file
653-
u2 minor_version() const { return _constants->minor_version(); }
654-
void set_minor_version(u2 minor_version) { _constants->set_minor_version(minor_version); }
655-
u2 major_version() const { return _constants->major_version(); }
656-
void set_major_version(u2 major_version) { _constants->set_major_version(major_version); }
656+
u2 minor_version() const;
657+
void set_minor_version(u2 minor_version);
658+
u2 major_version() const;
659+
void set_major_version(u2 major_version);
657660

658661
// source debug extension
659662
const char* source_debug_extension() const { return _source_debug_extension; }
@@ -690,14 +693,7 @@ class InstanceKlass: public Klass {
690693
InstanceKlass* previous_versions() const { return nullptr; }
691694
#endif
692695

693-
InstanceKlass* get_klass_version(int version) {
694-
for (InstanceKlass* ik = this; ik != nullptr; ik = ik->previous_versions()) {
695-
if (ik->constants()->version() == version) {
696-
return ik;
697-
}
698-
}
699-
return nullptr;
700-
}
696+
InstanceKlass* get_klass_version(int version);
701697

702698
bool has_been_redefined() const { return _misc_flags.has_been_redefined(); }
703699
void set_has_been_redefined() { _misc_flags.set_has_been_redefined(true); }
@@ -773,9 +769,9 @@ class InstanceKlass: public Klass {
773769
void set_initial_method_idnum(u2 value) { _idnum_allocated_count = value; }
774770

775771
// generics support
776-
Symbol* generic_signature() const { return _constants->generic_signature(); }
777-
u2 generic_signature_index() const { return _constants->generic_signature_index(); }
778-
void set_generic_signature_index(u2 sig_index) { _constants->set_generic_signature_index(sig_index); }
772+
Symbol* generic_signature() const;
773+
u2 generic_signature_index() const;
774+
void set_generic_signature_index(u2 sig_index);
779775

780776
u2 enclosing_method_data(int offset) const;
781777
u2 enclosing_method_class_index() const {
@@ -995,9 +991,7 @@ class InstanceKlass: public Klass {
995991
void static deallocate_record_components(ClassLoaderData* loader_data,
996992
Array<RecordComponent*>* record_component);
997993

998-
// The constant pool is on stack if any of the methods are executing or
999-
// referenced by handles.
1000-
bool on_stack() const { return _constants->on_stack(); }
994+
virtual bool on_stack() const;
1001995

1002996
// callbacks for actions during class unloading
1003997
static void unload_class(InstanceKlass* ik);

src/hotspot/share/oops/instanceKlass.inline.hpp

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,10 +27,7 @@
2727

2828
#include "oops/instanceKlass.hpp"
2929

30-
#include "classfile/javaClasses.hpp"
31-
#include "classfile/vmSymbols.hpp"
3230
#include "memory/memRegion.hpp"
33-
#include "memory/resourceArea.hpp"
3431
#include "oops/fieldInfo.inline.hpp"
3532
#include "oops/klass.inline.hpp"
3633
#include "oops/oop.inline.hpp"

src/hotspot/share/utilities/events.cpp

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
#include "precompiled.hpp"
2626
#include "memory/allocation.inline.hpp"
2727
#include "oops/instanceKlass.hpp"
28+
#include "oops/symbol.hpp"
2829
#include "runtime/javaThread.hpp"
2930
#include "runtime/mutexLocker.hpp"
3031
#include "runtime/osThread.hpp"

0 commit comments

Comments
 (0)