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

Reply via email to