112 // Returns the actual oop size of the object
113 int size();
114
115 // Sometimes (for complicated concurrency-related reasons), it is useful
116 // to be able to figure out the size of an object knowing its klass.
117 int size_given_klass(Klass* klass);
118
119 // Some perm gen objects are not parseble immediately after
120 // installation of their klass pointer.
121 bool is_parsable();
122
123 // Some perm gen objects that have been allocated and initialized
124 // can be changed by the VM when not at a safe point (class rededfinition
125 // is an example). Such objects should not be examined by the
126 // concurrent processing of a garbage collector if is_conc_safe()
127 // returns false.
128 bool is_conc_safe();
129
130 // type test operations (inlined in oop.inline.h)
131 bool is_instance() const;
132 bool is_instanceRef() const;
133 bool is_array() const;
134 bool is_objArray() const;
135 bool is_klass() const;
136 bool is_thread() const;
137 bool is_method() const;
138 bool is_constMethod() const;
139 bool is_methodData() const;
140 bool is_constantPool() const;
141 bool is_constantPoolCache() const;
142 bool is_typeArray() const;
143 bool is_javaArray() const;
144 bool is_compiledICHolder() const;
145
146 private:
147 // field addresses in oop
148 void* field_base(int offset) const;
149
150 jbyte* byte_field_addr(int offset) const;
151 jchar* char_field_addr(int offset) const;
|
112 // Returns the actual oop size of the object
113 int size();
114
115 // Sometimes (for complicated concurrency-related reasons), it is useful
116 // to be able to figure out the size of an object knowing its klass.
117 int size_given_klass(Klass* klass);
118
119 // Some perm gen objects are not parseble immediately after
120 // installation of their klass pointer.
121 bool is_parsable();
122
123 // Some perm gen objects that have been allocated and initialized
124 // can be changed by the VM when not at a safe point (class rededfinition
125 // is an example). Such objects should not be examined by the
126 // concurrent processing of a garbage collector if is_conc_safe()
127 // returns false.
128 bool is_conc_safe();
129
130 // type test operations (inlined in oop.inline.h)
131 bool is_instance() const;
132 bool is_instanceMirror() const;
133 bool is_instanceRef() const;
134 bool is_array() const;
135 bool is_objArray() const;
136 bool is_klass() const;
137 bool is_thread() const;
138 bool is_method() const;
139 bool is_constMethod() const;
140 bool is_methodData() const;
141 bool is_constantPool() const;
142 bool is_constantPoolCache() const;
143 bool is_typeArray() const;
144 bool is_javaArray() const;
145 bool is_compiledICHolder() const;
146
147 private:
148 // field addresses in oop
149 void* field_base(int offset) const;
150
151 jbyte* byte_field_addr(int offset) const;
152 jchar* char_field_addr(int offset) const;
|