GCC Middle and Back End API Reference
object_block Struct Reference

#include <rtl.h>

Collaboration diagram for object_block:

Data Fields

sectionsect
unsigned int alignment
HOST_WIDE_INT size
vec< rtx, va_gc > * objects
vec< rtx, va_gc > * anchors

Detailed Description

Describes a group of objects that are to be placed together in such a way that their relative positions are known.


Field Documentation

unsigned int object_block::alignment

The alignment of the first object, measured in bits.

vec<rtx, va_gc>* object_block::anchors

All the anchor SYMBOL_REFs used to address these objects, sorted in order of increasing offset, and then increasing TLS model. The following conditions will hold for each element X in this vector:

SYMBOL_REF_HAS_BLOCK_INFO_P (X)
SYMBOL_REF_ANCHOR_P (X)
SYMBOL_REF_BLOCK (X) == [address of this structure]
SYMBOL_REF_BLOCK_OFFSET (X) >= 0.   
vec<rtx, va_gc>* object_block::objects

The SYMBOL_REFs for each object. The vector is sorted in order of increasing offset and the following conditions will hold for each element X:

SYMBOL_REF_HAS_BLOCK_INFO_P (X)
!SYMBOL_REF_ANCHOR_P (X)
SYMBOL_REF_BLOCK (X) == [address of this structure]
SYMBOL_REF_BLOCK_OFFSET (X) >= 0.   
section* object_block::sect

The section in which these objects should be placed.

Referenced by get_section(), hash_section(), and object_block_entry_hash().

HOST_WIDE_INT object_block::size

The total size of the objects, measured in bytes.

Referenced by use_object_blocks_p().


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