< prev index next >

src/hotspot/share/prims/jvmtiManageCapabilities.cpp

Print this page
rev 56101 : 8227745: Enable Escape Analysis for better performance when debugging
Reviewed-by: ???


 350   // This controls whether the compilers keep extra locals live to
 351   // improve the debugging experience so only set them if the selected
 352   // capabilities look like a debugger.
 353   JvmtiExport::set_can_access_local_variables(
 354     avail.can_access_local_variables ||
 355     avail.can_generate_breakpoint_events ||
 356     avail.can_generate_frame_pop_events);
 357   JvmtiExport::set_can_post_on_exceptions(
 358     avail.can_generate_exception_events ||
 359     avail.can_generate_frame_pop_events ||
 360     avail.can_generate_method_exit_events);
 361   JvmtiExport::set_can_post_breakpoint(avail.can_generate_breakpoint_events);
 362   JvmtiExport::set_can_post_field_access(avail.can_generate_field_access_events);
 363   JvmtiExport::set_can_post_field_modification(avail.can_generate_field_modification_events);
 364   JvmtiExport::set_can_post_method_entry(avail.can_generate_method_entry_events);
 365   JvmtiExport::set_can_post_method_exit(avail.can_generate_method_exit_events ||
 366                                         avail.can_generate_frame_pop_events);
 367   JvmtiExport::set_can_pop_frame(avail.can_pop_frame);
 368   JvmtiExport::set_can_force_early_return(avail.can_force_early_return);
 369   JvmtiExport::set_should_clean_up_heap_objects(avail.can_generate_breakpoint_events);


 370 }
 371 
 372 #ifndef PRODUCT
 373 
 374 void JvmtiManageCapabilities:: print(const jvmtiCapabilities* cap) {
 375   log_trace(jvmti)("----- capabilities -----");
 376   if (cap->can_tag_objects)
 377     log_trace(jvmti)("can_tag_objects");
 378   if (cap->can_generate_field_modification_events)
 379     log_trace(jvmti)("can_generate_field_modification_events");
 380   if (cap->can_generate_field_access_events)
 381     log_trace(jvmti)("can_generate_field_access_events");
 382   if (cap->can_get_bytecodes)
 383     log_trace(jvmti)("can_get_bytecodes");
 384   if (cap->can_get_synthetic_attribute)
 385     log_trace(jvmti)("can_get_synthetic_attribute");
 386   if (cap->can_get_owned_monitor_info)
 387     log_trace(jvmti)("can_get_owned_monitor_info");
 388   if (cap->can_get_current_contended_monitor)
 389     log_trace(jvmti)("can_get_current_contended_monitor");




 350   // This controls whether the compilers keep extra locals live to
 351   // improve the debugging experience so only set them if the selected
 352   // capabilities look like a debugger.
 353   JvmtiExport::set_can_access_local_variables(
 354     avail.can_access_local_variables ||
 355     avail.can_generate_breakpoint_events ||
 356     avail.can_generate_frame_pop_events);
 357   JvmtiExport::set_can_post_on_exceptions(
 358     avail.can_generate_exception_events ||
 359     avail.can_generate_frame_pop_events ||
 360     avail.can_generate_method_exit_events);
 361   JvmtiExport::set_can_post_breakpoint(avail.can_generate_breakpoint_events);
 362   JvmtiExport::set_can_post_field_access(avail.can_generate_field_access_events);
 363   JvmtiExport::set_can_post_field_modification(avail.can_generate_field_modification_events);
 364   JvmtiExport::set_can_post_method_entry(avail.can_generate_method_entry_events);
 365   JvmtiExport::set_can_post_method_exit(avail.can_generate_method_exit_events ||
 366                                         avail.can_generate_frame_pop_events);
 367   JvmtiExport::set_can_pop_frame(avail.can_pop_frame);
 368   JvmtiExport::set_can_force_early_return(avail.can_force_early_return);
 369   JvmtiExport::set_should_clean_up_heap_objects(avail.can_generate_breakpoint_events);
 370   JvmtiExport::set_can_get_owned_monitor_info(avail.can_get_owned_monitor_info ||
 371                                               avail.can_get_owned_monitor_stack_depth_info);
 372 }
 373 
 374 #ifndef PRODUCT
 375 
 376 void JvmtiManageCapabilities:: print(const jvmtiCapabilities* cap) {
 377   log_trace(jvmti)("----- capabilities -----");
 378   if (cap->can_tag_objects)
 379     log_trace(jvmti)("can_tag_objects");
 380   if (cap->can_generate_field_modification_events)
 381     log_trace(jvmti)("can_generate_field_modification_events");
 382   if (cap->can_generate_field_access_events)
 383     log_trace(jvmti)("can_generate_field_access_events");
 384   if (cap->can_get_bytecodes)
 385     log_trace(jvmti)("can_get_bytecodes");
 386   if (cap->can_get_synthetic_attribute)
 387     log_trace(jvmti)("can_get_synthetic_attribute");
 388   if (cap->can_get_owned_monitor_info)
 389     log_trace(jvmti)("can_get_owned_monitor_info");
 390   if (cap->can_get_current_contended_monitor)
 391     log_trace(jvmti)("can_get_current_contended_monitor");


< prev index next >