< 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 : imported patch 8173764-rev-tschatzl
rev 12506 : [mq]: 8173764-rev-kbarret

*** 1,7 **** /* ! * Copyright (c) 2001, 2016, 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. --- 1,7 ---- /* ! * 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.
*** 115,124 **** --- 115,127 ---- private: // allocation boundary at which offset array must be updated HeapWord* _next_offset_threshold; size_t _next_offset_index; // index corresponding to that boundary + // 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. G1ContiguousSpace* _space;
*** 222,231 **** --- 225,235 ---- 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_object_can_span(bool can_span) NOT_DEBUG_RETURN; void print_on(outputStream* out) PRODUCT_RETURN; }; #endif // SHARE_VM_GC_G1_G1BLOCKOFFSETTABLE_HPP
< prev index next >