mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
7017732: move static fields into Class to prepare for perm gen removal
Reviewed-by: kvn, coleenp, twisti, stefank
This commit is contained in:
parent
f5ef48f3b9
commit
6e8a263a06
66 changed files with 1031 additions and 461 deletions
|
@ -138,10 +138,8 @@ class java_lang_Class : AllStatic {
|
|||
// The fake offsets are added by the class loader when java.lang.Class is loaded
|
||||
|
||||
enum {
|
||||
hc_klass_offset = 0,
|
||||
hc_array_klass_offset = 1,
|
||||
hc_resolved_constructor_offset = 2,
|
||||
hc_number_of_fake_oop_fields = 3
|
||||
hc_number_of_fake_oop_fields = 3,
|
||||
hc_number_of_fake_int_fields = 2
|
||||
};
|
||||
|
||||
static int klass_offset;
|
||||
|
@ -149,6 +147,9 @@ class java_lang_Class : AllStatic {
|
|||
static int array_klass_offset;
|
||||
static int number_of_fake_oop_fields;
|
||||
|
||||
static int oop_size_offset;
|
||||
static int static_oop_field_count_offset;
|
||||
|
||||
static void compute_offsets();
|
||||
static bool offsets_computed;
|
||||
static int classRedefinedCount_offset;
|
||||
|
@ -157,6 +158,7 @@ class java_lang_Class : AllStatic {
|
|||
public:
|
||||
// Instance creation
|
||||
static oop create_mirror(KlassHandle k, TRAPS);
|
||||
static void fixup_mirror(KlassHandle k, TRAPS);
|
||||
static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS);
|
||||
// Conversion
|
||||
static klassOop as_klassOop(oop java_class);
|
||||
|
@ -191,6 +193,12 @@ class java_lang_Class : AllStatic {
|
|||
static void set_classRedefinedCount(oop the_class_mirror, int value);
|
||||
// Support for parallelCapable field
|
||||
static bool parallelCapable(oop the_class_mirror);
|
||||
|
||||
static int oop_size(oop java_class);
|
||||
static void set_oop_size(oop java_class, int size);
|
||||
static int static_oop_field_count(oop java_class);
|
||||
static void set_static_oop_field_count(oop java_class, int size);
|
||||
|
||||
// Debugging
|
||||
friend class JavaClasses;
|
||||
friend class instanceKlass; // verification code accesses offsets
|
||||
|
@ -1165,13 +1173,10 @@ class java_lang_System : AllStatic {
|
|||
hc_static_err_offset = 2
|
||||
};
|
||||
|
||||
static int offset_of_static_fields;
|
||||
static int static_in_offset;
|
||||
static int static_out_offset;
|
||||
static int static_err_offset;
|
||||
|
||||
static void compute_offsets();
|
||||
|
||||
public:
|
||||
static int in_offset_in_bytes();
|
||||
static int out_offset_in_bytes();
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue