equal
deleted
inserted
replaced
229 // Mark all constMethod objects. |
229 // Mark all constMethod objects. |
230 |
230 |
231 if (obj->is_constMethod()) { |
231 if (obj->is_constMethod()) { |
232 mark_object(obj); |
232 mark_object(obj); |
233 mark_object(constMethodOop(obj)->stackmap_data()); |
233 mark_object(constMethodOop(obj)->stackmap_data()); |
234 // Exception tables are needed by ci code during compilation. |
|
235 mark_object(constMethodOop(obj)->exception_table()); |
|
236 } |
234 } |
237 |
235 |
238 // Mark objects referenced by klass objects which are read-only. |
236 // Mark objects referenced by klass objects which are read-only. |
239 |
237 |
240 else if (obj->is_klass()) { |
238 else if (obj->is_klass()) { |
511 |
509 |
512 objArrayOop methods = ik->methods(); |
510 objArrayOop methods = ik->methods(); |
513 for(i = 0; i < methods->length(); i++) { |
511 for(i = 0; i < methods->length(); i++) { |
514 methodOop m = methodOop(methods->obj_at(i)); |
512 methodOop m = methodOop(methods->obj_at(i)); |
515 mark_and_move_for_policy(OP_favor_startup, m->constMethod(), _move_ro); |
513 mark_and_move_for_policy(OP_favor_startup, m->constMethod(), _move_ro); |
516 mark_and_move_for_policy(OP_favor_runtime, m->constMethod()->exception_table(), _move_ro); |
|
517 mark_and_move_for_policy(OP_favor_runtime, m->constMethod()->stackmap_data(), _move_ro); |
514 mark_and_move_for_policy(OP_favor_runtime, m->constMethod()->stackmap_data(), _move_ro); |
518 } |
515 } |
519 |
516 |
520 mark_and_move_for_policy(OP_favor_startup, ik->transitive_interfaces(), _move_ro); |
517 mark_and_move_for_policy(OP_favor_startup, ik->transitive_interfaces(), _move_ro); |
521 mark_and_move_for_policy(OP_favor_startup, ik->fields(), _move_ro); |
518 mark_and_move_for_policy(OP_favor_startup, ik->fields(), _move_ro); |