llvm-project/compiler-rt/lib/orc
Lang Hames da59241327 [ORC-RT] Add WrapperFunctionResult, Simple Packed Serialization (SPS) system.
WrapperFunctionResult is a C++ wrapper for __orc_rt_CWrapperFunctionResult
that automatically manages the underlying struct.

The Simple Packed Serialization (SPS) utilities support a simple serialization
scheme for wrapper function argument and result buffers:

Primitive typess (bool, char, int8_t, and uint8_t, int16_t, uint16_t, int32_t,
uint32_t, int64_t, uint64_t) are serialized in little-endian form.

SPSTuples are serialized by serializing each of the tuple members in order
without padding.

SPSSequences are serialized by serializing a sequence length (as a uint64_t)
followed by each of the elements of the sequence in order without padding.

Serialization/deserialization always involves a pair of SPS type tag (a tag
representing the serialized format to use, e.g. uint32_t, or
SPSTuple<bool, SPSString>) and a concrete type to be serialized from or
deserialized to (uint32_t, std::pair<bool, std::string>). Serialization for new
types can be implemented by specializing the SPSSerializationTraits type.
2021-06-01 11:24:19 -07:00
..
unittests [ORC-RT] Add WrapperFunctionResult, Simple Packed Serialization (SPS) system. 2021-06-01 11:24:19 -07:00
CMakeLists.txt [ORC-RT] Add WrapperFunctionResult, Simple Packed Serialization (SPS) system. 2021-06-01 11:24:19 -07:00
adt.h [ORC-RT] Add equality/inequality comparison to string_view. 2021-06-01 11:24:19 -07:00
c_api.h [ORC-RT] Rename C-API functions to use __orc_rt_ prefix (instead of OrcRT). 2021-06-01 11:24:19 -07:00
common.h [ORC-RT] Rename C-API functions to use __orc_rt_ prefix (instead of OrcRT). 2021-06-01 11:24:19 -07:00
compiler.h [ORC-RT] Add compiler abstraction header for the ORC runtime. 2021-05-18 08:44:15 -07:00
endian.h [ORC-RT] Add endianness support to the ORC runtime. 2021-05-26 17:23:35 -07:00
error.h [ORC-RT] Add ORC runtime error and expected types. 2021-05-19 13:31:25 -07:00
extensible_rtti.cpp Re-apply "[ORC-RT] Add unit test infrastructure, extensible_rtti..." 2021-05-11 10:28:33 -07:00
extensible_rtti.h Re-apply "[ORC-RT] Add unit test infrastructure, extensible_rtti..." 2021-05-11 10:28:33 -07:00
stl_extras.h [ORC-RT] Add apply_tuple utility. 2021-05-18 08:44:15 -07:00
wrapper_function_utils.h [ORC-RT] Add WrapperFunctionResult, Simple Packed Serialization (SPS) system. 2021-06-01 11:24:19 -07:00