< prev index next >
src/hotspot/share/opto/runtime.cpp
Print this page
rev 49521 : [mq]: heap8
*** 200,209 ****
--- 200,210 ----
JRT_BLOCK;
#ifndef PRODUCT
SharedRuntime::_new_instance_ctr++; // new instance requires GC
#endif
assert(check_compiled_frame(thread), "incorrect caller");
+ JvmtiSampledObjectAllocEventCollector collector;
// These checks are cheap to make and support reflective allocation.
int lh = klass->layout_helper();
if (Klass::layout_helper_needs_slow_path(lh) || !InstanceKlass::cast(klass)->is_initialized()) {
Handle holder(THREAD, klass->klass_holder()); // keep the klass alive
*** 238,247 ****
--- 239,249 ----
JRT_BLOCK;
#ifndef PRODUCT
SharedRuntime::_new_array_ctr++; // new array requires GC
#endif
assert(check_compiled_frame(thread), "incorrect caller");
+ JvmtiSampledObjectAllocEventCollector collector;
// Scavenge and allocate an instance.
oop result;
if (array_type->is_typeArray_klass()) {
*** 319,328 ****
--- 321,331 ----
// Note: multianewarray for one dimension is handled inline by GraphKit::new_array.
// multianewarray for 2 dimensions
JRT_ENTRY(void, OptoRuntime::multianewarray2_C(Klass* elem_type, int len1, int len2, JavaThread *thread))
+ JvmtiSampledObjectAllocEventCollector collector;
#ifndef PRODUCT
SharedRuntime::_multi2_ctr++; // multianewarray for 1 dimension
#endif
assert(check_compiled_frame(thread), "incorrect caller");
assert(elem_type->is_klass(), "not a class");
*** 335,344 ****
--- 338,348 ----
thread->set_vm_result(obj);
JRT_END
// multianewarray for 3 dimensions
JRT_ENTRY(void, OptoRuntime::multianewarray3_C(Klass* elem_type, int len1, int len2, int len3, JavaThread *thread))
+ JvmtiSampledObjectAllocEventCollector collector;
#ifndef PRODUCT
SharedRuntime::_multi3_ctr++; // multianewarray for 1 dimension
#endif
assert(check_compiled_frame(thread), "incorrect caller");
assert(elem_type->is_klass(), "not a class");
*** 352,361 ****
--- 356,366 ----
thread->set_vm_result(obj);
JRT_END
// multianewarray for 4 dimensions
JRT_ENTRY(void, OptoRuntime::multianewarray4_C(Klass* elem_type, int len1, int len2, int len3, int len4, JavaThread *thread))
+ JvmtiSampledObjectAllocEventCollector collector;
#ifndef PRODUCT
SharedRuntime::_multi4_ctr++; // multianewarray for 1 dimension
#endif
assert(check_compiled_frame(thread), "incorrect caller");
assert(elem_type->is_klass(), "not a class");
*** 370,379 ****
--- 375,385 ----
thread->set_vm_result(obj);
JRT_END
// multianewarray for 5 dimensions
JRT_ENTRY(void, OptoRuntime::multianewarray5_C(Klass* elem_type, int len1, int len2, int len3, int len4, int len5, JavaThread *thread))
+ JvmtiSampledObjectAllocEventCollector collector;
#ifndef PRODUCT
SharedRuntime::_multi5_ctr++; // multianewarray for 1 dimension
#endif
assert(check_compiled_frame(thread), "incorrect caller");
assert(elem_type->is_klass(), "not a class");
< prev index next >