From 3589b80838e5c57bda8ec66074f90cbbcde92b31 Mon Sep 17 00:00:00 2001 From: Albert Mingkun Yang Date: Thu, 26 Jan 2023 10:13:51 +0000 Subject: [PATCH] 8300127: Serial: Remove unnecessary from-space iteration in DefNewGeneration::oop_since_save_marks_iterate Reviewed-by: tschatzl, ysr --- src/hotspot/share/gc/serial/defNewGeneration.inline.hpp | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/hotspot/share/gc/serial/defNewGeneration.inline.hpp b/src/hotspot/share/gc/serial/defNewGeneration.inline.hpp index 0b74520d48f..c1742739f92 100644 --- a/src/hotspot/share/gc/serial/defNewGeneration.inline.hpp +++ b/src/hotspot/share/gc/serial/defNewGeneration.inline.hpp @@ -91,11 +91,12 @@ inline void DefNewGeneration::FastKeepAliveClosure::do_oop_work(T* p) { template void DefNewGeneration::oop_since_save_marks_iterate(OopClosureType* cl) { - eden()->oop_since_save_marks_iterate(cl); - to()->oop_since_save_marks_iterate(cl); - from()->oop_since_save_marks_iterate(cl); + // No allocation in eden and from spaces, so no iteration required. + assert(eden()->saved_mark_at_top(), "inv"); + assert(from()->saved_mark_at_top(), "inv"); - save_marks(); + to()->oop_since_save_marks_iterate(cl); + to()->set_saved_mark(); } #endif // SHARE_GC_SERIAL_DEFNEWGENERATION_INLINE_HPP