src/share/vm/oops/methodKlass.cpp
Print this page
rev 2893 : 7121756: Improve C1 inlining policy by using profiling at call sites
Summary: profile based recompilation of methods with C1 with more inlining.
Reviewed-by:
*** 139,153 ****
methodOop m = methodOop(obj);
// Performance tweak: We skip iterating over the klass pointer since we
// know that Universe::methodKlassObj never moves.
PSParallelCompact::mark_and_push(cm, m->adr_constMethod());
PSParallelCompact::mark_and_push(cm, m->adr_constants());
- #ifdef COMPILER2
if (m->method_data() != NULL) {
PSParallelCompact::mark_and_push(cm, m->adr_method_data());
}
- #endif // COMPILER2
}
#endif // SERIALGC
int methodKlass::oop_oop_iterate(oop obj, OopClosure* blk) {
assert (obj->is_method(), "object must be method");
--- 139,151 ----
*** 211,225 ****
int methodKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
assert(obj->is_method(), "should be method");
methodOop m = methodOop(obj);
PSParallelCompact::adjust_pointer(m->adr_constMethod());
PSParallelCompact::adjust_pointer(m->adr_constants());
- #ifdef COMPILER2
if (m->method_data() != NULL) {
PSParallelCompact::adjust_pointer(m->adr_method_data());
}
- #endif // COMPILER2
return m->object_size();
}
#endif // SERIALGC
#ifndef PRODUCT
--- 209,221 ----