Mercurial > hg > graal-jvmci-8
diff src/share/vm/utilities/bitMap.cpp @ 5988:2a0172480595
7127697: G1: remove dead code after recent concurrent mark changes
Summary: Removed lots of dead code after some recent conc mark changes.
Reviewed-by: brutisso, johnc
author | tonyp |
---|---|
date | Thu, 05 Apr 2012 13:57:23 -0400 |
parents | f08d439fab8c |
children | d2a62e0f25eb |
line wrap: on
line diff
--- a/src/share/vm/utilities/bitMap.cpp Fri Mar 16 09:52:57 2012 +0100 +++ b/src/share/vm/utilities/bitMap.cpp Thu Apr 05 13:57:23 2012 -0400 @@ -1,5 +1,5 @@ /* - * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved. + * Copyright (c) 1997, 2012, 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 @@ -179,64 +179,6 @@ clear_range_within_word(bit_index(end_full_word), end); } -void BitMap::mostly_disjoint_range_union(BitMap* from_bitmap, - idx_t from_start_index, - idx_t to_start_index, - size_t word_num) { - // Ensure that the parameters are correct. - // These shouldn't be that expensive to check, hence I left them as - // guarantees. - guarantee(from_bitmap->bit_in_word(from_start_index) == 0, - "it should be aligned on a word boundary"); - guarantee(bit_in_word(to_start_index) == 0, - "it should be aligned on a word boundary"); - guarantee(word_num >= 2, "word_num should be at least 2"); - - intptr_t* from = (intptr_t*) from_bitmap->word_addr(from_start_index); - intptr_t* to = (intptr_t*) word_addr(to_start_index); - - if (*from != 0) { - // if it's 0, then there's no point in doing the CAS - while (true) { - intptr_t old_value = *to; - intptr_t new_value = old_value | *from; - intptr_t res = Atomic::cmpxchg_ptr(new_value, to, old_value); - if (res == old_value) break; - } - } - ++from; - ++to; - - for (size_t i = 0; i < word_num - 2; ++i) { - if (*from != 0) { - // if it's 0, then there's no point in doing the CAS - assert(*to == 0, "nobody else should be writing here"); - intptr_t new_value = *from; - *to = new_value; - } - - ++from; - ++to; - } - - if (*from != 0) { - // if it's 0, then there's no point in doing the CAS - while (true) { - intptr_t old_value = *to; - intptr_t new_value = old_value | *from; - intptr_t res = Atomic::cmpxchg_ptr(new_value, to, old_value); - if (res == old_value) break; - } - } - - // the -1 is because we didn't advance them after the final CAS - assert(from == - (intptr_t*) from_bitmap->word_addr(from_start_index) + word_num - 1, - "invariant"); - assert(to == (intptr_t*) word_addr(to_start_index) + word_num - 1, - "invariant"); -} - void BitMap::at_put(idx_t offset, bool value) { if (value) { set_bit(offset);