aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstefank <none@none>2011-02-08 12:33:19 +0100
committerstefank <none@none>2011-02-08 12:33:19 +0100
commit68af087276fa29df6d56c8086eda4dcd43b8c6e3 (patch)
tree64fcda3fa368d7a92678a981a1261e72c39b647d
parent7d38053f3b285917f59b9111e1425a45654ea009 (diff)
7014851: Remove unused parallel compaction code
Summary: Removed. Reviewed-by: jcoomes, brutisso
-rw-r--r--src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp16
-rw-r--r--src/share/vm/oops/arrayKlassKlass.cpp23
-rw-r--r--src/share/vm/oops/compiledICHolderKlass.cpp17
-rw-r--r--src/share/vm/oops/constMethodKlass.cpp17
-rw-r--r--src/share/vm/oops/constantPoolKlass.cpp36
-rw-r--r--src/share/vm/oops/cpCacheKlass.cpp21
-rw-r--r--src/share/vm/oops/cpCacheOop.cpp12
-rw-r--r--src/share/vm/oops/cpCacheOop.hpp3
-rw-r--r--src/share/vm/oops/instanceKlass.cpp19
-rw-r--r--src/share/vm/oops/instanceKlass.hpp3
-rw-r--r--src/share/vm/oops/instanceKlassKlass.cpp31
-rw-r--r--src/share/vm/oops/instanceRefKlass.cpp29
-rw-r--r--src/share/vm/oops/klassKlass.cpp15
-rw-r--r--src/share/vm/oops/klassPS.hpp10
-rw-r--r--src/share/vm/oops/klassVtable.cpp40
-rw-r--r--src/share/vm/oops/klassVtable.hpp6
-rw-r--r--src/share/vm/oops/methodDataKlass.cpp21
-rw-r--r--src/share/vm/oops/methodDataOop.cpp11
-rw-r--r--src/share/vm/oops/methodDataOop.hpp4
-rw-r--r--src/share/vm/oops/methodKlass.cpp23
-rw-r--r--src/share/vm/oops/objArrayKlass.cpp10
-rw-r--r--src/share/vm/oops/objArrayKlassKlass.cpp18
-rw-r--r--src/share/vm/oops/oop.hpp10
-rw-r--r--src/share/vm/oops/oop.pcgc.inline.hpp46
-rw-r--r--src/share/vm/oops/typeArrayKlass.cpp7
25 files changed, 24 insertions, 424 deletions
diff --git a/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp b/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp
index e69730202..0e2c6477a 100644
--- a/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp
+++ b/src/share/vm/gc_implementation/parallelScavenge/psParallelCompact.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, 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
@@ -1196,11 +1196,6 @@ class PSParallelCompact : AllStatic {
static inline void adjust_pointer(oop* p) { adjust_pointer(p, false); }
static inline void adjust_pointer(narrowOop* p) { adjust_pointer(p, false); }
- template <class T>
- static inline void adjust_pointer(T* p,
- HeapWord* beg_addr,
- HeapWord* end_addr);
-
// Reference Processing
static ReferenceProcessor* const ref_processor() { return _ref_processor; }
@@ -1408,15 +1403,6 @@ inline bool PSParallelCompact::should_update_klass(klassOop k) {
return ((HeapWord*) k) >= dense_prefix(perm_space_id);
}
-template <class T>
-inline void PSParallelCompact::adjust_pointer(T* p,
- HeapWord* beg_addr,
- HeapWord* end_addr) {
- if (is_in((HeapWord*)p, beg_addr, end_addr)) {
- adjust_pointer(p);
- }
-}
-
#ifdef ASSERT
inline void
PSParallelCompact::check_new_location(HeapWord* old_addr, HeapWord* new_addr)
diff --git a/src/share/vm/oops/arrayKlassKlass.cpp b/src/share/vm/oops/arrayKlassKlass.cpp
index a27e62f10..5215d146c 100644
--- a/src/share/vm/oops/arrayKlassKlass.cpp
+++ b/src/share/vm/oops/arrayKlassKlass.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
@@ -128,27 +128,6 @@ int arrayKlassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
}
return klassKlass::oop_update_pointers(cm, obj);
}
-
-int
-arrayKlassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr, HeapWord* end_addr) {
- assert(obj->is_klass(), "must be klass");
- arrayKlass* ak = arrayKlass::cast(klassOop(obj));
-
- oop* p;
- p = ak->adr_component_mirror();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- p = ak->adr_lower_dimension();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- p = ak->adr_higher_dimension();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
-
- {
- HandleMark hm;
- ak->vtable()->oop_update_pointers(cm, beg_addr, end_addr);
- }
- return klassKlass::oop_update_pointers(cm, obj, beg_addr, end_addr);
-}
#endif // SERIALGC
// Printing
diff --git a/src/share/vm/oops/compiledICHolderKlass.cpp b/src/share/vm/oops/compiledICHolderKlass.cpp
index f91716d12..6f982bf99 100644
--- a/src/share/vm/oops/compiledICHolderKlass.cpp
+++ b/src/share/vm/oops/compiledICHolderKlass.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
@@ -145,21 +145,6 @@ int compiledICHolderKlass::oop_update_pointers(ParCompactionManager* cm,
PSParallelCompact::adjust_pointer(c->adr_holder_klass());
return c->object_size();
}
-
-int compiledICHolderKlass::oop_update_pointers(ParCompactionManager* cm,
- oop obj,
- HeapWord* beg_addr,
- HeapWord* end_addr) {
- assert(obj->is_compiledICHolder(), "must be compiledICHolder");
- compiledICHolderOop c = compiledICHolderOop(obj);
-
- oop* p;
- p = c->adr_holder_method();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- p = c->adr_holder_klass();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- return c->object_size();
-}
#endif // SERIALGC
// Printing
diff --git a/src/share/vm/oops/constMethodKlass.cpp b/src/share/vm/oops/constMethodKlass.cpp
index 19e292d7a..6e065317d 100644
--- a/src/share/vm/oops/constMethodKlass.cpp
+++ b/src/share/vm/oops/constMethodKlass.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2003, 2011, 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
@@ -184,21 +184,6 @@ int constMethodKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
}
return cm_oop->object_size();
}
-
-int constMethodKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr,
- HeapWord* end_addr) {
- assert(obj->is_constMethod(), "should be constMethod");
- constMethodOop cm_oop = constMethodOop(obj);
-
- oop* const beg_oop = MAX2((oop*)beg_addr, cm_oop->oop_block_beg());
- oop* const end_oop = MIN2((oop*)end_addr, cm_oop->oop_block_end());
- for (oop* cur_oop = beg_oop; cur_oop < end_oop; ++cur_oop) {
- PSParallelCompact::adjust_pointer(cur_oop);
- }
-
- return cm_oop->object_size();
-}
#endif // SERIALGC
// Printing
diff --git a/src/share/vm/oops/constantPoolKlass.cpp b/src/share/vm/oops/constantPoolKlass.cpp
index 38bcdd3e0..3b097d963 100644
--- a/src/share/vm/oops/constantPoolKlass.cpp
+++ b/src/share/vm/oops/constantPoolKlass.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
@@ -279,40 +279,6 @@ int constantPoolKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
return cp->object_size();
}
-int
-constantPoolKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr, HeapWord* end_addr) {
- assert (obj->is_constantPool(), "obj must be constant pool");
- constantPoolOop cp = (constantPoolOop) obj;
-
- // If the tags array is null we are in the middle of allocating this constant
- // pool.
- if (cp->tags() != NULL) {
- oop* base = (oop*)cp->base();
- oop* const beg_oop = MAX2((oop*)beg_addr, base);
- oop* const end_oop = MIN2((oop*)end_addr, base + cp->length());
- const size_t beg_idx = pointer_delta(beg_oop, base, sizeof(oop*));
- const size_t end_idx = pointer_delta(end_oop, base, sizeof(oop*));
- for (size_t cur_idx = beg_idx; cur_idx < end_idx; ++cur_idx, ++base) {
- if (cp->is_pointer_entry(int(cur_idx))) {
- PSParallelCompact::adjust_pointer(base);
- }
- }
- }
-
- oop* p;
- p = cp->tags_addr();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- p = cp->cache_addr();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- p = cp->operands_addr();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- p = cp->pool_holder_addr();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
-
- return cp->object_size();
-}
-
void constantPoolKlass::oop_push_contents(PSPromotionManager* pm, oop obj) {
assert(obj->is_constantPool(), "should be constant pool");
constantPoolOop cp = (constantPoolOop) obj;
diff --git a/src/share/vm/oops/cpCacheKlass.cpp b/src/share/vm/oops/cpCacheKlass.cpp
index fa9d9ecaa..233c7e644 100644
--- a/src/share/vm/oops/cpCacheKlass.cpp
+++ b/src/share/vm/oops/cpCacheKlass.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
@@ -203,25 +203,6 @@ constantPoolCacheKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
return cache->object_size();
}
-
-int
-constantPoolCacheKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr,
- HeapWord* end_addr) {
- assert(obj->is_constantPoolCache(), "obj must be constant pool cache");
- constantPoolCacheOop cache = (constantPoolCacheOop)obj;
-
- // Iteration over constant pool cache instance variables
- oop* p;
- p = (oop*)cache->constant_pool_addr();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
-
- // Iteration over constant pool cache entries
- for (int i = 0; i < cache->length(); ++i) {
- cache->entry_at(i)->update_pointers(beg_addr, end_addr);
- }
- return cache->object_size();
-}
#endif // SERIALGC
void constantPoolCacheKlass::oop_print_on(oop obj, outputStream* st) {
diff --git a/src/share/vm/oops/cpCacheOop.cpp b/src/share/vm/oops/cpCacheOop.cpp
index e627a250b..039fccf42 100644
--- a/src/share/vm/oops/cpCacheOop.cpp
+++ b/src/share/vm/oops/cpCacheOop.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
@@ -368,16 +368,6 @@ void ConstantPoolCacheEntry::update_pointers() {
PSParallelCompact::adjust_pointer((oop*)&_f2);
}
}
-
-void ConstantPoolCacheEntry::update_pointers(HeapWord* beg_addr,
- HeapWord* end_addr) {
- assert(in_words(size()) == 4, "check code below - may need adjustment");
- // field[1] is always oop or NULL
- PSParallelCompact::adjust_pointer((oop*)&_f1, beg_addr, end_addr);
- if (is_vfinal()) {
- PSParallelCompact::adjust_pointer((oop*)&_f2, beg_addr, end_addr);
- }
-}
#endif // SERIALGC
// RedefineClasses() API support:
diff --git a/src/share/vm/oops/cpCacheOop.hpp b/src/share/vm/oops/cpCacheOop.hpp
index 233c432c1..e59c49521 100644
--- a/src/share/vm/oops/cpCacheOop.hpp
+++ b/src/share/vm/oops/cpCacheOop.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1998, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1998, 2011, 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
@@ -287,7 +287,6 @@ class ConstantPoolCacheEntry VALUE_OBJ_CLASS_SPEC {
#endif // SERIALGC
void update_pointers();
- void update_pointers(HeapWord* beg_addr, HeapWord* end_addr);
// RedefineClasses() API support:
// If this constantPoolCacheEntry refers to old_method then update it
diff --git a/src/share/vm/oops/instanceKlass.cpp b/src/share/vm/oops/instanceKlass.cpp
index 893fddf3b..73f4d97df 100644
--- a/src/share/vm/oops/instanceKlass.cpp
+++ b/src/share/vm/oops/instanceKlass.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
@@ -1736,14 +1736,6 @@ void instanceKlass::update_static_fields() {
PSParallelCompact::adjust_pointer(p), \
assert_nothing)
}
-
-void instanceKlass::update_static_fields(HeapWord* beg_addr, HeapWord* end_addr) {
- InstanceKlass_BOUNDED_OOP_ITERATE( \
- start_of_static_fields(), static_oop_field_size(), \
- beg_addr, end_addr, \
- PSParallelCompact::adjust_pointer(p), \
- assert_nothing )
-}
#endif // SERIALGC
void instanceKlass::oop_follow_contents(oop obj) {
@@ -1876,15 +1868,6 @@ int instanceKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
return size_helper();
}
-int instanceKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr, HeapWord* end_addr) {
- InstanceKlass_BOUNDED_OOP_MAP_ITERATE( \
- obj, beg_addr, end_addr, \
- PSParallelCompact::adjust_pointer(p), \
- assert_nothing)
- return size_helper();
-}
-
void instanceKlass::push_static_fields(PSPromotionManager* pm) {
InstanceKlass_OOP_ITERATE( \
start_of_static_fields(), static_oop_field_size(), \
diff --git a/src/share/vm/oops/instanceKlass.hpp b/src/share/vm/oops/instanceKlass.hpp
index 6a09bdfa5..c2f7da14b 100644
--- a/src/share/vm/oops/instanceKlass.hpp
+++ b/src/share/vm/oops/instanceKlass.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
@@ -740,7 +740,6 @@ class instanceKlass: public Klass {
void follow_static_fields(ParCompactionManager* cm);
void copy_static_fields(ParCompactionManager* cm);
void update_static_fields();
- void update_static_fields(HeapWord* beg_addr, HeapWord* end_addr);
#endif // SERIALGC
// Naming
diff --git a/src/share/vm/oops/instanceKlassKlass.cpp b/src/share/vm/oops/instanceKlassKlass.cpp
index e2667bba7..150621fa7 100644
--- a/src/share/vm/oops/instanceKlassKlass.cpp
+++ b/src/share/vm/oops/instanceKlassKlass.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
@@ -353,35 +353,6 @@ int instanceKlassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
return ik->object_size();
}
-int instanceKlassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr,
- HeapWord* end_addr) {
- assert(obj->is_klass(),"must be a klass");
- assert(klassOop(obj)->klass_part()->oop_is_instance_slow(),
- "must be instance klass");
-
- instanceKlass* ik = instanceKlass::cast(klassOop(obj));
- ik->update_static_fields(beg_addr, end_addr);
- ik->vtable()->oop_update_pointers(cm, beg_addr, end_addr);
- ik->itable()->oop_update_pointers(cm, beg_addr, end_addr);
-
- oop* const beg_oop = MAX2((oop*)beg_addr, ik->oop_block_beg());
- oop* const end_oop = MIN2((oop*)end_addr, ik->oop_block_end());
- for (oop* cur_oop = beg_oop; cur_oop < end_oop; ++cur_oop) {
- PSParallelCompact::adjust_pointer(cur_oop);
- }
-
- // The oop_map_cache, jni_ids and jni_id_map are allocated from the C heap,
- // and so don't lie within any 'Chunk' boundaries. Update them when the
- // lowest addressed oop in the instanceKlass 'oop_block' is updated.
- if (beg_oop == ik->oop_block_beg()) {
- OopClosure* closure = PSParallelCompact::adjust_root_pointer_closure();
- iterate_c_heap_oops(ik, closure);
- }
-
- klassKlass::oop_update_pointers(cm, obj, beg_addr, end_addr);
- return ik->object_size();
-}
#endif // SERIALGC
klassOop
diff --git a/src/share/vm/oops/instanceRefKlass.cpp b/src/share/vm/oops/instanceRefKlass.cpp
index da2005dc7..4518a9da1 100644
--- a/src/share/vm/oops/instanceRefKlass.cpp
+++ b/src/share/vm/oops/instanceRefKlass.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
@@ -344,33 +344,6 @@ int instanceRefKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
}
return size_helper();
}
-
-
-template <class T> void
-specialized_oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr, HeapWord* end_addr) {
- T* p;
- T* referent_addr = p = (T*)java_lang_ref_Reference::referent_addr(obj);
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- T* next_addr = p = (T*)java_lang_ref_Reference::next_addr(obj);
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- T* discovered_addr = p = (T*)java_lang_ref_Reference::discovered_addr(obj);
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- debug_only(trace_reference_gc("instanceRefKlass::oop_update_ptrs", obj,
- referent_addr, next_addr, discovered_addr);)
-}
-
-int
-instanceRefKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr, HeapWord* end_addr) {
- instanceKlass::oop_update_pointers(cm, obj, beg_addr, end_addr);
- if (UseCompressedOops) {
- specialized_oop_update_pointers<narrowOop>(cm, obj, beg_addr, end_addr);
- } else {
- specialized_oop_update_pointers<oop>(cm, obj, beg_addr, end_addr);
- }
- return size_helper();
-}
#endif // SERIALGC
void instanceRefKlass::update_nonstatic_oop_maps(klassOop k) {
diff --git a/src/share/vm/oops/klassKlass.cpp b/src/share/vm/oops/klassKlass.cpp
index 79867acf0..6411609d7 100644
--- a/src/share/vm/oops/klassKlass.cpp
+++ b/src/share/vm/oops/klassKlass.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
@@ -188,19 +188,6 @@ int klassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
return oop_size(obj);
}
-
-int klassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr, HeapWord* end_addr) {
- Klass* k = Klass::cast(klassOop(obj));
-
- oop* const beg_oop = MAX2((oop*)beg_addr, k->oop_block_beg());
- oop* const end_oop = MIN2((oop*)end_addr, k->oop_block_end());
- for (oop* cur_oop = beg_oop; cur_oop < end_oop; ++cur_oop) {
- PSParallelCompact::adjust_pointer(cur_oop);
- }
-
- return oop_size(obj);
-}
#endif // SERIALGC
diff --git a/src/share/vm/oops/klassPS.hpp b/src/share/vm/oops/klassPS.hpp
index fa898b070..0aa7a580d 100644
--- a/src/share/vm/oops/klassPS.hpp
+++ b/src/share/vm/oops/klassPS.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2007, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2007, 2011, 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
@@ -37,17 +37,13 @@
objects that do (or may) cross chunk boundaries; it updates only those \
oops that are in the region [beg_addr, end_addr). */ \
virtual void oop_follow_contents(ParCompactionManager* cm, oop obj); \
- virtual int oop_update_pointers(ParCompactionManager* cm, oop obj); \
- virtual int oop_update_pointers(ParCompactionManager* cm, oop obj, \
- HeapWord* beg_addr, HeapWord* end_addr);
+ virtual int oop_update_pointers(ParCompactionManager* cm, oop obj);
// Pure virtual version for klass.hpp
#define PARALLEL_GC_DECLS_PV \
virtual void oop_push_contents(PSPromotionManager* pm, oop obj) = 0; \
virtual void oop_follow_contents(ParCompactionManager* cm, oop obj) = 0; \
- virtual int oop_update_pointers(ParCompactionManager* cm, oop obj) = 0; \
- virtual int oop_update_pointers(ParCompactionManager* cm, oop obj, \
- HeapWord* beg_addr, HeapWord* end_addr) = 0;
+ virtual int oop_update_pointers(ParCompactionManager* cm, oop obj) = 0;
#else // SERIALGC
#define PARALLEL_GC_DECLS
#define PARALLEL_GC_DECLS_PV
diff --git a/src/share/vm/oops/klassVtable.cpp b/src/share/vm/oops/klassVtable.cpp
index 4ea39839b..f0939cb69 100644
--- a/src/share/vm/oops/klassVtable.cpp
+++ b/src/share/vm/oops/klassVtable.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
@@ -677,25 +677,6 @@ void klassVtable::oop_update_pointers(ParCompactionManager* cm) {
PSParallelCompact::adjust_pointer(adr_method_at(i));
}
}
-
-void klassVtable::oop_update_pointers(ParCompactionManager* cm,
- HeapWord* beg_addr, HeapWord* end_addr) {
- const int n = length();
- const int entry_size = vtableEntry::size();
-
- int beg_idx = 0;
- HeapWord* const method_0 = (HeapWord*)adr_method_at(0);
- if (beg_addr > method_0) {
- // it's safe to use cast, as we have guarantees on vtable size to be sane
- beg_idx = int((pointer_delta(beg_addr, method_0) + entry_size - 1) / entry_size);
- }
-
- oop* const beg_oop = adr_method_at(beg_idx);
- oop* const end_oop = MIN2((oop*)end_addr, adr_method_at(n));
- for (oop* cur_oop = beg_oop; cur_oop < end_oop; cur_oop += entry_size) {
- PSParallelCompact::adjust_pointer(cur_oop);
- }
-}
#endif // SERIALGC
// Iterators
@@ -820,25 +801,6 @@ void klassItable::oop_update_pointers(ParCompactionManager* cm) {
ime++;
}
}
-
-void klassItable::oop_update_pointers(ParCompactionManager* cm,
- HeapWord* beg_addr, HeapWord* end_addr) {
- // offset table
- itableOffsetEntry* ioe = offset_entry(0);
- for(int i = 0; i < _size_offset_table; i++) {
- oop* p = (oop*)&ioe->_interface;
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- ioe++;
- }
-
- // method table
- itableMethodEntry* ime = method_entry(0);
- for(int j = 0; j < _size_method_table; j++) {
- oop* p = (oop*)&ime->_method;
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- ime++;
- }
-}
#endif // SERIALGC
// Iterators
diff --git a/src/share/vm/oops/klassVtable.hpp b/src/share/vm/oops/klassVtable.hpp
index 1f77ea729..33f5b62e1 100644
--- a/src/share/vm/oops/klassVtable.hpp
+++ b/src/share/vm/oops/klassVtable.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
@@ -99,8 +99,6 @@ class klassVtable : public ResourceObj {
// Parallel Old
void oop_follow_contents(ParCompactionManager* cm);
void oop_update_pointers(ParCompactionManager* cm);
- void oop_update_pointers(ParCompactionManager* cm,
- HeapWord* beg_addr, HeapWord* end_addr);
#endif // SERIALGC
// Iterators
@@ -295,8 +293,6 @@ class klassItable : public ResourceObj {
// Parallel Old
void oop_follow_contents(ParCompactionManager* cm);
void oop_update_pointers(ParCompactionManager* cm);
- void oop_update_pointers(ParCompactionManager* cm,
- HeapWord* beg_addr, HeapWord* end_addr);
#endif // SERIALGC
// Iterators
diff --git a/src/share/vm/oops/methodDataKlass.cpp b/src/share/vm/oops/methodDataKlass.cpp
index 500dd7726..c5202f538 100644
--- a/src/share/vm/oops/methodDataKlass.cpp
+++ b/src/share/vm/oops/methodDataKlass.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, 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
@@ -188,25 +188,6 @@ int methodDataKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
}
return m->object_size();
}
-
-int
-methodDataKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr, HeapWord* end_addr) {
- assert(obj->is_methodData(), "should be method data");
-
- oop* p;
- methodDataOop m = methodDataOop(obj);
-
- p = m->adr_method();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
-
- ResourceMark rm;
- ProfileData* data;
- for (data = m->first_data(); m->is_valid(data); data = m->next_data(data)) {
- data->update_pointers(beg_addr, end_addr);
- }
- return m->object_size();
-}
#endif // SERIALGC
#ifndef PRODUCT
diff --git a/src/share/vm/oops/methodDataOop.cpp b/src/share/vm/oops/methodDataOop.cpp
index b0856dbca..7c4aeb0a9 100644
--- a/src/share/vm/oops/methodDataOop.cpp
+++ b/src/share/vm/oops/methodDataOop.cpp
@@ -271,17 +271,6 @@ void ReceiverTypeData::update_pointers() {
}
}
}
-
-void ReceiverTypeData::update_pointers(HeapWord* beg_addr, HeapWord* end_addr) {
- // The loop bounds could be computed based on beg_addr/end_addr and the
- // boundary test hoisted outside the loop (see klassVTable for an example);
- // however, row_limit() is small enough (2) to make that less efficient.
- for (uint row = 0; row < row_limit(); row++) {
- if (receiver_unchecked(row) != NULL) {
- PSParallelCompact::adjust_pointer(adr_receiver(row), beg_addr, end_addr);
- }
- }
-}
#endif // SERIALGC
#ifndef PRODUCT
diff --git a/src/share/vm/oops/methodDataOop.hpp b/src/share/vm/oops/methodDataOop.hpp
index a3f649489..521ba9480 100644
--- a/src/share/vm/oops/methodDataOop.hpp
+++ b/src/share/vm/oops/methodDataOop.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2011, 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
@@ -452,7 +452,6 @@ public:
// Parallel old support
virtual void follow_contents(ParCompactionManager* cm) {}
virtual void update_pointers() {}
- virtual void update_pointers(HeapWord* beg_addr, HeapWord* end_addr) {}
#endif // SERIALGC
// CI translation: ProfileData can represent both MethodDataOop data
@@ -748,7 +747,6 @@ public:
// Parallel old support
virtual void follow_contents(ParCompactionManager* cm);
virtual void update_pointers();
- virtual void update_pointers(HeapWord* beg_addr, HeapWord* end_addr);
#endif // SERIALGC
oop* adr_receiver(uint row) {
diff --git a/src/share/vm/oops/methodKlass.cpp b/src/share/vm/oops/methodKlass.cpp
index 08c49ae4d..85ac2c4cb 100644
--- a/src/share/vm/oops/methodKlass.cpp
+++ b/src/share/vm/oops/methodKlass.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
@@ -214,27 +214,6 @@ int methodKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
#endif // COMPILER2
return m->object_size();
}
-
-int methodKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr, HeapWord* end_addr) {
- assert(obj->is_method(), "should be method");
-
- oop* p;
- methodOop m = methodOop(obj);
-
- p = m->adr_constMethod();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- p = m->adr_constants();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
-
-#ifdef COMPILER2
- if (m->method_data() != NULL) {
- p = m->adr_method_data();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- }
-#endif // COMPILER2
- return m->object_size();
-}
#endif // SERIALGC
#ifndef PRODUCT
diff --git a/src/share/vm/oops/objArrayKlass.cpp b/src/share/vm/oops/objArrayKlass.cpp
index 405301d8d..da9667dee 100644
--- a/src/share/vm/oops/objArrayKlass.cpp
+++ b/src/share/vm/oops/objArrayKlass.cpp
@@ -470,16 +470,6 @@ int objArrayKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
ObjArrayKlass_OOP_ITERATE(a, p, PSParallelCompact::adjust_pointer(p))
return a->object_size();
}
-
-int objArrayKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr, HeapWord* end_addr) {
- assert (obj->is_objArray(), "obj must be obj array");
- objArrayOop a = objArrayOop(obj);
- ObjArrayKlass_BOUNDED_OOP_ITERATE( \
- a, p, beg_addr, end_addr, \
- PSParallelCompact::adjust_pointer(p))
- return a->object_size();
-}
#endif // SERIALGC
// JVM support
diff --git a/src/share/vm/oops/objArrayKlassKlass.cpp b/src/share/vm/oops/objArrayKlassKlass.cpp
index b85e8dffc..a21110250 100644
--- a/src/share/vm/oops/objArrayKlassKlass.cpp
+++ b/src/share/vm/oops/objArrayKlassKlass.cpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
@@ -254,22 +254,6 @@ int objArrayKlassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
return arrayKlassKlass::oop_update_pointers(cm, obj);
}
-
-int objArrayKlassKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr,
- HeapWord* end_addr) {
- assert(obj->is_klass(), "must be klass");
- assert(klassOop(obj)->klass_part()->oop_is_objArray_slow(), "must be obj array");
-
- oop* p;
- objArrayKlass* oak = objArrayKlass::cast((klassOop)obj);
- p = oak->element_klass_addr();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
- p = oak->bottom_klass_addr();
- PSParallelCompact::adjust_pointer(p, beg_addr, end_addr);
-
- return arrayKlassKlass::oop_update_pointers(cm, obj, beg_addr, end_addr);
-}
#endif // SERIALGC
#ifndef PRODUCT
diff --git a/src/share/vm/oops/oop.hpp b/src/share/vm/oops/oop.hpp
index 4507e7d8e..7553ec38f 100644
--- a/src/share/vm/oops/oop.hpp
+++ b/src/share/vm/oops/oop.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2011, 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
@@ -322,13 +322,6 @@ class oopDesc {
// Parallel Old
void update_contents(ParCompactionManager* cm);
- void update_contents(ParCompactionManager* cm,
- HeapWord* begin_limit,
- HeapWord* end_limit);
- void update_contents(ParCompactionManager* cm,
- klassOop old_klass,
- HeapWord* begin_limit,
- HeapWord* end_limit);
void follow_contents(ParCompactionManager* cm);
void follow_header(ParCompactionManager* cm);
@@ -369,7 +362,6 @@ class oopDesc {
#ifndef SERIALGC
// Parallel old
void update_header();
- void update_header(HeapWord* beg_addr, HeapWord* end_addr);
#endif // SERIALGC
// mark-sweep support
diff --git a/src/share/vm/oops/oop.pcgc.inline.hpp b/src/share/vm/oops/oop.pcgc.inline.hpp
index fc969970c..cee33200c 100644
--- a/src/share/vm/oops/oop.pcgc.inline.hpp
+++ b/src/share/vm/oops/oop.pcgc.inline.hpp
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2011, 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
@@ -57,41 +57,6 @@ inline void oopDesc::update_contents(ParCompactionManager* cm) {
// Else skip it. The typeArrayKlass in the header never needs scavenging.
}
-inline void oopDesc::update_contents(ParCompactionManager* cm,
- HeapWord* begin_limit,
- HeapWord* end_limit) {
- // The klass field must be updated before anything else
- // can be done.
- debug_only(klassOopDesc* original_klass = klass());
-
- update_contents(cm, klass(), begin_limit, end_limit);
-}
-
-inline void oopDesc::update_contents(ParCompactionManager* cm,
- klassOop old_klass,
- HeapWord* begin_limit,
- HeapWord* end_limit) {
-
- klassOop updated_klass =
- PSParallelCompact::summary_data().calc_new_klass(old_klass);
-
- // Needs to be boundary aware for the 64 bit case
- // update_header();
- // The klass has moved. Is the location of the klass
- // within the limits?
- if ((((HeapWord*)&_metadata._klass) >= begin_limit) &&
- (((HeapWord*)&_metadata._klass) < end_limit)) {
- set_klass(updated_klass);
- }
-
- Klass* klass = updated_klass->klass_part();
- if (!klass->oop_is_typeArray()) {
- // It might contain oops beyond the header, so take the virtual call.
- klass->oop_update_pointers(cm, this, begin_limit, end_limit);
- }
- // Else skip it. The typeArrayKlass in the header never needs scavenging.
-}
-
inline void oopDesc::follow_contents(ParCompactionManager* cm) {
assert (PSParallelCompact::mark_bitmap()->is_marked(this),
"should be marked");
@@ -140,13 +105,4 @@ inline void oopDesc::update_header() {
}
}
-inline void oopDesc::update_header(HeapWord* beg_addr, HeapWord* end_addr) {
- if (UseCompressedOops) {
- PSParallelCompact::adjust_pointer(compressed_klass_addr(),
- beg_addr, end_addr);
- } else {
- PSParallelCompact::adjust_pointer(klass_addr(), beg_addr, end_addr);
- }
-}
-
#endif // SHARE_VM_OOPS_OOP_PCGC_INLINE_HPP
diff --git a/src/share/vm/oops/typeArrayKlass.cpp b/src/share/vm/oops/typeArrayKlass.cpp
index 3ec362569..a733e4bb1 100644
--- a/src/share/vm/oops/typeArrayKlass.cpp
+++ b/src/share/vm/oops/typeArrayKlass.cpp
@@ -250,13 +250,6 @@ typeArrayKlass::oop_update_pointers(ParCompactionManager* cm, oop obj) {
assert(obj->is_typeArray(),"must be a type array");
return typeArrayOop(obj)->object_size();
}
-
-int
-typeArrayKlass::oop_update_pointers(ParCompactionManager* cm, oop obj,
- HeapWord* beg_addr, HeapWord* end_addr) {
- assert(obj->is_typeArray(),"must be a type array");
- return typeArrayOop(obj)->object_size();
-}
#endif // SERIALGC
void typeArrayKlass::initialize(TRAPS) {