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); |