FreeBASIC  0.91.0
emit.bas File Reference
#include "fb.bi"
#include "fbint.bi"
#include "reg.bi"
#include "ir.bi"
#include "rtl.bi"
#include "emit.bi"
#include "symb.bi"
Include dependency graph for emit.bas:

Go to the source code of this file.

Functions

function_as_integer emitGasX86_ctor ()
 
function_as_integer emitInit ()
 
sub emitEnd ()
 
sub emitWriteStr (byval_as_const_zstring_ptr s, byval_as_integer addtab)
 
sub emitReset ()
 
private function_as_EMIT_NODE_ptr hOptSYMOP (byval_as_EMIT_NODE_ptr p, byval_as_EMIT_NODE_ptr n)
 
private sub hPeepHoleOpt ()
 
sub emitFlush ()
 
function_as_REGCLASS_ptr emitGetRegClass (byval_as_integer dclass)
 
private function_as_IRVREG_ptr hNewVR (byval_as_IRVREG_ptr v)
 
private function_as_EMIT_NODE_ptr hNewNode (byval_as_EMIT_NODECLASS_ENUM class_, byval_as_integer updatepos=TRUE)
 
private function_as_EMIT_NODE_ptr hNewBOP (byval_as_integer op, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private function_as_EMIT_NODE_ptr hNewUOP (byval_as_integer op, byval_as_IRVREG_ptr dvreg)
 
private function_as_EMIT_NODE_ptr hNewREL (byval_as_integer op, byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
private function_as_EMIT_NODE_ptr hNewSTK (byval_as_integer op, byval_as_IRVREG_ptr vreg, byval_as_integer extra=0)
 
private function_as_EMIT_NODE_ptr hNewBRANCH (byval_as_integer op, byval_as_IRVREG_ptr vreg, byval_as_FBSYMBOL_ptr sym, byval_as_integer extra=0)
 
private function_as_EMIT_NODE_ptr hNewSYMOP (byval_as_integer op, byval_as_FBSYMBOL_ptr sym)
 
private sub hNewLIT (byval_as_zstring_ptr text, byval_as_integer isasm)
 
private function_as_EMIT_NODE_ptr hNewMEM (byval_as_integer op, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg, byval_as_integer bytes, byval_as_integer extra=0)
 
private function_as_EMIT_NODE_ptr hNewDBG (byval_as_integer op, byval_as_FBSYMBOL_ptr sym, byval_as_integer lnum=0, byval_as_integer pos_=0)
 
function_as_EMIT_NODE_ptr emitLOAD (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitSTORE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitMOV (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitADD (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitSUB (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitMUL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitDIV (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitINTDIV (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitMOD (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitSHL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitSHR (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitAND (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitOR (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitXOR (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitEQV (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitIMP (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitATN2 (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitPOW (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitADDROF (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitDEREF (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitGT (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitLT (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitEQ (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitNE (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitGE (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitLE (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitNEG (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitNOT (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitHADD (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitABS (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitSGN (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitFIX (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitFRAC (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitCONVFD2FS (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitSIN (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitASIN (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitCOS (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitACOS (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitTAN (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitATAN (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitSQRT (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitRSQRT (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitRCP (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitLOG (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitEXP (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitFLOOR (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitXchgTOS (byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitSWZREP (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitSTACKALIGN (byval_as_integer bytes)
 
function_as_EMIT_NODE_ptr emitPUSH (byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitPOP (byval_as_IRVREG_ptr dvreg)
 
function_as_EMIT_NODE_ptr emitPUSHUDT (byval_as_IRVREG_ptr svreg, byval_as_integer sdsize)
 
sub emitCOMMENT (byval_as_zstring_ptr text)
 
sub emitASM (byval_as_zstring_ptr text)
 
function_as_EMIT_NODE_ptr emitJMPTB (byval_as_FBSYMBOL_ptr tbsym, byval_as_ulongint_ptr values1, byval_as_FBSYMBOL_ptr_ptr labels1, byval_as_integer labelcount, byval_as_FBSYMBOL_ptr deflabel, byval_as_ulongint minval, byval_as_ulongint maxval)
 
function_as_EMIT_NODE_ptr emitCALL (byval_as_FBSYMBOL_ptr label, byval_as_integer bytestopop)
 
function_as_EMIT_NODE_ptr emitCALLPTR (byval_as_IRVREG_ptr svreg, byval_as_integer bytestopop)
 
function_as_EMIT_NODE_ptr emitBRANCH (byval_as_integer op, byval_as_FBSYMBOL_ptr label)
 
function_as_EMIT_NODE_ptr emitJUMP (byval_as_FBSYMBOL_ptr label)
 
function_as_EMIT_NODE_ptr emitJUMPPTR (byval_as_IRVREG_ptr svreg)
 
function_as_EMIT_NODE_ptr emitRET (byval_as_integer bytestopop)
 
function_as_EMIT_NODE_ptr emitLABEL (byval_as_FBSYMBOL_ptr label)
 
function_as_EMIT_NODE_ptr emitPUBLIC (byval_as_FBSYMBOL_ptr label)
 
function_as_EMIT_NODE_ptr emitMEMMOVE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg, byval_as_integer bytes)
 
function_as_EMIT_NODE_ptr emitMEMSWAP (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg, byval_as_integer bytes)
 
function_as_EMIT_NODE_ptr emitMEMCLEAR (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr bytes_vreg)
 
function_as_EMIT_NODE_ptr emitSTKCLEAR (byval_as_integer bytes, byval_as_integer baseofs)
 
function_as_EMIT_NODE_ptr emitDBGLineBegin (byval_as_FBSYMBOL_ptr proc, byval_as_integer lnum)
 
function_as_EMIT_NODE_ptr emitDBGLineEnd (byval_as_FBSYMBOL_ptr proc, byval_as_integer lnum)
 
function_as_EMIT_NODE_ptr emitDBGScopeBegin (byval_as_FBSYMBOL_ptr sym)
 
function_as_EMIT_NODE_ptr emitDBGScopeEnd (byval_as_FBSYMBOL_ptr sym)
 

Variables

EMITCTX emit
 

Function Documentation

function_as_EMIT_NODE_ptr emitABS ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1101 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitACOS ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1197 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitADD ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 625 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitADDROF ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 872 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitAND ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 760 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitASIN ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1177 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub emitASM ( byval_as_zstring_ptr  text)

Definition at line 1379 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitATAN ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1217 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitATN2 ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 850 of file emit.bas.

Here is the call graph for this function:

function_as_EMIT_NODE_ptr emitBRANCH ( byval_as_integer  op,
byval_as_FBSYMBOL_ptr  label 
)

Definition at line 1450 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitCALL ( byval_as_FBSYMBOL_ptr  label,
byval_as_integer  bytestopop 
)

Definition at line 1428 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitCALLPTR ( byval_as_IRVREG_ptr  svreg,
byval_as_integer  bytestopop 
)

Definition at line 1439 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub emitCOMMENT ( byval_as_zstring_ptr  text)

Definition at line 1375 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitCONVFD2FS ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1161 of file emit.bas.

Here is the call graph for this function:

function_as_EMIT_NODE_ptr emitCOS ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1187 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitDBGLineBegin ( byval_as_FBSYMBOL_ptr  proc,
byval_as_integer  lnum 
)

Definition at line 1565 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitDBGLineEnd ( byval_as_FBSYMBOL_ptr  proc,
byval_as_integer  lnum 
)

Definition at line 1576 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitDBGScopeBegin ( byval_as_FBSYMBOL_ptr  sym)

Definition at line 1587 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitDBGScopeEnd ( byval_as_FBSYMBOL_ptr  sym)

Definition at line 1597 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitDEREF ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 883 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitDIV ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 691 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub emitEnd ( )

Definition at line 37 of file emit.bas.

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitEQ ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 946 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitEQV ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 814 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitEXP ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1267 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitFIX ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1143 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitFLOOR ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1277 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub emitFlush ( )

Definition at line 146 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitFRAC ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1153 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_integer emitGasX86_ctor ( )

Definition at line 6965 of file emit_x86.bas.

Here is the call graph for this function:

function_as_EMIT_NODE_ptr emitGE ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 994 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_REGCLASS_ptr emitGetRegClass ( byval_as_integer  dclass)

Definition at line 218 of file emit.bas.

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitGT ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 898 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitHADD ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1084 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitIMP ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 832 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_integer emitInit ( )

Definition at line 21 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitINTDIV ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 702 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitJMPTB ( byval_as_FBSYMBOL_ptr  tbsym,
byval_as_ulongint_ptr  values1,
byval_as_FBSYMBOL_ptr_ptr  labels1,
byval_as_integer  labelcount,
byval_as_FBSYMBOL_ptr  deflabel,
byval_as_ulongint  minval,
byval_as_ulongint  maxval 
)

Definition at line 1389 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitJUMP ( byval_as_FBSYMBOL_ptr  label)

Definition at line 1461 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitJUMPPTR ( byval_as_IRVREG_ptr  svreg)

Definition at line 1471 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitLABEL ( byval_as_FBSYMBOL_ptr  label)

Definition at line 1490 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitLE ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 1018 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitLOAD ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 481 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitLOG ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1257 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitLT ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 922 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitMEMCLEAR ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  bytes_vreg 
)

Definition at line 1539 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitMEMMOVE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg,
byval_as_integer  bytes 
)

Definition at line 1515 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitMEMSWAP ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg,
byval_as_integer  bytes 
)

Definition at line 1527 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitMOD ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 713 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitMOV ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 603 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitMUL ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 669 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitNE ( byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 970 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitNEG ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1046 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitNOT ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1067 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitOR ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 778 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitPOP ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1341 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitPOW ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 861 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitPUBLIC ( byval_as_FBSYMBOL_ptr  label)

Definition at line 1500 of file emit.bas.

Here is the call graph for this function:

function_as_EMIT_NODE_ptr emitPUSH ( byval_as_IRVREG_ptr  svreg)

Definition at line 1320 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitPUSHUDT ( byval_as_IRVREG_ptr  svreg,
byval_as_integer  sdsize 
)

Definition at line 1362 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitRCP ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1247 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub emitReset ( )

Definition at line 71 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitRET ( byval_as_integer  bytestopop)

Definition at line 1479 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitRSQRT ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1237 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitSGN ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1122 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitSHL ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 724 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitSHR ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 742 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitSIN ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1167 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitSQRT ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1227 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitSTACKALIGN ( byval_as_integer  bytes)

Definition at line 1309 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitSTKCLEAR ( byval_as_integer  bytes,
byval_as_integer  baseofs 
)

Definition at line 1550 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitSTORE ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 540 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitSUB ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 647 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitSWZREP ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1297 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitTAN ( byval_as_IRVREG_ptr  dvreg)

Definition at line 1207 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

sub emitWriteStr ( byval_as_const_zstring_ptr  s,
byval_as_integer  addtab 
)

Definition at line 48 of file emit.bas.

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitXchgTOS ( byval_as_IRVREG_ptr  svreg)

Definition at line 1287 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

function_as_EMIT_NODE_ptr emitXOR ( byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 796 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_EMIT_NODE_ptr hNewBOP ( byval_as_integer  op,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 299 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_EMIT_NODE_ptr hNewBRANCH ( byval_as_integer  op,
byval_as_IRVREG_ptr  vreg,
byval_as_FBSYMBOL_ptr  sym,
byval_as_integer  extra = 0 
)

Definition at line 381 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_EMIT_NODE_ptr hNewDBG ( byval_as_integer  op,
byval_as_FBSYMBOL_ptr  sym,
byval_as_integer  lnum = 0,
byval_as_integer  pos_ = 0 
)

Definition at line 455 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub hNewLIT ( byval_as_zstring_ptr  text,
byval_as_integer  isasm 
)

Definition at line 419 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_EMIT_NODE_ptr hNewMEM ( byval_as_integer  op,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg,
byval_as_integer  bytes,
byval_as_integer  extra = 0 
)

Definition at line 431 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_EMIT_NODE_ptr hNewNode ( byval_as_EMIT_NODECLASS_ENUM  class_,
byval_as_integer  updatepos = TRUE 
)

Definition at line 272 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_EMIT_NODE_ptr hNewREL ( byval_as_integer  op,
byval_as_IRVREG_ptr  rvreg,
byval_as_FBSYMBOL_ptr  label,
byval_as_IRVREG_ptr  dvreg,
byval_as_IRVREG_ptr  svreg 
)

Definition at line 337 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_EMIT_NODE_ptr hNewSTK ( byval_as_integer  op,
byval_as_IRVREG_ptr  vreg,
byval_as_integer  extra = 0 
)

Definition at line 361 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_EMIT_NODE_ptr hNewSYMOP ( byval_as_integer  op,
byval_as_FBSYMBOL_ptr  sym 
)

Definition at line 403 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_EMIT_NODE_ptr hNewUOP ( byval_as_integer  op,
byval_as_IRVREG_ptr  dvreg 
)

Definition at line 319 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_IRVREG_ptr hNewVR ( byval_as_IRVREG_ptr  v)

Definition at line 232 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_EMIT_NODE_ptr hOptSYMOP ( byval_as_EMIT_NODE_ptr  p,
byval_as_EMIT_NODE_ptr  n 
)

Definition at line 88 of file emit.bas.

Here is the caller graph for this function:

private sub hPeepHoleOpt ( )

Definition at line 116 of file emit.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

Variable Documentation

EMITCTX emit

Definition at line 19 of file emit.bas.