src/share/vm/prims/jvmtiManageCapabilities.cpp

Print this page
rev 5190 : 8024468: PPC64 (part 201): cppInterpreter: implement bytecode profiling
Summary: Implement profiling for c2 jit compilation. Also enable new cppInterpreter features.


 100   if (os::is_thread_cpu_time_supported()) {
 101     jc.can_get_current_thread_cpu_time = 1;
 102     jc.can_get_thread_cpu_time = 1;
 103   }
 104   jc.can_redefine_classes = 1;
 105   jc.can_redefine_any_class = 1;
 106   jc.can_retransform_classes = 1;
 107   jc.can_retransform_any_class = 1;
 108   jc.can_set_native_method_prefix = 1;
 109   jc.can_tag_objects = 1;
 110   jc.can_generate_object_free_events = 1;
 111   jc.can_generate_resource_exhaustion_heap_events = 1;
 112   jc.can_generate_resource_exhaustion_threads_events = 1;
 113   return jc;
 114 }
 115 
 116 jvmtiCapabilities JvmtiManageCapabilities::init_onload_capabilities() {
 117   jvmtiCapabilities jc;
 118 
 119   memset(&jc, 0, sizeof(jc));
 120 #ifndef CC_INTERP
 121   jc.can_pop_frame = 1;
 122   jc.can_force_early_return = 1;
 123 #endif // !CC_INTERP
 124   jc.can_get_source_debug_extension = 1;
 125   jc.can_access_local_variables = 1;
 126   jc.can_maintain_original_method_order = 1;
 127   jc.can_generate_all_class_hook_events = 1;
 128   jc.can_generate_single_step_events = 1;
 129   jc.can_generate_exception_events = 1;
 130   jc.can_generate_frame_pop_events = 1;
 131   jc.can_generate_method_entry_events = 1;
 132   jc.can_generate_method_exit_events = 1;
 133   jc.can_get_owned_monitor_info = 1;
 134   jc.can_get_owned_monitor_stack_depth_info = 1;
 135   jc.can_get_current_contended_monitor = 1;
 136   // jc.can_get_monitor_info = 1;
 137   jc.can_tag_objects = 1;                 // TODO: this should have been removed
 138   jc.can_generate_object_free_events = 1; // TODO: this should have been removed
 139   return jc;
 140 }
 141 
 142 
 143 jvmtiCapabilities JvmtiManageCapabilities::init_always_solo_capabilities() {




 100   if (os::is_thread_cpu_time_supported()) {
 101     jc.can_get_current_thread_cpu_time = 1;
 102     jc.can_get_thread_cpu_time = 1;
 103   }
 104   jc.can_redefine_classes = 1;
 105   jc.can_redefine_any_class = 1;
 106   jc.can_retransform_classes = 1;
 107   jc.can_retransform_any_class = 1;
 108   jc.can_set_native_method_prefix = 1;
 109   jc.can_tag_objects = 1;
 110   jc.can_generate_object_free_events = 1;
 111   jc.can_generate_resource_exhaustion_heap_events = 1;
 112   jc.can_generate_resource_exhaustion_threads_events = 1;
 113   return jc;
 114 }
 115 
 116 jvmtiCapabilities JvmtiManageCapabilities::init_onload_capabilities() {
 117   jvmtiCapabilities jc;
 118 
 119   memset(&jc, 0, sizeof(jc));
 120 #ifndef ZERO
 121   jc.can_pop_frame = 1;
 122   jc.can_force_early_return = 1;
 123 #endif // !ZERO
 124   jc.can_get_source_debug_extension = 1;
 125   jc.can_access_local_variables = 1;
 126   jc.can_maintain_original_method_order = 1;
 127   jc.can_generate_all_class_hook_events = 1;
 128   jc.can_generate_single_step_events = 1;
 129   jc.can_generate_exception_events = 1;
 130   jc.can_generate_frame_pop_events = 1;
 131   jc.can_generate_method_entry_events = 1;
 132   jc.can_generate_method_exit_events = 1;
 133   jc.can_get_owned_monitor_info = 1;
 134   jc.can_get_owned_monitor_stack_depth_info = 1;
 135   jc.can_get_current_contended_monitor = 1;
 136   // jc.can_get_monitor_info = 1;
 137   jc.can_tag_objects = 1;                 // TODO: this should have been removed
 138   jc.can_generate_object_free_events = 1; // TODO: this should have been removed
 139   return jc;
 140 }
 141 
 142 
 143 jvmtiCapabilities JvmtiManageCapabilities::init_always_solo_capabilities() {