56 private: |
56 private: |
57 static int _field_access_count; |
57 static int _field_access_count; |
58 static int _field_modification_count; |
58 static int _field_modification_count; |
59 |
59 |
60 static bool _can_access_local_variables; |
60 static bool _can_access_local_variables; |
61 static bool _can_examine_or_deopt_anywhere; |
|
62 static bool _can_hotswap_or_post_breakpoint; |
61 static bool _can_hotswap_or_post_breakpoint; |
63 static bool _can_modify_any_class; |
62 static bool _can_modify_any_class; |
64 static bool _can_walk_any_space; |
63 static bool _can_walk_any_space; |
65 |
64 |
66 JVMTI_SUPPORT_FLAG(can_get_source_debug_extension) |
65 JVMTI_SUPPORT_FLAG(can_get_source_debug_extension) |
110 // If flag cannot be implemented, give an error if on=true |
109 // If flag cannot be implemented, give an error if on=true |
111 static void report_unsupported(bool on); |
110 static void report_unsupported(bool on); |
112 |
111 |
113 // these should only be called by the friend class |
112 // these should only be called by the friend class |
114 friend class JvmtiManageCapabilities; |
113 friend class JvmtiManageCapabilities; |
115 inline static void set_can_examine_or_deopt_anywhere(bool on) { _can_examine_or_deopt_anywhere = (on != 0); } |
|
116 inline static void set_can_modify_any_class(bool on) { _can_modify_any_class = (on != 0); } |
114 inline static void set_can_modify_any_class(bool on) { _can_modify_any_class = (on != 0); } |
117 inline static void set_can_access_local_variables(bool on) { _can_access_local_variables = (on != 0); } |
115 inline static void set_can_access_local_variables(bool on) { _can_access_local_variables = (on != 0); } |
118 inline static void set_can_hotswap_or_post_breakpoint(bool on) { _can_hotswap_or_post_breakpoint = (on != 0); } |
116 inline static void set_can_hotswap_or_post_breakpoint(bool on) { _can_hotswap_or_post_breakpoint = (on != 0); } |
119 inline static void set_can_walk_any_space(bool on) { _can_walk_any_space = (on != 0); } |
117 inline static void set_can_walk_any_space(bool on) { _can_walk_any_space = (on != 0); } |
120 |
118 |
218 |
216 |
219 // let JVMTI know that the VM is fully up and running now |
217 // let JVMTI know that the VM is fully up and running now |
220 static void enter_live_phase(); |
218 static void enter_live_phase(); |
221 |
219 |
222 // ------ can_* conditions (below) are set at OnLoad and never changed ------------ |
220 // ------ can_* conditions (below) are set at OnLoad and never changed ------------ |
223 inline static bool can_examine_or_deopt_anywhere() { return _can_examine_or_deopt_anywhere; } |
|
224 inline static bool can_modify_any_class() { return _can_modify_any_class; } |
221 inline static bool can_modify_any_class() { return _can_modify_any_class; } |
225 inline static bool can_access_local_variables() { return _can_access_local_variables; } |
222 inline static bool can_access_local_variables() { return _can_access_local_variables; } |
226 inline static bool can_hotswap_or_post_breakpoint() { return _can_hotswap_or_post_breakpoint; } |
223 inline static bool can_hotswap_or_post_breakpoint() { return _can_hotswap_or_post_breakpoint; } |
227 inline static bool can_walk_any_space() { return _can_walk_any_space; } |
224 inline static bool can_walk_any_space() { return _can_walk_any_space; } |
228 |
225 |