Public Member Functions | Public Attributes | Static Public Attributes | Protected Member Functions | Protected Attributes | Friends

nanojit::LirBuffer Class Reference

#include <LIR.h>

Collaboration diagram for nanojit::LirBuffer:

List of all members.

Public Member Functions

 LirBuffer (Allocator &alloc)
void clear ()
uintptr_t makeRoom (size_t szB)
 debug_only (void validate() const ;) verbose_only(LInsPrinter *printer
int32_t insCount ()

Public Attributes

struct {
   uint32_t   lir
_stats
AbiKind abi
LInsstate
LInsparam1
LInssp
LInsrp
LInssavedRegs [NumSavedRegs+1]

Static Public Attributes

static const size_t CHUNK_SZB = 8000
 Each chunk is just a raw area of LIns instances, with no header and no more than 8-byte alignment.

Protected Member Functions

void chunkAlloc ()
 Get CHUNK_SZB more memory for LIR instructions.
void moveToNewChunk (uintptr_t addrOfLastLInsOnCurrentChunk)

Protected Attributes

Allocator_allocator
uintptr_t _unused
uintptr_t _limit

Friends

class LirBufWriter

Constructor & Destructor Documentation

nanojit::LirBuffer::LirBuffer ( Allocator alloc  ) 

Member Function Documentation

void nanojit::LirBuffer::chunkAlloc (  )  [protected]

Get CHUNK_SZB more memory for LIR instructions.

void nanojit::LirBuffer::clear (  ) 
nanojit::LirBuffer::debug_only ( void validate() const ;   ) 
int32_t nanojit::LirBuffer::insCount (  ) 
uintptr_t nanojit::LirBuffer::makeRoom ( size_t  szB  ) 
void nanojit::LirBuffer::moveToNewChunk ( uintptr_t  addrOfLastLInsOnCurrentChunk  )  [protected]

Friends And Related Function Documentation

friend class LirBufWriter [friend]

Member Data Documentation

uintptr_t nanojit::LirBuffer::_limit [protected]
uintptr_t nanojit::LirBuffer::_unused [protected]
const size_t nanojit::LirBuffer::CHUNK_SZB = 8000 [static]

Each chunk is just a raw area of LIns instances, with no header and no more than 8-byte alignment.

The chunk size is somewhat arbitrary.


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