From 3135a96dc0a615a6fbedc9dd0657ec1c75d8723e Mon Sep 17 00:00:00 2001 From: Christian Hagedorn Date: Mon, 29 Jul 2019 09:40:02 +0200 Subject: [PATCH] 8156207: Resource allocated BitMaps are often cleared unnecessarily Removed unnecessary clearing of BitMap. Reviewed-by: kbarrett, kvn, thartmann --- src/hotspot/share/compiler/methodLiveness.cpp | 4 ++-- src/hotspot/share/utilities/bitMap.cpp | 4 ++-- src/hotspot/share/utilities/bitMap.hpp | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/hotspot/share/compiler/methodLiveness.cpp b/src/hotspot/share/compiler/methodLiveness.cpp index 7cff216b0c5..67bec91eb72 100644 --- a/src/hotspot/share/compiler/methodLiveness.cpp +++ b/src/hotspot/share/compiler/methodLiveness.cpp @@ -830,8 +830,8 @@ MethodLivenessResult MethodLiveness::BasicBlock::get_liveness_at(ciMethod* metho #ifdef ASSERT ResourceMark rm; - ResourceBitMap g(_gen.size()); g.set_from(_gen); - ResourceBitMap k(_kill.size()); k.set_from(_kill); + ResourceBitMap g(_gen.size(), false); g.set_from(_gen); + ResourceBitMap k(_kill.size(), false); k.set_from(_kill); #endif if (_last_bci != bci || trueInDebug) { ciBytecodeStream bytes(method); diff --git a/src/hotspot/share/utilities/bitMap.cpp b/src/hotspot/share/utilities/bitMap.cpp index f88f11fb7ec..3afa22ee1e2 100644 --- a/src/hotspot/share/utilities/bitMap.cpp +++ b/src/hotspot/share/utilities/bitMap.cpp @@ -133,8 +133,8 @@ void BitMap::reinitialize(const Allocator& allocator, idx_t new_size_in_bits, bo initialize(allocator, new_size_in_bits, clear); } -ResourceBitMap::ResourceBitMap(idx_t size_in_bits) - : BitMap(allocate(ResourceBitMapAllocator(), size_in_bits), size_in_bits) { +ResourceBitMap::ResourceBitMap(idx_t size_in_bits, bool clear) + : BitMap(allocate(ResourceBitMapAllocator(), size_in_bits, clear), size_in_bits) { } void ResourceBitMap::resize(idx_t new_size_in_bits) { diff --git a/src/hotspot/share/utilities/bitMap.hpp b/src/hotspot/share/utilities/bitMap.hpp index e8e361dfe33..84046942633 100644 --- a/src/hotspot/share/utilities/bitMap.hpp +++ b/src/hotspot/share/utilities/bitMap.hpp @@ -329,8 +329,8 @@ class ResourceBitMap : public BitMap { public: ResourceBitMap() : BitMap(NULL, 0) {} - // Clears the bitmap memory. - ResourceBitMap(idx_t size_in_bits); + // Conditionally clears the bitmap memory. + ResourceBitMap(idx_t size_in_bits, bool clear = true); // Resize the backing bitmap memory. //