On Fri, 6 Feb 2026 14:09:58 GMT, Roland Westrelin <[email protected]> wrote:
> This implements c2 and runtime support to pass a reference to an existing
> buffer, if there's one, as part of the scalarized calling convention. The
> buffer reference and the null marker are both always passed at this point.
Nice work Roland - thanks for taking care of this! Overall, this looks good to
me. Could you resolve the merge conflict?
src/hotspot/share/runtime/sharedRuntime.cpp line 2975:
> 2973: _sig_cc->appendAll(vk->extended_sig());
> 2974: _sig_cc_ro->appendAll(vk->extended_sig());
> 2975: if (bt == T_OBJECT) {
Why is this needed?
src/hotspot/share/runtime/signature.hpp line 585:
> 583: Symbol* _name; // Symbol for printing
> 584: bool _null_marker; // Is it a null marker? For printing
> 585: bool _vt_oop; // Is it a possibly nyll buffer
Suggestion:
bool _vt_oop; // Is it a possibly null buffer
test/hotspot/jtreg/compiler/valhalla/inlinetypes/TestBufferLost.java line 148:
> 146:
> 147: MemoryMXBean mem = ManagementFactory.getMemoryMXBean();
> 148: System.out.println("Heap size: " +
> mem.getHeapMemoryUsage().getUsed() / (1024*1024) + " MB");
Should we assert some max heap size here?
-------------
PR Review:
https://git.openjdk.org/valhalla/pull/2062#pullrequestreview-3970443603
PR Review Comment:
https://git.openjdk.org/valhalla/pull/2062#discussion_r2955912747
PR Review Comment:
https://git.openjdk.org/valhalla/pull/2062#discussion_r2955917383
PR Review Comment:
https://git.openjdk.org/valhalla/pull/2062#discussion_r2955870827