< prev index next >
src/share/vm/oops/method.hpp
Print this page
@@ -109,10 +109,11 @@
u1 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none)
u1 _jfr_towrite : 1, // Flags
_caller_sensitive : 1,
_force_inline : 1,
_hidden : 1,
+ _running_emcp : 1,
_dont_inline : 1,
_has_injected_profile : 1,
: 2;
#ifndef PRODUCT
@@ -709,10 +710,25 @@
void set_is_old() { _access_flags.set_is_old(); }
bool is_obsolete() const { return access_flags().is_obsolete(); }
void set_is_obsolete() { _access_flags.set_is_obsolete(); }
bool is_deleted() const { return access_flags().is_deleted(); }
void set_is_deleted() { _access_flags.set_is_deleted(); }
+
+ bool is_running_emcp() const {
+ // EMCP methods are old but not obsolete or deleted. Equivalent
+ // Modulo Constant Pool means the method is equivalent except
+ // the constant pool and instructions that access the constant
+ // pool might be different.
+ // If a breakpoint is set in a redefined method, its EMCP methods that are
+ // still running must have a breakpoint also.
+ return _running_emcp;
+ }
+
+ void set_running_emcp(bool x) {
+ _running_emcp = x;
+ }
+
bool on_stack() const { return access_flags().on_stack(); }
void set_on_stack(const bool value);
// see the definition in Method*.cpp for the gory details
bool should_not_be_cached() const;
< prev index next >