1 /* |
1 /* |
2 * Copyright (c) 2003, 2010, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2003, 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. |
182 for (oop* cur_oop = beg_oop; cur_oop < end_oop; ++cur_oop) { |
182 for (oop* cur_oop = beg_oop; cur_oop < end_oop; ++cur_oop) { |
183 PSParallelCompact::adjust_pointer(cur_oop); |
183 PSParallelCompact::adjust_pointer(cur_oop); |
184 } |
184 } |
185 return cm_oop->object_size(); |
185 return cm_oop->object_size(); |
186 } |
186 } |
187 |
|
188 int constMethodKlass::oop_update_pointers(ParCompactionManager* cm, oop obj, |
|
189 HeapWord* beg_addr, |
|
190 HeapWord* end_addr) { |
|
191 assert(obj->is_constMethod(), "should be constMethod"); |
|
192 constMethodOop cm_oop = constMethodOop(obj); |
|
193 |
|
194 oop* const beg_oop = MAX2((oop*)beg_addr, cm_oop->oop_block_beg()); |
|
195 oop* const end_oop = MIN2((oop*)end_addr, cm_oop->oop_block_end()); |
|
196 for (oop* cur_oop = beg_oop; cur_oop < end_oop; ++cur_oop) { |
|
197 PSParallelCompact::adjust_pointer(cur_oop); |
|
198 } |
|
199 |
|
200 return cm_oop->object_size(); |
|
201 } |
|
202 #endif // SERIALGC |
187 #endif // SERIALGC |
203 |
188 |
204 // Printing |
189 // Printing |
205 |
190 |
206 void constMethodKlass::oop_print_on(oop obj, outputStream* st) { |
191 void constMethodKlass::oop_print_on(oop obj, outputStream* st) { |