mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 23:04:50 +02:00
7198429: need checked categorization of caller-sensitive methods in the JDK
Reviewed-by: kvn, jrose
This commit is contained in:
parent
e4b1cf5f02
commit
6964a690ed
18 changed files with 413 additions and 305 deletions
|
@ -118,11 +118,12 @@ class Method : public Metadata {
|
|||
#endif
|
||||
u2 _method_size; // size of this object
|
||||
u1 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none)
|
||||
u1 _jfr_towrite : 1, // Flags
|
||||
_force_inline : 1,
|
||||
_hidden : 1,
|
||||
_dont_inline : 1,
|
||||
: 4;
|
||||
u1 _jfr_towrite : 1, // Flags
|
||||
_caller_sensitive : 1,
|
||||
_force_inline : 1,
|
||||
_hidden : 1,
|
||||
_dont_inline : 1,
|
||||
: 3;
|
||||
u2 _interpreter_throwout_count; // Count of times method was exited via exception while interpreting
|
||||
u2 _number_of_breakpoints; // fullspeed debugging support
|
||||
InvocationCounter _invocation_counter; // Incremented before each activation of the method - used to trigger frequency-based optimizations
|
||||
|
@ -618,6 +619,9 @@ class Method : public Metadata {
|
|||
// Reflection support
|
||||
bool is_overridden_in(Klass* k) const;
|
||||
|
||||
// Stack walking support
|
||||
bool is_ignored_by_security_stack_walk() const;
|
||||
|
||||
// JSR 292 support
|
||||
bool is_method_handle_intrinsic() const; // MethodHandles::is_signature_polymorphic_intrinsic(intrinsic_id)
|
||||
bool is_compiled_lambda_form() const; // intrinsic_id() == vmIntrinsics::_compiledLambdaForm
|
||||
|
@ -705,15 +709,16 @@ class Method : public Metadata {
|
|||
void init_intrinsic_id(); // updates from _none if a match
|
||||
static vmSymbols::SID klass_id_for_intrinsics(Klass* holder);
|
||||
|
||||
bool jfr_towrite() { return _jfr_towrite; }
|
||||
void set_jfr_towrite(bool towrite) { _jfr_towrite = towrite; }
|
||||
|
||||
bool force_inline() { return _force_inline; }
|
||||
void set_force_inline(bool x) { _force_inline = x; }
|
||||
bool dont_inline() { return _dont_inline; }
|
||||
void set_dont_inline(bool x) { _dont_inline = x; }
|
||||
bool is_hidden() { return _hidden; }
|
||||
void set_hidden(bool x) { _hidden = x; }
|
||||
bool jfr_towrite() { return _jfr_towrite; }
|
||||
void set_jfr_towrite(bool x) { _jfr_towrite = x; }
|
||||
bool caller_sensitive() { return _caller_sensitive; }
|
||||
void set_caller_sensitive(bool x) { _caller_sensitive = x; }
|
||||
bool force_inline() { return _force_inline; }
|
||||
void set_force_inline(bool x) { _force_inline = x; }
|
||||
bool dont_inline() { return _dont_inline; }
|
||||
void set_dont_inline(bool x) { _dont_inline = x; }
|
||||
bool is_hidden() { return _hidden; }
|
||||
void set_hidden(bool x) { _hidden = x; }
|
||||
ConstMethod::MethodType method_type() const {
|
||||
return _constMethod->method_type();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue