CIRCT 24.0.0git
Loading...
Searching...
No Matches
esi::ChannelPort::TranslationInfo Struct Reference

Instructions for translating windowed types. More...

#include <Ports.h>

Collaboration diagram for esi::ChannelPort::TranslationInfo:

Classes

struct  CopyOp
 A copy operation for translating between frame data and the translation. More...
struct  ListFieldInfo
 Information about a list field within a frame (for parallel encoding). More...
struct  FrameInfo
 Information about each frame in the windowed type. More...

Public Member Functions

 TranslationInfo (const WindowType *windowType)
void precomputeFrameInfo ()
 Precompute and optimize the copy operations for translating frames.
void requireTranslationSupported () const
 Throw if this window cannot be translated by the runtime translator (e.g.

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).
size_t frameBytes = 0
 Number of bytes per wire frame (from the lowered type's bit width).
bool hasListField = false
 True if the window contains a list field (variable-size message).

Detailed Description

Instructions for translating windowed types.

Precomputes and optimizes a list of copy operations.

Definition at line 233 of file Ports.h.

Constructor & Destructor Documentation

◆ TranslationInfo()

esi::ChannelPort::TranslationInfo::TranslationInfo ( const WindowType * windowType)
inline

Definition at line 234 of file Ports.h.

References windowType.

Member Function Documentation

◆ precomputeFrameInfo()

◆ requireTranslationSupported()

void ChannelPort::TranslationInfo::requireTranslationSupported ( ) const

Throw if this window cannot be translated by the runtime translator (e.g.

uses serial/bulk list encoding which is not yet supported).

Definition at line 245 of file Ports.cpp.

References windowType.

Member Data Documentation

◆ frameBytes

size_t esi::ChannelPort::TranslationInfo::frameBytes = 0

Number of bytes per wire frame (from the lowered type's bit width).

Definition at line 292 of file Ports.h.

Referenced by precomputeFrameInfo().

◆ frames

std::vector<FrameInfo> esi::ChannelPort::TranslationInfo::frames

Precomputed information about each frame.

Definition at line 287 of file Ports.h.

Referenced by precomputeFrameInfo().

◆ hasListField

bool esi::ChannelPort::TranslationInfo::hasListField = false

True if the window contains a list field (variable-size message).

Definition at line 294 of file Ports.h.

Referenced by precomputeFrameInfo().

◆ intoTypeBytes

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 290 of file Ports.h.

Referenced by precomputeFrameInfo().

◆ windowType

const WindowType* esi::ChannelPort::TranslationInfo::windowType

The window type being translated.

Definition at line 244 of file Ports.h.

Referenced by precomputeFrameInfo(), requireTranslationSupported(), and TranslationInfo().


The documentation for this struct was generated from the following files: