本文整理汇总了C++中oop::adjust_header方法的典型用法代码示例。如果您正苦于以下问题:C++ oop::adjust_header方法的具体用法?C++ oop::adjust_header怎么用?C++ oop::adjust_header使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类oop
的用法示例。
在下文中一共展示了oop::adjust_header方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: oop_adjust_pointers
int compiledICHolderKlass::oop_adjust_pointers(oop obj) {
assert(obj->is_compiledICHolder(), "must be compiledICHolder");
compiledICHolderOop c = compiledICHolderOop(obj);
// Get size before changing pointers.
// Don't call size() or oop_size() since that is a virtual call.
int size = c->object_size();
MarkSweep::adjust_pointer(c->adr_holder_method());
MarkSweep::adjust_pointer(c->adr_holder_klass());
obj->adjust_header();
return size;
}
示例2: oop_adjust_pointers
int methodDataKlass::oop_adjust_pointers(oop obj) {
assert(obj->is_methodData(), "should be method data");
methodDataOop m = methodDataOop(obj);
// Get size before changing pointers
// Don't call size() or oop_size() since that is a virtual call.
int size = m->object_size();
obj->adjust_header();
MarkSweep::adjust_pointer(m->adr_method());
ResourceMark rm;
ProfileData* data;
for (data = m->first_data(); m->is_valid(data); data = m->next_data(data)) {
data->adjust_pointers();
}
return size;
}
示例3: oop_adjust_pointers
int klassKlass::oop_adjust_pointers(oop obj) {
// Get size before changing pointers
int size = oop_size(obj);
obj->adjust_header();
Klass* k = Klass::cast(klassOop(obj));
MarkSweep::adjust_pointer(k->adr_super());
for (juint i = 0; i < Klass::primary_super_limit(); i++)
MarkSweep::adjust_pointer(k->adr_primary_supers()+i);
MarkSweep::adjust_pointer(k->adr_secondary_super_cache());
MarkSweep::adjust_pointer(k->adr_secondary_supers());
MarkSweep::adjust_pointer(k->adr_java_mirror());
MarkSweep::adjust_pointer(k->adr_name());
MarkSweep::adjust_pointer(k->adr_subklass());
MarkSweep::adjust_pointer(k->adr_next_sibling());
return size;
}