< prev index next >


Print this page
@@ -84,10 +84,11 @@
    inline Klass* klass() const;
    inline Klass* klass_or_null() const;
    inline Klass* klass_or_null_acquire() const;
+   narrowKlass narrow_klass_legacy() const { return _metadata._compressed_klass; }
    void set_narrow_klass(narrowKlass nk) NOT_CDS_JAVA_HEAP_RETURN;
    inline void set_klass(Klass* k);
    static inline void release_set_klass(HeapWord* mem, Klass* k);
    // For klass field compression

@@ -250,18 +251,21 @@
    inline bool is_forwarded() const;
    void verify_forwardee(oop forwardee) NOT_DEBUG_RETURN;
    inline void forward_to(oop p);
+   inline void forward_to_self();
    // Like "forward_to", but inserts the forwarding pointer atomically.
    // Exactly one thread succeeds in inserting the forwarding pointer, and
    // this call returns "NULL" for that thread; any other thread has the
    // value of the forwarding pointer returned and does not modify "this".
    inline oop forward_to_atomic(oop p, markWord compare, atomic_memory_order order = memory_order_conservative);
+   inline oop forward_to_self_atomic(markWord compare, atomic_memory_order order = memory_order_conservative);
    inline oop forwardee() const;
+   inline oop forwardee(markWord header) const;
    // Age of object during scavenge
    inline uint age() const;
    inline void incr_age();

@@ -310,10 +314,13 @@
    // for error reporting
    static void* load_klass_raw(oop obj);
    static void* load_oop_raw(oop obj, int offset);
+   // Runtime entry
+   static Klass* load_klass_runtime(oopDesc* o);
    // Avoid include gc_globals.hpp in oop.inline.hpp
    DEBUG_ONLY(bool get_UseParallelGC();)
    DEBUG_ONLY(bool get_UseG1GC();)
< prev index next >