equal
deleted
inserted
replaced
1 /* |
1 /* |
2 * Copyright (c) 2015, 2017, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2015, 2018, 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. |
131 // During conc marking we have to filter the per-thread SATB buffers |
131 // During conc marking we have to filter the per-thread SATB buffers |
132 // to make sure we remove any oops into the CSet (which will show up |
132 // to make sure we remove any oops into the CSet (which will show up |
133 // as implicitly live). |
133 // as implicitly live). |
134 { |
134 { |
135 G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SATBFiltering, worker_i); |
135 G1GCParPhaseTimesTracker x(phase_times, G1GCPhaseTimes::SATBFiltering, worker_i); |
136 if (!_process_strong_tasks.is_task_claimed(G1RP_PS_filter_satb_buffers) && _g1h->collector_state()->mark_in_progress()) { |
136 if (!_process_strong_tasks.is_task_claimed(G1RP_PS_filter_satb_buffers) && _g1h->collector_state()->mark_or_rebuild_in_progress()) { |
137 JavaThread::satb_mark_queue_set().filter_thread_buffers(); |
137 JavaThread::satb_mark_queue_set().filter_thread_buffers(); |
138 } |
138 } |
139 } |
139 } |
140 |
140 |
141 _process_strong_tasks.all_tasks_completed(n_workers()); |
141 _process_strong_tasks.all_tasks_completed(n_workers()); |