< 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 >