equal
deleted
inserted
replaced
32 int oop_size(oop obj) const; |
32 int oop_size(oop obj) const; |
33 int klass_oop_size() const { return object_size(); } |
33 int klass_oop_size() const { return object_size(); } |
34 |
34 |
35 // Allocation |
35 // Allocation |
36 DEFINE_ALLOCATE_PERMANENT(constantPoolKlass); |
36 DEFINE_ALLOCATE_PERMANENT(constantPoolKlass); |
37 constantPoolOop allocate(int length, TRAPS); |
37 constantPoolOop allocate(int length, bool is_conc_safe, TRAPS); |
38 static klassOop create_klass(TRAPS); |
38 static klassOop create_klass(TRAPS); |
39 |
39 |
40 // Casting from klassOop |
40 // Casting from klassOop |
41 static constantPoolKlass* cast(klassOop k) { |
41 static constantPoolKlass* cast(klassOop k) { |
42 assert(k->klass_part()->oop_is_constantPool(), "cast to constantPoolKlass"); |
42 assert(k->klass_part()->oop_is_constantPool(), "cast to constantPoolKlass"); |
46 // Sizing |
46 // Sizing |
47 static int header_size() { return oopDesc::header_size() + sizeof(constantPoolKlass)/HeapWordSize; } |
47 static int header_size() { return oopDesc::header_size() + sizeof(constantPoolKlass)/HeapWordSize; } |
48 int object_size() const { return align_object_size(header_size()); } |
48 int object_size() const { return align_object_size(header_size()); } |
49 |
49 |
50 // Garbage collection |
50 // Garbage collection |
|
51 // Returns true is the object is safe for GC concurrent processing. |
|
52 virtual bool oop_is_conc_safe(oop obj) const; |
51 void oop_follow_contents(oop obj); |
53 void oop_follow_contents(oop obj); |
52 int oop_adjust_pointers(oop obj); |
54 int oop_adjust_pointers(oop obj); |
53 |
55 |
54 // Parallel Scavenge and Parallel Old |
56 // Parallel Scavenge and Parallel Old |
55 PARALLEL_GC_DECLS |
57 PARALLEL_GC_DECLS |