< 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 >