aboutsummaryrefslogtreecommitdiff
path: root/src/share/vm/utilities/bitMap.cpp
diff options
context:
space:
mode:
authortonyp <none@none>2012-04-05 13:57:23 -0400
committertonyp <none@none>2012-04-05 13:57:23 -0400
commit3641a30c2e08e400f6947dcc1392877ec0162e0d (patch)
treea2c1fb4e59519b8f62c156f143ca47c85b03b04e /src/share/vm/utilities/bitMap.cpp
parent78a5f6f83b15c44ee10928ad19b96aeadb4d9c6f (diff)
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
Diffstat (limited to 'src/share/vm/utilities/bitMap.cpp')
-rw-r--r--src/share/vm/utilities/bitMap.cpp60
1 files changed, 1 insertions, 59 deletions
diff --git a/src/share/vm/utilities/bitMap.cpp b/src/share/vm/utilities/bitMap.cpp
index 17231d355..3141bc0de 100644
--- a/src/share/vm/utilities/bitMap.cpp
+++ b/src/share/vm/utilities/bitMap.cpp
@@ -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 @@ void BitMap::clear_large_range(idx_t beg, idx_t end) {
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);