src/share/vm/oops/constMethodKlass.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File 7083786 Sdiff src/share/vm/oops

src/share/vm/oops/constMethodKlass.cpp

Print this page




 155   constMethodOop cm = constMethodOop(obj);
 156   MarkSweep::adjust_pointer(cm->adr_method());
 157   MarkSweep::adjust_pointer(cm->adr_stackmap_data());
 158   MarkSweep::adjust_pointer(cm->adr_exception_table());
 159   // Get size before changing pointers.
 160   // Don't call size() or oop_size() since that is a virtual call.
 161   int size = cm->object_size();
 162   // Performance tweak: We skip iterating over the klass pointer since we
 163   // know that Universe::constMethodKlassObj never moves.
 164   return size;
 165 }
 166 
 167 #ifndef SERIALGC
 168 void constMethodKlass::oop_push_contents(PSPromotionManager* pm, oop obj) {
 169   assert(obj->is_constMethod(), "should be constMethod");
 170 }
 171 
 172 int constMethodKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
 173   assert(obj->is_constMethod(), "should be constMethod");
 174   constMethodOop cm_oop = constMethodOop(obj);
 175 #if 0
 176   PSParallelCompact::adjust_pointer(cm_oop->adr_method());
 177   PSParallelCompact::adjust_pointer(cm_oop->adr_exception_table());
 178   PSParallelCompact::adjust_pointer(cm_oop->adr_stackmap_data());
 179 #endif
 180   oop* const beg_oop = cm_oop->oop_block_beg();
 181   oop* const end_oop = cm_oop->oop_block_end();
 182   for (oop* cur_oop = beg_oop; cur_oop < end_oop; ++cur_oop) {
 183     PSParallelCompact::adjust_pointer(cur_oop);
 184   }
 185   return cm_oop->object_size();
 186 }
 187 #endif // SERIALGC
 188 
 189 // Printing
 190 
 191 void constMethodKlass::oop_print_on(oop obj, outputStream* st) {
 192   ResourceMark rm;
 193   assert(obj->is_constMethod(), "must be constMethod");
 194   Klass::oop_print_on(obj, st);
 195   constMethodOop m = constMethodOop(obj);
 196   st->print(" - method:       " INTPTR_FORMAT " ", (address)m->method());
 197   m->method()->print_value_on(st); st->cr();
 198   st->print(" - exceptions:   " INTPTR_FORMAT "\n", (address)m->exception_table());
 199   if (m->has_stackmap_table()) {




 155   constMethodOop cm = constMethodOop(obj);
 156   MarkSweep::adjust_pointer(cm->adr_method());
 157   MarkSweep::adjust_pointer(cm->adr_stackmap_data());
 158   MarkSweep::adjust_pointer(cm->adr_exception_table());
 159   // Get size before changing pointers.
 160   // Don't call size() or oop_size() since that is a virtual call.
 161   int size = cm->object_size();
 162   // Performance tweak: We skip iterating over the klass pointer since we
 163   // know that Universe::constMethodKlassObj never moves.
 164   return size;
 165 }
 166 
 167 #ifndef SERIALGC
 168 void constMethodKlass::oop_push_contents(PSPromotionManager* pm, oop obj) {
 169   assert(obj->is_constMethod(), "should be constMethod");
 170 }
 171 
 172 int constMethodKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
 173   assert(obj->is_constMethod(), "should be constMethod");
 174   constMethodOop cm_oop = constMethodOop(obj);





 175   oop* const beg_oop = cm_oop->oop_block_beg();
 176   oop* const end_oop = cm_oop->oop_block_end();
 177   for (oop* cur_oop = beg_oop; cur_oop < end_oop; ++cur_oop) {
 178     PSParallelCompact::adjust_pointer(cur_oop);
 179   }
 180   return cm_oop->object_size();
 181 }
 182 #endif // SERIALGC
 183 
 184 // Printing
 185 
 186 void constMethodKlass::oop_print_on(oop obj, outputStream* st) {
 187   ResourceMark rm;
 188   assert(obj->is_constMethod(), "must be constMethod");
 189   Klass::oop_print_on(obj, st);
 190   constMethodOop m = constMethodOop(obj);
 191   st->print(" - method:       " INTPTR_FORMAT " ", (address)m->method());
 192   m->method()->print_value_on(st); st->cr();
 193   st->print(" - exceptions:   " INTPTR_FORMAT "\n", (address)m->exception_table());
 194   if (m->has_stackmap_table()) {


src/share/vm/oops/constMethodKlass.cpp
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File