1 /* |
1 /* |
2 * Copyright (c) 2001, 2014, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2001, 2018, Oracle and/or its affiliates. All rights reserved. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. |
4 * |
4 * |
5 * This code is free software; you can redistribute it and/or modify it |
5 * This code is free software; you can redistribute it and/or modify it |
6 * under the terms of the GNU General Public License version 2 only, as |
6 * under the terms of the GNU General Public License version 2 only, as |
7 * published by the Free Software Foundation. |
7 * published by the Free Software Foundation. |
6827 assert(covers(mr), "mr should be covered by bit map"); |
6827 assert(covers(mr), "mr should be covered by bit map"); |
6828 // convert address range into offset range |
6828 // convert address range into offset range |
6829 size_t start_ofs = heapWordToOffset(mr.start()); |
6829 size_t start_ofs = heapWordToOffset(mr.start()); |
6830 // Make sure that end() is appropriately aligned |
6830 // Make sure that end() is appropriately aligned |
6831 assert(mr.end() == (HeapWord*)round_to((intptr_t)mr.end(), |
6831 assert(mr.end() == (HeapWord*)round_to((intptr_t)mr.end(), |
6832 (1 << (_shifter+LogHeapWordSize))), |
6832 ((intptr_t) 1 << (_shifter+LogHeapWordSize))), |
6833 "Misaligned mr.end()"); |
6833 "Misaligned mr.end()"); |
6834 size_t end_ofs = heapWordToOffset(mr.end()); |
6834 size_t end_ofs = heapWordToOffset(mr.end()); |
6835 assert(end_ofs > start_ofs, "Should mark at least one bit"); |
6835 assert(end_ofs > start_ofs, "Should mark at least one bit"); |
6836 } |
6836 } |
6837 |
6837 |