// Copy values to "integer registers."
if v.flag&flagIndir != 0 {
offset := add(v.ptr, st.offset, "precomputed value offset")
- memmove(unsafe.Pointer(®Args.Ints[st.ireg]), offset, st.size)
+ memmove(regArgs.IntRegArgAddr(st.ireg, st.size), offset, st.size)
} else {
if st.kind == abiStepPointer {
// Duplicate this pointer in the pointer area of the
panic("attempted to copy pointer to FP register")
}
offset := add(v.ptr, st.offset, "precomputed value offset")
- memmove(unsafe.Pointer(®Args.Floats[st.freg]), offset, st.size)
+ memmove(regArgs.FloatRegArgAddr(st.freg, st.size), offset, st.size)
default:
panic("unknown ABI part kind")
}
switch st.kind {
case abiStepIntReg:
offset := add(s, st.offset, "precomputed value offset")
- memmove(offset, unsafe.Pointer(®Args.Ints[st.ireg]), st.size)
+ memmove(offset, regArgs.IntRegArgAddr(st.ireg, st.size), st.size)
case abiStepPointer:
s := add(s, st.offset, "precomputed value offset")
*((*unsafe.Pointer)(s)) = regArgs.Ptrs[st.ireg]
case abiStepFloatReg:
offset := add(s, st.offset, "precomputed value offset")
- memmove(offset, unsafe.Pointer(®Args.Floats[st.freg]), st.size)
+ memmove(offset, regArgs.FloatRegArgAddr(st.freg, st.size), st.size)
case abiStepStack:
panic("register-based return value has stack component")
default:
switch st.kind {
case abiStepIntReg:
offset := add(v.ptr, st.offset, "precomputed value offset")
- memmove(offset, unsafe.Pointer(®s.Ints[st.ireg]), st.size)
+ memmove(offset, regs.IntRegArgAddr(st.ireg, st.size), st.size)
case abiStepPointer:
s := add(v.ptr, st.offset, "precomputed value offset")
*((*unsafe.Pointer)(s)) = regs.Ptrs[st.ireg]
case abiStepFloatReg:
offset := add(v.ptr, st.offset, "precomputed value offset")
- memmove(offset, unsafe.Pointer(®s.Floats[st.freg]), st.size)
+ memmove(offset, regs.FloatRegArgAddr(st.freg, st.size), st.size)
case abiStepStack:
panic("register-based return value has stack component")
default:
// Copy values to "integer registers."
if v.flag&flagIndir != 0 {
offset := add(v.ptr, st.offset, "precomputed value offset")
- memmove(unsafe.Pointer(®s.Ints[st.ireg]), offset, st.size)
+ memmove(regs.IntRegArgAddr(st.ireg, st.size), offset, st.size)
} else {
// Only populate the Ints space on the return path.
// This is safe because out is kept alive until the
panic("attempted to copy pointer to FP register")
}
offset := add(v.ptr, st.offset, "precomputed value offset")
- memmove(unsafe.Pointer(®s.Floats[st.freg]), offset, st.size)
+ memmove(regs.FloatRegArgAddr(st.freg, st.size), offset, st.size)
default:
panic("unknown ABI part kind")
}