31 lines
1.4 KiB
Diff
31 lines
1.4 KiB
Diff
|
|
From 3d9fd51e13f76861e21293143b23c6936e030dfc Mon Sep 17 00:00:00 2001
|
||
|
|
From: eapen <zhangyipeng7@huawei.com>
|
||
|
|
Date: Wed, 14 Dec 2022 16:54:06 +0800
|
||
|
|
Subject: [PATCH 16/33] I68TO2: Fix compactibleFreeListSpace::block_size_no_stall crash
|
||
|
|
when use JMap parallel inspection of CMS GC
|
||
|
|
---
|
||
|
|
.../concurrentMarkSweep/concurrentMarkSweepGeneration.cpp | 7 ++++---
|
||
|
|
1 file changed, 4 insertions(+), 3 deletions(-)
|
||
|
|
|
||
|
|
diff --git a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
|
||
|
|
index d31f9a5..c923e85 100644
|
||
|
|
--- a/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
|
||
|
|
+++ b/hotspot/src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.cpp
|
||
|
|
@@ -2896,10 +2896,11 @@ void ConcurrentMarkSweepGeneration::object_iterate_block(ObjectClosure *cl, size
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|
||
|
|
- if (prev_obj < span.end()) {
|
||
|
|
- HeapWord *cur, *limit;
|
||
|
|
+ HeapWord *limit = MIN2(cmsSpace()->end(), span.end());
|
||
|
|
+ if (prev_obj < limit) {
|
||
|
|
+ HeapWord *cur;
|
||
|
|
size_t curSize;
|
||
|
|
- for (cur = prev_obj, limit = span.end(); cur < limit; cur += curSize) {
|
||
|
|
+ for (cur = prev_obj; cur < limit; cur += curSize) {
|
||
|
|
curSize = cmsSpace()->block_size_no_stall(cur, _collector);
|
||
|
|
if (curSize == 0) {
|
||
|
|
break;
|
||
|
|
--
|
||
|
|
1.8.3.1
|