1 /* |
1 /* |
2 * Copyright (c) 2001, 2011, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2001, 2012, 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. |
41 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity"); |
41 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity"); |
42 |
42 |
43 _destination_decorator = heap->old_gen()->object_mark_sweep(); |
43 _destination_decorator = heap->old_gen()->object_mark_sweep(); |
44 } |
44 } |
45 |
45 |
46 void PSMarkSweepDecorator::set_destination_decorator_perm_gen() { |
|
47 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap(); |
|
48 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity"); |
|
49 |
|
50 _destination_decorator = heap->perm_gen()->object_mark_sweep(); |
|
51 } |
|
52 |
|
53 void PSMarkSweepDecorator::advance_destination_decorator() { |
46 void PSMarkSweepDecorator::advance_destination_decorator() { |
54 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap(); |
47 ParallelScavengeHeap* heap = (ParallelScavengeHeap*)Universe::heap(); |
55 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity"); |
48 assert(heap->kind() == CollectedHeap::ParallelScavengeHeap, "Sanity"); |
56 |
49 |
57 assert(_destination_decorator != NULL, "Sanity"); |
50 assert(_destination_decorator != NULL, "Sanity"); |
58 guarantee(_destination_decorator != heap->perm_gen()->object_mark_sweep(), "Cannot advance perm gen decorator"); |
|
59 |
51 |
60 PSMarkSweepDecorator* first = heap->old_gen()->object_mark_sweep(); |
52 PSMarkSweepDecorator* first = heap->old_gen()->object_mark_sweep(); |
61 PSMarkSweepDecorator* second = heap->young_gen()->eden_mark_sweep(); |
53 PSMarkSweepDecorator* second = heap->young_gen()->eden_mark_sweep(); |
62 PSMarkSweepDecorator* third = heap->young_gen()->from_mark_sweep(); |
54 PSMarkSweepDecorator* third = heap->young_gen()->from_mark_sweep(); |
63 PSMarkSweepDecorator* fourth = heap->young_gen()->to_mark_sweep(); |
55 PSMarkSweepDecorator* fourth = heap->young_gen()->to_mark_sweep(); |