src/share/vm/oops/instanceMirrorKlass.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File
*** old/src/share/vm/oops/instanceMirrorKlass.cpp Tue Mar 8 20:18:02 2011
--- new/src/share/vm/oops/instanceMirrorKlass.cpp Tue Mar 8 20:18:02 2011
*** 273,308 ****
--- 273,304 ----
start_of_static_fields(obj), java_lang_Class::static_oop_field_size(obj), \
PSParallelCompact::adjust_pointer(p), \
assert_nothing)
return oop_size(obj);
}
int instanceMirrorKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
HeapWord* beg_addr, HeapWord* end_addr) {
instanceKlass::oop_update_pointers(cm, obj, beg_addr, end_addr);
InstanceMirrorKlass_BOUNDED_OOP_ITERATE( \
start_of_static_fields(obj), java_lang_Class::static_oop_field_size(obj), \
beg_addr, end_addr, \
PSParallelCompact::adjust_pointer(p), \
assert_nothing )
return oop_size(obj);
}
#endif // SERIALGC
int instanceMirrorKlass::instance_size(KlassHandle k) {
if (k() != NULL && k->oop_is_instance()) {
return align_object_size(size_helper() + instanceKlass::cast(k())->static_field_size());
}
return size_helper();
}
! instanceOop instanceMirrorKlass::allocate_permanent_instance(KlassHandle k, TRAPS) {
! instanceOop instanceMirrorKlass::allocate_instance(KlassHandle k, TRAPS) {
// Query before forming handle.
int size = instance_size(k);
KlassHandle h_k(THREAD, as_klassOop());
- instanceOop i = (instanceOop) CollectedHeap::permanent_obj_allocate(h_k, size, CHECK_NULL);
+
+ if (JavaObjectsInPerm) {
+ i = (instanceOop) CollectedHeap::permanent_obj_allocate(h_k, size, CHECK_NULL);
+ } else {
+ assert(ScavengeRootsInCode > 0, "must be");
+ i = (instanceOop) CollectedHeap::obj_allocate(h_k, size, CHECK_NULL);
+ }
+
return i;
}
int instanceMirrorKlass::oop_size(oop obj) const {
return java_lang_Class::oop_size(obj);
src/share/vm/oops/instanceMirrorKlass.cpp
Index
Unified diffs
Context diffs
Sdiffs
Patch
New
Old
Previous File
Next File