8192025: Less referential references

Reviewed-by: coleenp, eosterlund, mchung, ahgross, rhalade
This commit is contained in:
Kim Barrett 2018-01-18 22:17:11 -05:00
parent 9714f829c9
commit 1ac19a3166
8 changed files with 107 additions and 4 deletions

View file

@ -921,6 +921,8 @@ 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_raw(oop ref);
static inline oop queue(oop ref);
static inline void set_queue(oop ref, oop value);
static bool is_referent_field(oop obj, ptrdiff_t offset);
static inline bool is_phantom(oop ref);
};
@ -944,6 +946,20 @@ class java_lang_ref_SoftReference: public java_lang_ref_Reference {
static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
};
// Interface to java.lang.ref.ReferenceQueue objects
class java_lang_ref_ReferenceQueue: public AllStatic {
public:
static int static_NULL_queue_offset;
static int static_ENQUEUED_queue_offset;
// Accessors
static oop NULL_queue();
static oop ENQUEUED_queue();
static void compute_offsets();
};
// Interface to java.lang.invoke.MethodHandle objects
class MethodHandleEntry;