mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-18 01:54:47 +02:00
8226705: [REDO] Deoptimize with handshakes
Reviewed-by: eosterlund, dcubed, dlong, pchilanomate
This commit is contained in:
parent
336b741b1c
commit
35a9f6864a
33 changed files with 398 additions and 326 deletions
|
@ -119,7 +119,7 @@ class nmethod : public CompiledMethod {
|
|||
// used by jvmti to track if an unload event has been posted for this nmethod.
|
||||
bool _unload_reported;
|
||||
|
||||
// Protected by Patching_lock
|
||||
// Protected by CompiledMethod_lock
|
||||
volatile signed char _state; // {not_installed, in_use, not_entrant, zombie, unloaded}
|
||||
|
||||
#ifdef ASSERT
|
||||
|
@ -357,7 +357,9 @@ class nmethod : public CompiledMethod {
|
|||
void set_rtm_state(RTMState state) { _rtm_state = state; }
|
||||
#endif
|
||||
|
||||
void make_in_use() { _state = in_use; }
|
||||
bool make_in_use() {
|
||||
return try_transition(in_use);
|
||||
}
|
||||
// Make the nmethod non entrant. The nmethod will continue to be
|
||||
// alive. It is used when an uncommon trap happens. Returns true
|
||||
// if this thread changed the state of the nmethod or false if
|
||||
|
@ -390,7 +392,7 @@ class nmethod : public CompiledMethod {
|
|||
|
||||
int comp_level() const { return _comp_level; }
|
||||
|
||||
void unlink_from_method(bool acquire_lock);
|
||||
void unlink_from_method();
|
||||
|
||||
// Support for oops in scopes and relocs:
|
||||
// Note: index 0 is reserved for null.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue