< prev index next >

src/share/vm/gc/shared/space.hpp

Print this page
rev 8961 : [mq]: diff-shenandoah.patch

@@ -365,10 +365,14 @@
 
   inline size_t obj_size(const HeapWord* addr) const {
     return oop(addr)->size();
   }
 
+  inline oop make_oop(HeapWord* addr) const {
+    return oop(addr);
+  }
+
 public:
   CompactibleSpace() :
    _compaction_top(NULL), _next_compaction_space(NULL) {}
 
   virtual void initialize(MemRegion mr, bool clear_space, bool mangle_space);

@@ -440,10 +444,14 @@
   // function of the then-current compaction space, and updates "cp->threshold
   // accordingly".
   virtual HeapWord* forward(oop q, size_t size, CompactPoint* cp,
                     HeapWord* compact_top);
 
+  virtual oop compact_oop(HeapWord* addr) const {
+    return oop(addr);
+  }
+
   // Return a size with adjustments as required of the space.
   virtual size_t adjust_object_size_v(size_t size) const { return size; }
 
 protected:
   // Used during compaction.

@@ -582,11 +590,11 @@
   virtual HeapWord* par_allocate(size_t word_size);
   HeapWord* allocate_aligned(size_t word_size);
 
   // Iteration
   void oop_iterate(ExtendedOopClosure* cl);
-  void object_iterate(ObjectClosure* blk);
+  virtual void object_iterate(ObjectClosure* blk);
   // For contiguous spaces this method will iterate safely over objects
   // in the space (i.e., between bottom and top) when at a safepoint.
   void safe_object_iterate(ObjectClosure* blk);
 
   // Iterate over as many initialized objects in the space as possible,
< prev index next >