< prev index next >

src/hotspot/share/gc/g1/g1CodeCacheRemSet.cpp

Print this page

*** 1,7 **** /* ! * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation. --- 1,7 ---- /* ! * Copyright (c) 2014, 2018, Oracle and/or its affiliates. All rights reserved. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License version 2 only, as * published by the Free Software Foundation.
*** 74,84 **** unlink_entry(to_remove); FREE_C_HEAP_ARRAY(char, to_remove); } } assert(number_of_entries() == 0, "should have removed all entries"); ! free_buckets(); for (BasicHashtableEntry<mtGC>* e = new_entry_free_list(); e != NULL; e = new_entry_free_list()) { FREE_C_HEAP_ARRAY(char, e); } } --- 74,86 ---- unlink_entry(to_remove); FREE_C_HEAP_ARRAY(char, to_remove); } } assert(number_of_entries() == 0, "should have removed all entries"); ! // Each of the entries in new_entry_free_list() have been allocated in ! // G1CodeRootSetTable::new_entry(). We never call the block allocator ! // in BasicHashtable::new_entry(). for (BasicHashtableEntry<mtGC>* e = new_entry_free_list(); e != NULL; e = new_entry_free_list()) { FREE_C_HEAP_ARRAY(char, e); } }
< prev index next >