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