< 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 >