< 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 >