src/share/vm/prims/jvmtiManageCapabilities.cpp

changeset 1832
b4776199210f
parent 1648
6deeaebad47a
child 1907
c18cbe5936b8
equal deleted inserted replaced
1831:d7f654633cfe 1832:b4776199210f
330 JvmtiEnv::get_phase() == JVMTI_PHASE_ONLOAD) { 330 JvmtiEnv::get_phase() == JVMTI_PHASE_ONLOAD) {
331 JvmtiExport::set_all_dependencies_are_recorded(true); 331 JvmtiExport::set_all_dependencies_are_recorded(true);
332 } 332 }
333 333
334 JvmtiExport::set_can_get_source_debug_extension(avail.can_get_source_debug_extension); 334 JvmtiExport::set_can_get_source_debug_extension(avail.can_get_source_debug_extension);
335 JvmtiExport::set_can_examine_or_deopt_anywhere(
336 avail.can_generate_breakpoint_events ||
337 interp_events ||
338 avail.can_redefine_classes ||
339 avail.can_retransform_classes ||
340 avail.can_access_local_variables ||
341 avail.can_get_owned_monitor_info ||
342 avail.can_get_current_contended_monitor ||
343 avail.can_get_monitor_info ||
344 avail.can_get_owned_monitor_stack_depth_info);
345 JvmtiExport::set_can_maintain_original_method_order(avail.can_maintain_original_method_order); 335 JvmtiExport::set_can_maintain_original_method_order(avail.can_maintain_original_method_order);
346 JvmtiExport::set_can_post_interpreter_events(interp_events); 336 JvmtiExport::set_can_post_interpreter_events(interp_events);
347 JvmtiExport::set_can_hotswap_or_post_breakpoint( 337 JvmtiExport::set_can_hotswap_or_post_breakpoint(
348 avail.can_generate_breakpoint_events || 338 avail.can_generate_breakpoint_events ||
349 avail.can_redefine_classes || 339 avail.can_redefine_classes ||
351 JvmtiExport::set_can_modify_any_class( 341 JvmtiExport::set_can_modify_any_class(
352 avail.can_generate_breakpoint_events || 342 avail.can_generate_breakpoint_events ||
353 avail.can_generate_all_class_hook_events); 343 avail.can_generate_all_class_hook_events);
354 JvmtiExport::set_can_walk_any_space( 344 JvmtiExport::set_can_walk_any_space(
355 avail.can_tag_objects); // disable sharing in onload phase 345 avail.can_tag_objects); // disable sharing in onload phase
346 // This controls whether the compilers keep extra locals live to
347 // improve the debugging experience so only set them if the selected
348 // capabilities look like a debugger.
356 JvmtiExport::set_can_access_local_variables( 349 JvmtiExport::set_can_access_local_variables(
357 avail.can_access_local_variables || 350 avail.can_access_local_variables ||
358 avail.can_redefine_classes || 351 avail.can_generate_breakpoint_events ||
359 avail.can_retransform_classes); 352 avail.can_generate_frame_pop_events);
360 JvmtiExport::set_can_post_on_exceptions( 353 JvmtiExport::set_can_post_on_exceptions(
361 avail.can_generate_exception_events || 354 avail.can_generate_exception_events ||
362 avail.can_generate_frame_pop_events || 355 avail.can_generate_frame_pop_events ||
363 avail.can_generate_method_exit_events); 356 avail.can_generate_method_exit_events);
364 JvmtiExport::set_can_post_breakpoint(avail.can_generate_breakpoint_events); 357 JvmtiExport::set_can_post_breakpoint(avail.can_generate_breakpoint_events);

mercurial