< prev index next >

src/hotspot/share/opto/runtime.cpp

Print this page
rev 49643 : [mq]: heap8
rev 49646 : [mq]: heap11

@@ -212,10 +212,11 @@
       InstanceKlass::cast(klass)->initialize(THREAD);
     }
   }
 
   if (!HAS_PENDING_EXCEPTION) {
+    JvmtiSampledObjectAllocEventCollector collector;
     // Scavenge and allocate an instance.
     Handle holder(THREAD, klass->klass_holder()); // keep the klass alive
     oop result = InstanceKlass::cast(klass)->allocate_instance(THREAD);
     thread->set_vm_result(result);
 

@@ -237,10 +238,11 @@
 JRT_BLOCK_ENTRY(void, OptoRuntime::new_array_C(Klass* array_type, int len, JavaThread *thread))
   JRT_BLOCK;
 #ifndef PRODUCT
   SharedRuntime::_new_array_ctr++;            // new array requires GC
 #endif
+  JvmtiSampledObjectAllocEventCollector collector;
   assert(check_compiled_frame(thread), "incorrect caller");
 
   // Scavenge and allocate an instance.
   oop result;
 

@@ -274,10 +276,11 @@
 JRT_BLOCK_ENTRY(void, OptoRuntime::new_array_nozero_C(Klass* array_type, int len, JavaThread *thread))
   JRT_BLOCK;
 #ifndef PRODUCT
   SharedRuntime::_new_array_ctr++;            // new array requires GC
 #endif
+  JvmtiSampledObjectAllocEventCollector collector;
   assert(check_compiled_frame(thread), "incorrect caller");
 
   // Scavenge and allocate an instance.
   oop result;
 

@@ -322,10 +325,11 @@
 // multianewarray for 2 dimensions
 JRT_ENTRY(void, OptoRuntime::multianewarray2_C(Klass* elem_type, int len1, int len2, JavaThread *thread))
 #ifndef PRODUCT
   SharedRuntime::_multi2_ctr++;                // multianewarray for 1 dimension
 #endif
+  JvmtiSampledObjectAllocEventCollector collector;
   assert(check_compiled_frame(thread), "incorrect caller");
   assert(elem_type->is_klass(), "not a class");
   jint dims[2];
   dims[0] = len1;
   dims[1] = len2;

@@ -338,10 +342,11 @@
 // multianewarray for 3 dimensions
 JRT_ENTRY(void, OptoRuntime::multianewarray3_C(Klass* elem_type, int len1, int len2, int len3, JavaThread *thread))
 #ifndef PRODUCT
   SharedRuntime::_multi3_ctr++;                // multianewarray for 1 dimension
 #endif
+  JvmtiSampledObjectAllocEventCollector collector;
   assert(check_compiled_frame(thread), "incorrect caller");
   assert(elem_type->is_klass(), "not a class");
   jint dims[3];
   dims[0] = len1;
   dims[1] = len2;

@@ -355,10 +360,11 @@
 // multianewarray for 4 dimensions
 JRT_ENTRY(void, OptoRuntime::multianewarray4_C(Klass* elem_type, int len1, int len2, int len3, int len4, JavaThread *thread))
 #ifndef PRODUCT
   SharedRuntime::_multi4_ctr++;                // multianewarray for 1 dimension
 #endif
+  JvmtiSampledObjectAllocEventCollector collector;
   assert(check_compiled_frame(thread), "incorrect caller");
   assert(elem_type->is_klass(), "not a class");
   jint dims[4];
   dims[0] = len1;
   dims[1] = len2;

@@ -373,10 +379,11 @@
 // 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))
 #ifndef PRODUCT
   SharedRuntime::_multi5_ctr++;                // multianewarray for 1 dimension
 #endif
+  JvmtiSampledObjectAllocEventCollector collector;
   assert(check_compiled_frame(thread), "incorrect caller");
   assert(elem_type->is_klass(), "not a class");
   jint dims[5];
   dims[0] = len1;
   dims[1] = len2;

@@ -388,10 +395,11 @@
   deoptimize_caller_frame(thread, HAS_PENDING_EXCEPTION);
   thread->set_vm_result(obj);
 JRT_END
 
 JRT_ENTRY(void, OptoRuntime::multianewarrayN_C(Klass* elem_type, arrayOopDesc* dims, JavaThread *thread))
+  JvmtiSampledObjectAllocEventCollector collector;
   assert(check_compiled_frame(thread), "incorrect caller");
   assert(elem_type->is_klass(), "not a class");
   assert(oop(dims)->is_typeArray(), "not an array");
 
   ResourceMark rm;
< prev index next >