#include <LIR.h>
Collaboration diagram for nanojit::LirBuffer: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 |
| LIns * | state |
| LIns * | param1 |
| LIns * | sp |
| LIns * | rp |
| LIns * | savedRegs [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 |
| nanojit::LirBuffer::LirBuffer | ( | Allocator & | alloc | ) |
| 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] |
friend class LirBufWriter [friend] |
Allocator& nanojit::LirBuffer::_allocator [protected] |
uintptr_t nanojit::LirBuffer::_limit [protected] |
| struct { ... } nanojit::LirBuffer::_stats |
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.
| uint32_t nanojit::LirBuffer::lir |
| LIns* nanojit::LirBuffer::savedRegs[NumSavedRegs+1] |
1.7.1