< prev index next >

src/hotspot/share/gc/shared/collectedHeap.hpp

Print this page

        

@@ -87,10 +87,11 @@
 //   GenCollectedHeap
 //     SerialHeap
 //     CMSHeap
 //   G1CollectedHeap
 //   ParallelScavengeHeap
+//   ShenandoahHeap
 //   ZCollectedHeap
 //
 class CollectedHeap : public CHeapObj<mtInternal> {
   friend class VMStructs;
   friend class JVMCIVMStructs;

@@ -176,17 +177,20 @@
     Serial,
     Parallel,
     CMS,
     G1,
     Epsilon,
-    Z
+    Z,
+    Shenandoah
   };
 
   static inline size_t filler_array_max_size() {
     return _filler_array_max_size;
   }
 
+  virtual HeapWord* tlab_post_allocation_setup(HeapWord* obj);
+
   virtual Name kind() const = 0;
 
   virtual const char* name() const = 0;
 
   /**

@@ -287,10 +291,16 @@
 
   virtual oop obj_allocate(Klass* klass, int size, TRAPS);
   virtual oop array_allocate(Klass* klass, int size, int length, bool do_zero, TRAPS);
   virtual oop class_allocate(Klass* klass, int size, TRAPS);
 
+  virtual uint oop_extra_words();
+
+#ifndef CC_INTERP
+  virtual void compile_prepare_oop(MacroAssembler* masm, Register obj);
+#endif
+
   // Utilities for turning raw memory into filler objects.
   //
   // min_fill_size() is the smallest region that can be filled.
   // fill_with_objects() can fill arbitrary-sized regions of the heap using
   // multiple objects.  fill_with_object() is for regions known to be smaller
< prev index next >