# HG changeset patch # User mgronlun # Date 1482491263 -3600 # Node ID fd81155cd8f7a2ae10cdeac4ce251e2ebe9f050d # Parent 5fa1aab53b6c1a2ec1b00ec0f1832ef0ceb95d72 8171960: Event-based tracing needs separate flag representation for Method Reviewed-by: diff --git a/src/share/vm/jvmci/vmStructs_jvmci.cpp b/src/share/vm/jvmci/vmStructs_jvmci.cpp --- a/src/share/vm/jvmci/vmStructs_jvmci.cpp +++ b/src/share/vm/jvmci/vmStructs_jvmci.cpp @@ -534,7 +534,6 @@ \ declare_constant(markOopDesc::no_hash) \ \ - declare_constant(Method::_jfr_towrite) \ declare_constant(Method::_caller_sensitive) \ declare_constant(Method::_force_inline) \ declare_constant(Method::_dont_inline) \ diff --git a/src/share/vm/oops/method.cpp b/src/share/vm/oops/method.cpp --- a/src/share/vm/oops/method.cpp +++ b/src/share/vm/oops/method.cpp @@ -85,7 +85,6 @@ set_constMethod(xconst); set_access_flags(access_flags); set_intrinsic_id(vmIntrinsics::_none); - set_jfr_towrite(false); set_force_inline(false); set_hidden(false); set_dont_inline(false); diff --git a/src/share/vm/oops/method.hpp b/src/share/vm/oops/method.hpp --- a/src/share/vm/oops/method.hpp +++ b/src/share/vm/oops/method.hpp @@ -36,6 +36,7 @@ #include "oops/instanceKlass.hpp" #include "oops/oop.hpp" #include "oops/typeArrayOop.hpp" +#include "trace/traceMacros.hpp" #include "utilities/accessFlags.hpp" #include "utilities/growableArray.hpp" @@ -75,18 +76,19 @@ // Flags enum Flags { - _jfr_towrite = 1 << 0, - _caller_sensitive = 1 << 1, - _force_inline = 1 << 2, - _dont_inline = 1 << 3, - _hidden = 1 << 4, - _has_injected_profile = 1 << 5, - _running_emcp = 1 << 6, - _intrinsic_candidate = 1 << 7, - _reserved_stack_access = 1 << 8 + _caller_sensitive = 1 << 0, + _force_inline = 1 << 1, + _dont_inline = 1 << 2, + _hidden = 1 << 3, + _has_injected_profile = 1 << 4, + _running_emcp = 1 << 5, + _intrinsic_candidate = 1 << 6, + _reserved_stack_access = 1 << 7 }; mutable u2 _flags; + TRACE_DEFINE_FLAG; + #ifndef PRODUCT int _compiled_invocation_count; // Number of nmethod invocations so far (for perf. debugging) #endif @@ -833,13 +835,6 @@ void init_intrinsic_id(); // updates from _none if a match static vmSymbols::SID klass_id_for_intrinsics(const Klass* holder); - bool jfr_towrite() const { - return (_flags & _jfr_towrite) != 0; - } - void set_jfr_towrite(bool x) const { - _flags = x ? (_flags | _jfr_towrite) : (_flags & ~_jfr_towrite); - } - bool caller_sensitive() { return (_flags & _caller_sensitive) != 0; } @@ -890,6 +885,8 @@ _flags = x ? (_flags | _reserved_stack_access) : (_flags & ~_reserved_stack_access); } + TRACE_DEFINE_FLAG_ACCESSOR; + ConstMethod::MethodType method_type() const { return _constMethod->method_type(); } diff --git a/src/share/vm/runtime/vmStructs.cpp b/src/share/vm/runtime/vmStructs.cpp --- a/src/share/vm/runtime/vmStructs.cpp +++ b/src/share/vm/runtime/vmStructs.cpp @@ -2453,7 +2453,6 @@ /* ConstMethod anon-enum */ \ /********************************/ \ \ - declare_constant(Method::_jfr_towrite) \ declare_constant(Method::_caller_sensitive) \ declare_constant(Method::_force_inline) \ declare_constant(Method::_dont_inline) \ diff --git a/src/share/vm/trace/traceMacros.hpp b/src/share/vm/trace/traceMacros.hpp --- a/src/share/vm/trace/traceMacros.hpp +++ b/src/share/vm/trace/traceMacros.hpp @@ -55,6 +55,8 @@ #define TRACE_DEFINE_THREAD_ID_SIZE typedef int ___IGNORED_hs_trace_type6 #define TRACE_DEFINE_THREAD_DATA_WRITER_OFFSET typedef int ___IGNORED_hs_trace_type7 #define TRACE_THREAD_DATA_WRITER_OFFSET in_ByteSize(0); ShouldNotReachHere() +#define TRACE_DEFINE_FLAG typedef int ___IGNORED_hs_trace_type8 +#define TRACE_DEFINE_FLAG_ACCESSOR typedef int ___IGNORED_hs_trace_type9 #define TRACE_TEMPLATES(template) #define TRACE_INTRINSICS(do_intrinsic, do_class, do_name, do_signature, do_alias)