< prev index next >

src/hotspot/share/opto/runtime.cpp

Print this page
rev 49521 : [mq]: heap8
rev 49524 : [mq]: heap11

*** 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()) {
*** 275,284 **** --- 277,287 ---- 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; assert(array_type->is_typeArray_klass(), "should be called only for type array");
*** 324,333 **** --- 327,337 ---- #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"); + JvmtiSampledObjectAllocEventCollector collector; jint dims[2]; dims[0] = len1; dims[1] = len2; Handle holder(THREAD, elem_type->klass_holder()); // keep the klass alive oop obj = ArrayKlass::cast(elem_type)->multi_allocate(2, dims, THREAD);
*** 357,366 **** --- 361,371 ---- #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"); + JvmtiSampledObjectAllocEventCollector collector; jint dims[4]; dims[0] = len1; dims[1] = len2; dims[2] = len3; dims[3] = len4;
*** 375,384 **** --- 380,390 ---- #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"); + JvmtiSampledObjectAllocEventCollector collector; jint dims[5]; dims[0] = len1; dims[1] = len2; dims[2] = len3; dims[3] = len4;
*** 391,400 **** --- 397,407 ---- JRT_ENTRY(void, OptoRuntime::multianewarrayN_C(Klass* elem_type, arrayOopDesc* dims, JavaThread *thread)) assert(check_compiled_frame(thread), "incorrect caller"); assert(elem_type->is_klass(), "not a class"); assert(oop(dims)->is_typeArray(), "not an array"); + JvmtiSampledObjectAllocEventCollector collector; ResourceMark rm; jint len = dims->length(); assert(len > 0, "Dimensions array should contain data"); jint *j_dims = typeArrayOop(dims)->int_at_addr(0);
< prev index next >