struct CollectionReturn

Defined at line 37 of file ../../src/developer/debug/zxdb/expr/abi.h

Information about how a collection is returned on the platform. This is a structure because it

will need to be enhanced in the future. It currently doesn't support several cases:

- On x64 and ARM collections

<

= 16 bytes are returned in registers:

- On ARM the collection is effectively memcpy'd into the registers and this should be

straightforward to implement in the future.

- On x64 the allocation is more complicated and the collection members are taken apart and

individually assigned to registers according to their type. This will be more difficult

to implement in general, but we should be able to implement a one-element collection

about as easily as the ARM case. This will give us some useful collections like

smart pointers and handle wrappers.

- On ARM64 non-register collections are placed into memory indicated by the caller in x8 at

the time of the function call. No information about this is guaranteed to be returned so

we would need to indicate a saved register value.

Public Members

RegisterID addr_return_reg