mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-26 14:24:46 +02:00
8049105: Move array component mirror to instance of java/lang/Class (hotspot part 2)
This removes component mirrors from arrayKlass metadata and the C2 intrinsic for them. Reviewed-by: kvn, twisti, mgerdin
This commit is contained in:
parent
d9da8946df
commit
73d759e533
23 changed files with 26 additions and 112 deletions
|
@ -39,7 +39,6 @@ class ArrayKlass: public Klass {
|
|||
Klass* volatile _higher_dimension; // Refers the (n+1)'th-dimensional array (if present).
|
||||
Klass* volatile _lower_dimension; // Refers the (n-1)'th-dimensional array (if present).
|
||||
int _vtable_len; // size of vtable for this klass
|
||||
oop _component_mirror; // component type, as a java/lang/Class
|
||||
|
||||
protected:
|
||||
// Constructors
|
||||
|
@ -70,13 +69,6 @@ class ArrayKlass: public Klass {
|
|||
// type of elements (T_OBJECT for both oop arrays and array-arrays)
|
||||
BasicType element_type() const { return layout_helper_element_type(layout_helper()); }
|
||||
|
||||
oop component_mirror() const { return _component_mirror; }
|
||||
void set_component_mirror(oop m) { klass_oop_store(&_component_mirror, m); }
|
||||
oop* adr_component_mirror() { return (oop*)&this->_component_mirror;}
|
||||
|
||||
// Compiler/Interpreter offset
|
||||
static ByteSize component_mirror_offset() { return in_ByteSize(offset_of(ArrayKlass, _component_mirror)); }
|
||||
|
||||
virtual Klass* java_super() const;//{ return SystemDictionary::Object_klass(); }
|
||||
|
||||
// Allocation
|
||||
|
@ -122,9 +114,6 @@ class ArrayKlass: public Klass {
|
|||
void array_klasses_do(void f(Klass* k));
|
||||
void array_klasses_do(void f(Klass* k, TRAPS), TRAPS);
|
||||
|
||||
// GC support
|
||||
virtual void oops_do(OopClosure* cl);
|
||||
|
||||
// Return a handle.
|
||||
static void complete_create_array_klass(ArrayKlass* k, KlassHandle super_klass, TRAPS);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue