comparison src/share/vm/oops/oop.pcgc.inline.hpp @ 2227:e5383553fd4e

7014851: Remove unused parallel compaction code Summary: Removed. Reviewed-by: jcoomes, brutisso
author stefank
date Tue, 08 Feb 2011 12:33:19 +0100
parents 3cd116fd11be
children da91efe96a93
comparison
equal deleted inserted replaced
2226:c5a923563727 2227:e5383553fd4e
1 /* 1 /*
2 * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved. 2 * Copyright (c) 2005, 2011, 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.
55 new_klass->oop_update_pointers(cm, this); 55 new_klass->oop_update_pointers(cm, this);
56 } 56 }
57 // Else skip it. The typeArrayKlass in the header never needs scavenging. 57 // Else skip it. The typeArrayKlass in the header never needs scavenging.
58 } 58 }
59 59
60 inline void oopDesc::update_contents(ParCompactionManager* cm,
61 HeapWord* begin_limit,
62 HeapWord* end_limit) {
63 // The klass field must be updated before anything else
64 // can be done.
65 debug_only(klassOopDesc* original_klass = klass());
66
67 update_contents(cm, klass(), begin_limit, end_limit);
68 }
69
70 inline void oopDesc::update_contents(ParCompactionManager* cm,
71 klassOop old_klass,
72 HeapWord* begin_limit,
73 HeapWord* end_limit) {
74
75 klassOop updated_klass =
76 PSParallelCompact::summary_data().calc_new_klass(old_klass);
77
78 // Needs to be boundary aware for the 64 bit case
79 // update_header();
80 // The klass has moved. Is the location of the klass
81 // within the limits?
82 if ((((HeapWord*)&_metadata._klass) >= begin_limit) &&
83 (((HeapWord*)&_metadata._klass) < end_limit)) {
84 set_klass(updated_klass);
85 }
86
87 Klass* klass = updated_klass->klass_part();
88 if (!klass->oop_is_typeArray()) {
89 // It might contain oops beyond the header, so take the virtual call.
90 klass->oop_update_pointers(cm, this, begin_limit, end_limit);
91 }
92 // Else skip it. The typeArrayKlass in the header never needs scavenging.
93 }
94
95 inline void oopDesc::follow_contents(ParCompactionManager* cm) { 60 inline void oopDesc::follow_contents(ParCompactionManager* cm) {
96 assert (PSParallelCompact::mark_bitmap()->is_marked(this), 61 assert (PSParallelCompact::mark_bitmap()->is_marked(this),
97 "should be marked"); 62 "should be marked");
98 blueprint()->oop_follow_contents(cm, this); 63 blueprint()->oop_follow_contents(cm, this);
99 } 64 }
138 } else { 103 } else {
139 PSParallelCompact::adjust_pointer(klass_addr()); 104 PSParallelCompact::adjust_pointer(klass_addr());
140 } 105 }
141 } 106 }
142 107
143 inline void oopDesc::update_header(HeapWord* beg_addr, HeapWord* end_addr) {
144 if (UseCompressedOops) {
145 PSParallelCompact::adjust_pointer(compressed_klass_addr(),
146 beg_addr, end_addr);
147 } else {
148 PSParallelCompact::adjust_pointer(klass_addr(), beg_addr, end_addr);
149 }
150 }
151
152 #endif // SHARE_VM_OOPS_OOP_PCGC_INLINE_HPP 108 #endif // SHARE_VM_OOPS_OOP_PCGC_INLINE_HPP