mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8156500: Move Reference pending list into VM to prevent deadlocks
Move reference pending list and locking into VM Co-authored-by: Per Liden <per.liden@oracle.com> Reviewed-by: coleenp, dholmes, dcubed, mchung, plevart
This commit is contained in:
parent
4f55b6c7e0
commit
66706edf15
29 changed files with 133 additions and 576 deletions
|
@ -886,17 +886,11 @@ class java_lang_ref_Reference: AllStatic {
|
|||
hc_next_offset = 2,
|
||||
hc_discovered_offset = 3 // Is not last, see SoftRefs.
|
||||
};
|
||||
enum {
|
||||
hc_static_lock_offset = 0,
|
||||
hc_static_pending_offset = 1
|
||||
};
|
||||
|
||||
static int referent_offset;
|
||||
static int queue_offset;
|
||||
static int next_offset;
|
||||
static int discovered_offset;
|
||||
static int static_lock_offset;
|
||||
static int static_pending_offset;
|
||||
static int number_of_fake_oop_fields;
|
||||
|
||||
// Accessors
|
||||
|
@ -912,13 +906,6 @@ class java_lang_ref_Reference: AllStatic {
|
|||
static inline void set_discovered(oop ref, oop value);
|
||||
static inline void set_discovered_raw(oop ref, oop value);
|
||||
static inline HeapWord* discovered_addr(oop ref);
|
||||
|
||||
// Accessors for statics
|
||||
static oop pending_list_lock();
|
||||
static oop pending_list();
|
||||
|
||||
static HeapWord* pending_list_lock_addr();
|
||||
static HeapWord* pending_list_addr();
|
||||
};
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue