< prev index next >

src/hotspot/share/memory/archiveUtils.hpp

Print this page

*** 1,7 **** /* ! * Copyright (c) 2019, 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) 2019, 2020, 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.
*** 42,59 **** --- 42,66 ---- // avoid unintentional copy operations after the bitmap has been finalized and written. static bool _compacted; public: static void initialize(CHeapBitMap* ptrmap, address* ptr_base, address* ptr_end); static void mark_pointer(address* ptr_loc); + static void clear_pointer(address* ptr_loc); static void compact(address relocatable_base, address relocatable_end); static void compact(size_t max_non_null_offset); template <typename T> static void mark_pointer(T* ptr_loc) { mark_pointer((address*)ptr_loc); } + template <typename T> + static void set_and_mark_pointer(T* ptr_loc, T ptr_value) { + *ptr_loc = ptr_value; + mark_pointer(ptr_loc); + } + static void expand_ptr_end(address *new_ptr_end) { assert(_ptr_end <= new_ptr_end, "must be"); _ptr_end = new_ptr_end; }
< prev index next >