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

nanojit::Assembler Class Reference

Information about the activation record for the method is built up as we generate machine code. More...

#include <Assembler.h>

Collaboration diagram for nanojit::Assembler:

List of all members.

Public Member Functions

 Assembler (CodeAlloc &codeAlloc, Allocator &dataAlloc, Allocator &alloc, AvmCore *core, LogControl *logc)
void endAssembly (Fragment *frag)
void assemble (Fragment *frag, LirFilter *reader)
void beginAssembly (Fragment *frag)
void releaseRegisters ()
void patch (GuardRecord *lr)
void patch (SideExit *exit)
AssmError error ()
void setError (AssmError e)
void reset ()
 debug_only (void pageValidate();) debug_only(void resourceConsistencyCheck()
 debug_only (void registerConsistencyCheck();) Stats _stats

Public Attributes

CodeListcodeList

Static Public Attributes

static const Register savedRegs [NumSavedRegs]

Friends

class VerboseBlockReader

Detailed Description

Information about the activation record for the method is built up as we generate machine code.

As part of the prologue, we issue a stack adjustment instruction and then later patch the adjustment value. Temporary values can be placed into the AR as method calls are issued. Also LIR_alloc instructions will consume space.


Constructor & Destructor Documentation

nanojit::Assembler::Assembler ( CodeAlloc codeAlloc,
Allocator dataAlloc,
Allocator alloc,
AvmCore *  core,
LogControl *  logc 
)

Member Function Documentation

void nanojit::Assembler::assemble ( Fragment frag,
LirFilter reader 
)
void nanojit::Assembler::beginAssembly ( Fragment frag  ) 
nanojit::Assembler::debug_only ( void pageValidate();   ) 
nanojit::Assembler::debug_only ( void registerConsistencyCheck();   ) 
void nanojit::Assembler::endAssembly ( Fragment frag  ) 
AssmError nanojit::Assembler::error (  )  [inline]
void nanojit::Assembler::patch ( GuardRecord lr  ) 
void nanojit::Assembler::patch ( SideExit exit  ) 
void nanojit::Assembler::releaseRegisters (  ) 
void nanojit::Assembler::reset (  ) 
void nanojit::Assembler::setError ( AssmError  e  )  [inline]

Friends And Related Function Documentation

friend class VerboseBlockReader [friend]

Member Data Documentation

const Register nanojit::Assembler::savedRegs[NumSavedRegs] [static]

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