--- a/src/hotspot/share/gc/g1/g1CollectedHeap.hpp Mon Feb 12 16:08:33 2018 -0800
+++ b/src/hotspot/share/gc/g1/g1CollectedHeap.hpp Wed Jan 10 22:48:27 2018 +0100
@@ -1272,36 +1272,8 @@
size_t max_tlab_size() const;
size_t unsafe_max_tlab_alloc(Thread* ignored) const;
- // Can a compiler initialize a new object without store barriers?
- // This permission only extends from the creation of a new object
- // via a TLAB up to the first subsequent safepoint. If such permission
- // is granted for this heap type, the compiler promises to call
- // defer_store_barrier() below on any slow path allocation of
- // a new object for which such initializing store barriers will
- // have been elided. G1, like CMS, allows this, but should be
- // ready to provide a compensating write barrier as necessary
- // if that storage came out of a non-young region. The efficiency
- // of this implementation depends crucially on being able to
- // answer very efficiently in constant time whether a piece of
- // storage in the heap comes from a young region or not.
- // See ReduceInitialCardMarks.
- virtual bool can_elide_tlab_store_barriers() const {
- return true;
- }
-
- virtual bool card_mark_must_follow_store() const {
- return true;
- }
-
inline bool is_in_young(const oop obj);
- // We don't need barriers for initializing stores to objects
- // in the young gen: for the SATB pre-barrier, there is no
- // pre-value that needs to be remembered; for the remembered-set
- // update logging post-barrier, we don't maintain remembered set
- // information for young gen objects.
- virtual inline bool can_elide_initializing_store_barrier(oop new_obj);
-
// Returns "true" iff the given word_size is "very large".
static bool is_humongous(size_t word_size) {
// Note this has to be strictly greater-than as the TLABs