Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 17753:191174b49bec
8035406: Improve data structure for Code Cache remembered sets
Summary: Change the code cache remembered sets data structure from a GrowableArray to a chunked list of nmethods. This makes the data structure more amenable to parallelization, and decreases freeing time.
Reviewed-by: mgerdin, brutisso
author | tschatzl |
---|---|
date | Mon, 24 Mar 2014 15:30:14 +0100 |
parents | 58fc1b1523dc |
children | 96b1c2e06e25 |
comparison
equal
deleted
inserted
replaced
17750:f53edbc2b728 | 17753:191174b49bec |
---|---|
1 /* | 1 /* |
2 * Copyright (c) 2001, 2013, Oracle and/or its affiliates. All rights reserved. | 2 * Copyright (c) 2001, 2014, 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. |
1645 // in the collection set to regions in to-space. In the event | 1645 // in the collection set to regions in to-space. In the event |
1646 // of an evacuation failure, nmethods that reference objects | 1646 // of an evacuation failure, nmethods that reference objects |
1647 // that were not successfullly evacuated are not migrated. | 1647 // that were not successfullly evacuated are not migrated. |
1648 void migrate_strong_code_roots(); | 1648 void migrate_strong_code_roots(); |
1649 | 1649 |
1650 // Free up superfluous code root memory. | |
1651 void purge_code_root_memory(); | |
1652 | |
1650 // During an initial mark pause, mark all the code roots that | 1653 // During an initial mark pause, mark all the code roots that |
1651 // point into regions *not* in the collection set. | 1654 // point into regions *not* in the collection set. |
1652 void mark_strong_code_roots(uint worker_id); | 1655 void mark_strong_code_roots(uint worker_id); |
1653 | 1656 |
1654 // Rebuild the stong code root lists for each region | 1657 // Rebuild the stong code root lists for each region |