< prev index next >

src/share/vm/gc/g1/g1BlockOffsetTable.hpp

Print this page
rev 12504 : 8173764: G1 BOT wrongly assumes that objects must always begin at the start of G1BlockOffsetTablePart
Reviewed-by:
rev 12505 : [mq]: 8173764-rev-tschatzl

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 2001, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2001, 2017, 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.

@@ -114,11 +114,13 @@
   friend class VMStructs;
 private:
   // allocation boundary at which offset array must be updated
   HeapWord* _next_offset_threshold;
   size_t    _next_offset_index;      // index corresponding to that boundary
-  bool      _object_can_span;        // Set for continues humongous
+
+  // Indicates if an object can span into this G1BlockOffsetTablePart.
+  debug_only(bool _object_can_span;)
 
   // This is the global BlockOffsetTable.
   G1BlockOffsetTable* _bot;
 
   // The space that owns this subregion.

@@ -223,11 +225,11 @@
   void alloc_block(HeapWord* blk, size_t size) {
     alloc_block(blk, blk+size);
   }
 
   void set_for_starts_humongous(HeapWord* obj_top, size_t fill_size);
-  void set_continues_humongous(bool is_humongous);
+  void set_object_can_span(bool can_span) PRODUCT_RETURN;
 
   void print_on(outputStream* out) PRODUCT_RETURN;
 };
 
 #endif // SHARE_VM_GC_G1_G1BLOCKOFFSETTABLE_HPP
< prev index next >