1 /* |
1 /* |
2 * Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. |
2 * Copyright (c) 2017, 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. |
220 ScanningOption so, |
220 ScanningOption so, |
221 bool only_strong_roots, |
221 bool only_strong_roots, |
222 OopsInGenClosure* root_closure, |
222 OopsInGenClosure* root_closure, |
223 CLDClosure* cld_closure) { |
223 CLDClosure* cld_closure) { |
224 MarkingCodeBlobClosure mark_code_closure(root_closure, !CodeBlobToOopClosure::FixRelocations); |
224 MarkingCodeBlobClosure mark_code_closure(root_closure, !CodeBlobToOopClosure::FixRelocations); |
225 OopsInGenClosure* weak_roots = only_strong_roots ? NULL : root_closure; |
|
226 CLDClosure* weak_cld_closure = only_strong_roots ? NULL : cld_closure; |
225 CLDClosure* weak_cld_closure = only_strong_roots ? NULL : cld_closure; |
227 |
226 |
228 process_roots(scope, so, root_closure, weak_roots, cld_closure, weak_cld_closure, &mark_code_closure); |
227 process_roots(scope, so, root_closure, cld_closure, weak_cld_closure, &mark_code_closure); |
229 if (!only_strong_roots) { |
228 if (!only_strong_roots) { |
230 process_string_table_roots(scope, root_closure); |
229 process_string_table_roots(scope, root_closure); |
231 } |
230 } |
232 |
231 |
233 if (young_gen_as_roots && |
232 if (young_gen_as_roots && |