< prev index next >
src/hotspot/share/gc/parallel/adjoiningVirtualSpaces.hpp
Print this page
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 2003, 2015, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2018, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -57,15 +57,16 @@
// boundary) independently. If L want to grow above its high_boundary,
// then the high_boundary of L and the low_boundary of H must be
// moved up consistently. AdjoiningVirtualSpaces provide the
// interfaces for moving the this boundary.
-class AdjoiningVirtualSpaces {
+class AdjoiningVirtualSpaces : public CHeapObj<mtGC> {
// space at the high end and the low end, respectively
PSVirtualSpace* _high;
PSVirtualSpace* _low;
+protected:
// The reserved space spanned by the two spaces.
ReservedSpace _reserved_space;
// The minimum byte size for the low space. It will not
// be shrunk below this value.
@@ -82,21 +83,21 @@
size_t min_low_byte_size,
size_t min_high_byte_size,
size_t alignment);
// accessors
- PSVirtualSpace* high() { return _high; }
- PSVirtualSpace* low() { return _low; }
+ virtual PSVirtualSpace* high() { return _high; }
+ virtual PSVirtualSpace* low() { return _low; }
ReservedSpace reserved_space() { return _reserved_space; }
size_t min_low_byte_size() { return _min_low_byte_size; }
size_t min_high_byte_size() { return _min_high_byte_size; }
size_t alignment() const { return _alignment; }
// move boundary between the two spaces up
- bool adjust_boundary_up(size_t size_in_bytes);
+ virtual bool adjust_boundary_up(size_t size_in_bytes);
// and down
- bool adjust_boundary_down(size_t size_in_bytes);
+ virtual bool adjust_boundary_down(size_t size_in_bytes);
// Maximum byte size for the high space.
size_t high_byte_size_limit() {
return _reserved_space.size() - _min_low_byte_size;
}
@@ -109,7 +110,6 @@
// initial size;
void initialize(size_t max_low_byte_size,
size_t init_low_byte_size,
size_t init_high_byte_size);
};
-
#endif // SHARE_VM_GC_PARALLEL_ADJOININGVIRTUALSPACES_HPP
< prev index next >