< prev index next >
src/hotspot/share/gc/g1/g1AllocRegion.inline.hpp
Print this page
rev 49946 : imported patch 8191471-g1-retained-mutator-region
@@ -34,10 +34,14 @@
_name, (message), _count, BOOL_TO_STR(_bot_updates), \
p2i(_alloc_region), _used_bytes_before); \
} while (0)
+inline void G1AllocRegion::reset_alloc_region() {
+ _alloc_region = _dummy_region;
+}
+
inline HeapWord* G1AllocRegion::allocate(HeapRegion* alloc_region,
size_t word_size) {
assert(alloc_region != NULL, "pre-condition");
if (!_bot_updates) {
@@ -124,6 +128,19 @@
}
trace("alloc forced failed", word_size, word_size);
return NULL;
}
+inline HeapWord* MutatorAllocRegion::attempt_retained_allocation(size_t min_word_size,
+ size_t desired_word_size,
+ size_t* actual_word_size) {
+ if (_retained_alloc_region != NULL) {
+ HeapWord* result = par_allocate(_retained_alloc_region, min_word_size, desired_word_size, actual_word_size);
+ if (result != NULL) {
+ trace("alloc retained", min_word_size, desired_word_size, *actual_word_size, result);
+ return result;
+ }
+ }
+ return NULL;
+}
+
#endif // SHARE_VM_GC_G1_G1ALLOCREGION_INLINE_HPP
< prev index next >