1.1 --- a/src/share/vm/oops/method.hpp Tue Apr 08 09:51:25 2014 +0200 1.2 +++ b/src/share/vm/oops/method.hpp Mon Jan 08 08:32:04 2018 -0800 1.3 @@ -111,6 +111,7 @@ 1.4 _caller_sensitive : 1, 1.5 _force_inline : 1, 1.6 _hidden : 1, 1.7 + _running_emcp : 1, 1.8 _dont_inline : 1, 1.9 _has_injected_profile : 1, 1.10 : 2; 1.11 @@ -712,6 +713,21 @@ 1.12 void set_is_obsolete() { _access_flags.set_is_obsolete(); } 1.13 bool is_deleted() const { return access_flags().is_deleted(); } 1.14 void set_is_deleted() { _access_flags.set_is_deleted(); } 1.15 + 1.16 + bool is_running_emcp() const { 1.17 + // EMCP methods are old but not obsolete or deleted. Equivalent 1.18 + // Modulo Constant Pool means the method is equivalent except 1.19 + // the constant pool and instructions that access the constant 1.20 + // pool might be different. 1.21 + // If a breakpoint is set in a redefined method, its EMCP methods that are 1.22 + // still running must have a breakpoint also. 1.23 + return _running_emcp; 1.24 + } 1.25 + 1.26 + void set_running_emcp(bool x) { 1.27 + _running_emcp = x; 1.28 + } 1.29 + 1.30 bool on_stack() const { return access_flags().on_stack(); } 1.31 void set_on_stack(const bool value); 1.32