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