libyasm
Public Member Functions | Data Fields
yasm_bytecode Struct Reference

A bytecode. More...

#include <bytecode.h>

Public Member Functions

 STAILQ_ENTRY (yasm_bytecode) link
 Bytecodes are stored as a singly linked list, with tail insertion. More...
 

Data Fields

const yasm_bytecode_callbackcallback
 The bytecode callback structure for this bytecode. More...
 
yasm_sectionsection
 Pointer to section containing bytecode; NULL if not part of a section.
 
yasm_exprmultiple
 Number of times bytecode is repeated. More...
 
unsigned long len
 Total length of entire bytecode (not including multiple copies). More...
 
long mult_int
 Number of copies, integer version. More...
 
unsigned long line
 Line number where bytecode was defined. More...
 
unsigned long offset
 Offset of bytecode from beginning of its section. More...
 
unsigned long bc_index
 Unique integer index of bytecode. More...
 
yasm_symrec ** symrecs
 NULL-terminated array of labels that point to this bytecode (as the bytecode previous to the label). More...
 
void * contents
 Implementation-specific data (type identified by callback). More...
 

Detailed Description

A bytecode.

Definition at line 183 of file bytecode.h.

Member Function Documentation

yasm_bytecode::STAILQ_ENTRY ( yasm_bytecode  )

Bytecodes are stored as a singly linked list, with tail insertion.

See Also
section.h (yasm_section).

Field Documentation

unsigned long yasm_bytecode::bc_index

Unique integer index of bytecode.

Used during optimization.

Definition at line 219 of file bytecode.h.

const yasm_bytecode_callback* yasm_bytecode::callback

The bytecode callback structure for this bytecode.

May be NULL during partial initialization.

Definition at line 192 of file bytecode.h.

void* yasm_bytecode::contents

Implementation-specific data (type identified by callback).

Definition at line 227 of file bytecode.h.

unsigned long yasm_bytecode::len

Total length of entire bytecode (not including multiple copies).

Definition at line 205 of file bytecode.h.

unsigned long yasm_bytecode::line

Line number where bytecode was defined.

Definition at line 211 of file bytecode.h.

long yasm_bytecode::mult_int

Number of copies, integer version.

Definition at line 208 of file bytecode.h.

yasm_expr* yasm_bytecode::multiple

Number of times bytecode is repeated.

NULL=1 (to save space in the common case).

Definition at line 202 of file bytecode.h.

unsigned long yasm_bytecode::offset

Offset of bytecode from beginning of its section.

0-based, ~0UL (e.g. all 1 bits) if unknown.

Definition at line 216 of file bytecode.h.

yasm_symrec** yasm_bytecode::symrecs

NULL-terminated array of labels that point to this bytecode (as the bytecode previous to the label).

NULL if no labels point here.

Definition at line 224 of file bytecode.h.


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