On Fri, 20 Nov 2020 22:21:04 GMT, Chris Plummer <[email protected]> wrote:
>> A few data structure in the ci allocate unconditionally created
>> GrowableArrays out-of-line, have fields that are newer updated/read, or are
>> unnecessarily cached. By cleaning this up we can slightly reduce memory used
>> for JIT compilations while slightly speeding them up.
>
> src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/ci/ciObjectFactory.java
> line 82:
>
>> 80: public GrowableArray<ciSymbol> symbols() {
>> 81: Address addr = getAddress().addOffsetTo(symbolsField.getOffset());
>> 82: return GrowableArray.create(addr, ciSymbolConstructor);
>
> It's unclear to me why these two changes were needed. Don't they produce the
> same result before and after?
When changing the fields from `GrowableArray<..>*` to `GrowableArray<..>` I
looked around and found another use of an embedded `GrowableArray` in
`InlineTree.java` and took my cues from that. If you're certain these
approaches are semantically identical I can drop these changes, but as I'm not
exactly sure how to verify and test this I went the safe(?) route of leaning on
prior art here.
-------------
PR: https://git.openjdk.java.net/jdk/pull/1346