< prev index next >

src/hotspot/share/oops/method.hpp

Print this page

*** 88,98 **** _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; JFR_ONLY(DEFINE_TRACE_FLAG;) --- 88,99 ---- _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, ! _is_returning_vt = 1 << 8 }; mutable u2 _flags; JFR_ONLY(DEFINE_TRACE_FLAG;)
*** 579,589 **** void compute_size_of_parameters(Thread *thread); // word size of parameters (receiver if any + arguments) Symbol* klass_name() const; // returns the name of the method holder BasicType result_type() const; // type of the method result bool may_return_oop() const { BasicType r = result_type(); return (r == T_OBJECT || r == T_ARRAY || r == T_VALUETYPE); } - bool is_returning_vt() const { BasicType r = result_type(); return r == T_VALUETYPE; } #ifdef ASSERT ValueKlass* returned_value_type(Thread* thread) const; #endif // Checked exceptions thrown by this method (resolved to mirrors) --- 580,589 ----
*** 693,702 **** --- 693,703 ---- // interpreter support static ByteSize const_offset() { return byte_offset_of(Method, _constMethod ); } static ByteSize access_flags_offset() { return byte_offset_of(Method, _access_flags ); } static ByteSize from_compiled_offset() { return byte_offset_of(Method, _from_compiled_entry); } static ByteSize code_offset() { return byte_offset_of(Method, _code); } + static ByteSize flags_offset() { return byte_offset_of(Method, _flags); } static ByteSize method_data_offset() { return byte_offset_of(Method, _method_data); } static ByteSize method_counters_offset() { return byte_offset_of(Method, _method_counters);
*** 894,903 **** --- 895,916 ---- void set_has_reserved_stack_access(bool x) { _flags = x ? (_flags | _reserved_stack_access) : (_flags & ~_reserved_stack_access); } + static int is_returning_vt_mask() { + return _is_returning_vt; + } + + bool is_returning_vt() const { + return (_flags & _is_returning_vt) != 0; + } + + void set_is_returning_vt() { + _flags |= _is_returning_vt; + } + JFR_ONLY(DEFINE_TRACE_FLAG_ACCESSOR;) ConstMethod::MethodType method_type() const { return _constMethod->method_type(); }
< prev index next >