< prev index next >
src/share/vm/gc/shared/collectedHeap.hpp
Print this page
rev 8961 : [mq]: diff-shenandoah.patch
*** 75,84 ****
--- 75,85 ----
//
// CollectedHeap
// GenCollectedHeap
// G1CollectedHeap
+ // ShenandoahHeap
// ParallelScavengeHeap
//
class CollectedHeap : public CHeapObj<mtInternal> {
friend class VMStructs;
friend class IsGCActiveMark; // Block structured external access to _is_gc_active
*** 183,201 ****
public:
enum Name {
GenCollectedHeap,
ParallelScavengeHeap,
! G1CollectedHeap
};
static inline size_t filler_array_max_size() {
return _filler_array_max_size;
}
virtual Name kind() const = 0;
/**
* Returns JNI error code JNI_ENOMEM if memory could not be allocated,
* and JNI_OK on success.
*/
virtual jint initialize() = 0;
--- 184,205 ----
public:
enum Name {
GenCollectedHeap,
ParallelScavengeHeap,
! G1CollectedHeap,
! ShenandoahHeap
};
static inline size_t filler_array_max_size() {
return _filler_array_max_size;
}
virtual Name kind() const = 0;
+ virtual HeapWord* tlab_post_allocation_setup(HeapWord* obj);
+
/**
* Returns JNI error code JNI_ENOMEM if memory could not be allocated,
* and JNI_OK on success.
*/
virtual jint initialize() = 0;
*** 296,305 ****
--- 300,315 ----
inline static oop array_allocate_nozero(KlassHandle klass, int size, int length, TRAPS);
inline static void post_allocation_install_obj_klass(KlassHandle klass,
oop obj);
+ virtual uint oop_extra_words();
+
+ #ifndef CC_INTERP
+ virtual void compile_prepare_oop(MacroAssembler* masm, Register obj = rax);
+ #endif
+
// Raw memory allocation facilities
// The obj and array allocate methods are covers for these methods.
// mem_allocate() should never be
// called to allocate TLABs, only individual objects.
virtual HeapWord* mem_allocate(size_t size,
*** 568,577 ****
--- 578,593 ----
void trace_heap_after_gc(const GCTracer* gc_tracer);
// Heap verification
virtual void verify(bool silent, VerifyOption option) = 0;
+ // Shut down all GC workers and other GC related threads.
+ virtual void shutdown();
+
+ // Accumulate additional statistics from GCLABs.
+ virtual void accumulate_statistics_all_gclabs();
+
// Non product verification and debugging.
#ifndef PRODUCT
// Support for PromotionFailureALot. Return true if it's time to cause a
// promotion failure. The no-argument version uses
// this->_promotion_failure_alot_count as the counter.
*** 601,610 ****
--- 617,630 ----
jbyte* accuracy,
jint len) {
return false;
}
+ virtual bool is_obj_ill(const oop obj) const {
+ return true;
+ }
+
/////////////// Unit tests ///////////////
NOT_PRODUCT(static void test_is_in();)
};
< prev index next >