|
CIRCT 22.0.0git
|
Instructions for translating windowed types. More...
#include <Ports.h>

Classes | |
| struct | CopyOp |
| A copy operation for translating between frame data and the translation. More... | |
| struct | FrameInfo |
| Information about each frame in the windowed type. More... | |
| struct | ListFieldInfo |
| Information about a list field within a frame (for parallel encoding). More... | |
Public Member Functions | |
| TranslationInfo (const WindowType *windowType) | |
| void | precomputeFrameInfo () |
| Precompute and optimize the copy operations for translating frames. | |
Public Attributes | |
| const WindowType * | windowType |
| The window type being translated. | |
| std::vector< FrameInfo > | frames |
| Precomputed information about each frame. | |
| size_t | intoTypeBytes = 0 |
| Size of the 'into' type in bytes (for fixed-size types). | |
| bool | hasListField = false |
| True if the window contains a list field (variable-size message). | |
Instructions for translating windowed types.
Precomputes and optimizes a list of copy operations.
|
inline |
| void ChannelPort::TranslationInfo::precomputeFrameInfo | ( | ) |
Precompute and optimize the copy operations for translating frames.
Definition at line 154 of file Ports.cpp.
References esi::ChannelPort::TranslationInfo::CopyOp::bufferOffset, esi::ChannelPort::TranslationInfo::FrameInfo::copyOps, esi::ChannelPort::TranslationInfo::ListFieldInfo::dataOffset, esi::ChannelPort::TranslationInfo::ListFieldInfo::elementSize, esi::ChannelPort::TranslationInfo::FrameInfo::expectedSize, esi::ChannelPort::TranslationInfo::ListFieldInfo::fieldName, esi::ChannelPort::TranslationInfo::CopyOp::frameOffset, frames, esi::Type::getBitWidth(), esi::StructType::getFields(), esi::WindowType::getFrames(), esi::WindowType::getIntoType(), hasListField, intoTypeBytes, esi::StructType::isReverse(), esi::ChannelPort::TranslationInfo::ListFieldInfo::lastFieldOffset, esi::ChannelPort::TranslationInfo::ListFieldInfo::listDataBufferOffset, esi::ChannelPort::TranslationInfo::FrameInfo::listField, esi::ChannelPort::TranslationInfo::ListFieldInfo::listLengthBufferOffset, esi::WindowType::Field::name, esi::WindowType::Field::numItems, esi::ChannelPort::TranslationInfo::CopyOp::size, and windowType.
| std::vector<FrameInfo> esi::ChannelPort::TranslationInfo::frames |
Precomputed information about each frame.
Definition at line 187 of file Ports.h.
Referenced by precomputeFrameInfo().
| bool esi::ChannelPort::TranslationInfo::hasListField = false |
True if the window contains a list field (variable-size message).
Definition at line 192 of file Ports.h.
Referenced by precomputeFrameInfo().
| size_t esi::ChannelPort::TranslationInfo::intoTypeBytes = 0 |
Size of the 'into' type in bytes (for fixed-size types).
For types with lists, this is the size of the fixed header portion.
Definition at line 190 of file Ports.h.
Referenced by precomputeFrameInfo().
| const WindowType* esi::ChannelPort::TranslationInfo::windowType |
The window type being translated.
Definition at line 144 of file Ports.h.
Referenced by precomputeFrameInfo().