diff --git a/src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64CallArranger.java b/src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64CallArranger.java index e06044a31f0..62881527b0e 100644 --- a/src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64CallArranger.java +++ b/src/java.base/share/classes/jdk/internal/foreign/abi/riscv64/linux/LinuxRISCV64CallArranger.java @@ -305,7 +305,7 @@ public class LinuxRISCV64CallArranger { if (offset + copy < layout.byteSize()) { bindings.dup(); } - bindings.bufferLoad(offset, type) + bindings.bufferLoad(offset, type, (int) copy) .vmStore(storage, type); offset += copy; } @@ -415,7 +415,7 @@ public class LinuxRISCV64CallArranger { VMStorage storage = locations[locIndex++]; Class type = SharedUtils.primitiveCarrierForSize(copy, false); bindings.dup().vmLoad(storage, type) - .bufferStore(offset, type); + .bufferStore(offset, type, (int) copy); offset += copy; } }