comparison src/share/vm/gc_implementation/g1/vm_operations_g1.hpp @ 22937:af8f16ac392c

8066771: Refactor VM GC operations caused by allocation failure Reviewed-by: brutisso, jmasa
author mlarsson
date Thu, 09 Apr 2015 15:59:26 +0200
parents fb69749583e8
children
comparison
equal deleted inserted replaced
22936:fb69749583e8 22937:af8f16ac392c
34 // - VM_G1CollectFull 34 // - VM_G1CollectFull
35 // - VM_G1OperationWithAllocRequest 35 // - VM_G1OperationWithAllocRequest
36 // - VM_G1CollectForAllocation 36 // - VM_G1CollectForAllocation
37 // - VM_G1IncCollectionPause 37 // - VM_G1IncCollectionPause
38 38
39 class VM_G1OperationWithAllocRequest: public VM_GC_Operation { 39 class VM_G1OperationWithAllocRequest : public VM_CollectForAllocation {
40 protected: 40 protected:
41 size_t _word_size;
42 HeapWord* _result;
43 bool _pause_succeeded; 41 bool _pause_succeeded;
44 AllocationContext_t _allocation_context; 42 AllocationContext_t _allocation_context;
45 43
46 public: 44 public:
47 VM_G1OperationWithAllocRequest(uint gc_count_before, 45 VM_G1OperationWithAllocRequest(uint gc_count_before,
48 size_t word_size, 46 size_t word_size,
49 GCCause::Cause gc_cause) 47 GCCause::Cause gc_cause)
50 : VM_GC_Operation(gc_count_before, gc_cause), 48 : VM_CollectForAllocation(word_size, gc_count_before, gc_cause),
51 _word_size(word_size), _result(NULL), _pause_succeeded(false) { } 49 _pause_succeeded(false) {}
52 HeapWord* result() { return _result; }
53 bool pause_succeeded() { return _pause_succeeded; } 50 bool pause_succeeded() { return _pause_succeeded; }
54 void set_allocation_context(AllocationContext_t context) { _allocation_context = context; } 51 void set_allocation_context(AllocationContext_t context) { _allocation_context = context; }
55 AllocationContext_t allocation_context() { return _allocation_context; } 52 AllocationContext_t allocation_context() { return _allocation_context; }
56 }; 53 };
57 54