On Tue, 29 Oct 2024 04:31:28 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:
>> The fix cleans up code to support list of JVMTI breakpoints. >> - classes required to supports cache of byte code pointers (GrowableElement, >> GrowableCache, JvmtiBreakpointCache) are dropped; >> - class JvmtiCurrentBreakpoints (JvmtiBreakpoints factory) is left as is, >> dropped unused code; >> - fixed race in JvmtiCurrentBreakpoints::get_jvmti_breakpoints() (fix for >> JDK-8210637); >> - JvmtiBreakpoint:JvmtiBreakpoint() + JvmtiBreakpoint::copy(JvmtiBreakpoint& >> bp) are replaced with copy ctor; >> - JvmtiBreakpoints::clearall_in_class_at_safepoint() is simplified to do a >> single pass; >> >> Testing: tier1..tier6 > > src/hotspot/share/prims/jvmtiImpl.cpp line 208: > >> 206: >> 207: JvmtiBreakpoints::JvmtiBreakpoints() >> 208: : _elements(5, mtServiceability) { > > Do we have tests that create more than 5 breakpoints? I just want to make > sure the array growing code is exercised. You could stress it by testing with > the initial size set to 1. This is the same we had before (in `GrowableCache::initialize`, old line 142): `_elements = new (mtServiceability) GrowableArray<GrowableElement*>(5, mtServiceability);` I set the initial size to 1, JDI tests (some of them have more than 1 breakpoint) passed ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/21675#discussion_r1821413575