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);
346 JvmtiExport::set_can_post_interpreter_events(interp_events);
347 JvmtiExport::set_can_hotswap_or_post_breakpoint(
348 avail.can_generate_breakpoint_events ||
349 avail.can_redefine_classes ||
350 avail.can_retransform_classes);
351 JvmtiExport::set_can_modify_any_class(
352 avail.can_generate_breakpoint_events ||
353 avail.can_generate_all_class_hook_events);
354 JvmtiExport::set_can_walk_any_space(
355 avail.can_tag_objects); // disable sharing in onload phase
356 JvmtiExport::set_can_access_local_variables(
357 avail.can_access_local_variables ||
358 avail.can_redefine_classes ||
359 avail.can_retransform_classes);
360 JvmtiExport::set_can_post_exceptions(
361 avail.can_generate_exception_events ||
362 avail.can_generate_frame_pop_events ||
363 avail.can_generate_method_exit_events);
364 JvmtiExport::set_can_post_breakpoint(avail.can_generate_breakpoint_events);
365 JvmtiExport::set_can_post_field_access(avail.can_generate_field_access_events);
366 JvmtiExport::set_can_post_field_modification(avail.can_generate_field_modification_events);
367 JvmtiExport::set_can_post_method_entry(avail.can_generate_method_entry_events);
368 JvmtiExport::set_can_post_method_exit(avail.can_generate_method_exit_events ||
369 avail.can_generate_frame_pop_events);
370 JvmtiExport::set_can_pop_frame(avail.can_pop_frame);
371 JvmtiExport::set_can_force_early_return(avail.can_force_early_return);
372 JvmtiExport::set_should_clean_up_heap_objects(avail.can_generate_breakpoint_events);
373 }
374
375 #ifndef PRODUCT
376
377 void JvmtiManageCapabilities:: print(const jvmtiCapabilities* cap) {
378 tty->print_cr("----- capabilities -----");
379 if (cap->can_tag_objects)
380 tty->print_cr("can_tag_objects");
|
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);
346 JvmtiExport::set_can_post_interpreter_events(interp_events);
347 JvmtiExport::set_can_hotswap_or_post_breakpoint(
348 avail.can_generate_breakpoint_events ||
349 avail.can_redefine_classes ||
350 avail.can_retransform_classes);
351 JvmtiExport::set_can_modify_any_class(
352 avail.can_generate_breakpoint_events ||
353 avail.can_generate_all_class_hook_events);
354 JvmtiExport::set_can_walk_any_space(
355 avail.can_tag_objects); // disable sharing in onload phase
356 JvmtiExport::set_can_access_local_variables(
357 avail.can_access_local_variables ||
358 avail.can_redefine_classes ||
359 avail.can_retransform_classes);
360 JvmtiExport::set_can_post_on_exceptions(
361 avail.can_generate_exception_events ||
362 avail.can_generate_frame_pop_events ||
363 avail.can_generate_method_exit_events);
364 JvmtiExport::set_can_post_breakpoint(avail.can_generate_breakpoint_events);
365 JvmtiExport::set_can_post_field_access(avail.can_generate_field_access_events);
366 JvmtiExport::set_can_post_field_modification(avail.can_generate_field_modification_events);
367 JvmtiExport::set_can_post_method_entry(avail.can_generate_method_entry_events);
368 JvmtiExport::set_can_post_method_exit(avail.can_generate_method_exit_events ||
369 avail.can_generate_frame_pop_events);
370 JvmtiExport::set_can_pop_frame(avail.can_pop_frame);
371 JvmtiExport::set_can_force_early_return(avail.can_force_early_return);
372 JvmtiExport::set_should_clean_up_heap_objects(avail.can_generate_breakpoint_events);
373 }
374
375 #ifndef PRODUCT
376
377 void JvmtiManageCapabilities:: print(const jvmtiCapabilities* cap) {
378 tty->print_cr("----- capabilities -----");
379 if (cap->can_tag_objects)
380 tty->print_cr("can_tag_objects");
|