Skip to content

Independent object counting from GC#4

Draft
pf0n wants to merge 10 commits intotest/shen-aggregate-closurefrom
test/shen-pseudo-gc
Draft

Independent object counting from GC#4
pf0n wants to merge 10 commits intotest/shen-aggregate-closurefrom
test/shen-pseudo-gc

Conversation

@pf0n
Copy link
Copy Markdown
Owner

@pf0n pf0n commented Aug 14, 2025

No description provided.

Copy link
Copy Markdown

@ysramakrishna ysramakrishna left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks mostly good.
Left a few comments.
Sorry for the delay in getting to this.

Comment thread src/hotspot/share/gc/shared/gcCause.cpp Outdated
Comment thread src/hotspot/share/gc/shared/gcCause.cpp Outdated
Comment thread src/hotspot/share/gc/shared/gcCause.hpp Outdated
Comment thread src/hotspot/share/gc/shared/gcTrace.inline.hpp
Comment thread src/hotspot/share/gc/shenandoah/shenandoahConcurrentGC.hpp
"0 will allow back to back young collections to run during old " \
"collections.") \
\
product(uintx, ShenandoahObjectCountInterval, 0, \
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"JFR" somewhere in the name so it's clear.

I wouldn't use "0" to mean disabled, since the enabling or disabling is controlled separately by whether the event is enabled or disabled.

In any case, I suppose your plan is to get this value from the JFR event in the future, so may be this semantics can be ignored (i.e. kept) for now. I wouldn't spend time on it.

Comment thread test/jdk/jdk/jfr/event/gc/objectcount/ObjectCountEvent.java Outdated
Comment thread test/jdk/jdk/jfr/event/gc/objectcount/ObjectCountEvent.java Outdated
Comment thread test/jdk/jdk/jfr/event/gc/objectcount/ObjectCountEvent.java Outdated
* & vm.opt.ExplicitGCInvokesConcurrent != false
* @library /test/lib /test/jdk
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:+ExplicitGCInvokesConcurrent -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:-UseCompressedClassPointers -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountEventWithShenandoah
* @run main/othervm -XX:+UnlockExperimentalVMOptions -XX:+UseShenandoahGC -XX:ShenandoahObjectCountInterval=300 -XX:+ExplicitGCInvokesConcurrent -XX:MarkSweepDeadRatio=0 -XX:-UseCompressedOops -XX:-UseCompressedClassPointers -XX:+IgnoreUnrecognizedVMOptions jdk.jfr.event.gc.objectcount.TestObjectCountEventWithShenandoah
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In order to get these events, you might need to sleep for a sufficient period of time so that the (non-gc) object count event is produced.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants