GCC Middle and Back End API Reference
asan_redzone_buffer Class Reference
Collaboration diagram for asan_redzone_buffer:

Public Member Functions

 asan_redzone_buffer (rtx shadow_mem, HOST_WIDE_INT prev_offset)
 
void emit_redzone_byte (HOST_WIDE_INT offset, unsigned char value)
 
void flush_redzone_payload (void)
 

Data Fields

auto_vec< unsigned charm_shadow_bytes
 

Private Member Functions

void flush_if_full (void)
 

Private Attributes

rtx m_shadow_mem
 
HOST_WIDE_INT m_prev_offset
 
HOST_WIDE_INT m_original_offset
 

Detailed Description

ASAN redzone buffer container that handles emission of shadow bytes.   

Constructor & Destructor Documentation

◆ asan_redzone_buffer()

asan_redzone_buffer::asan_redzone_buffer ( rtx shadow_mem,
HOST_WIDE_INT prev_offset )
inline

Member Function Documentation

◆ emit_redzone_byte()

void asan_redzone_buffer::emit_redzone_byte ( HOST_WIDE_INT offset,
unsigned char value )

◆ flush_if_full()

void asan_redzone_buffer::flush_if_full ( void )
private
Flush if the content of the buffer is full
(equal to RZ_BUFFER_SIZE).   

References flush_redzone_payload(), m_shadow_bytes, and RZ_BUFFER_SIZE.

Referenced by emit_redzone_byte().

◆ flush_redzone_payload()

void asan_redzone_buffer::flush_redzone_payload ( void )

Field Documentation

◆ m_original_offset

HOST_WIDE_INT asan_redzone_buffer::m_original_offset
private

Referenced by flush_redzone_payload().

◆ m_prev_offset

HOST_WIDE_INT asan_redzone_buffer::m_prev_offset
private

◆ m_shadow_bytes

auto_vec<unsigned char> asan_redzone_buffer::m_shadow_bytes

◆ m_shadow_mem

rtx asan_redzone_buffer::m_shadow_mem
private

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