FreeBASIC
0.91.0
|
#include "fb.bi"
#include "fbint.bi"
#include "reg.bi"
#include "ir.bi"
#include "rtl.bi"
#include "emit.bi"
#include "emitdbg.bi"
#include "hash.bi"
#include "symb.bi"
#include "emit-private.bi"
Go to the source code of this file.
Macros | |
#define | hEmitBssHeader() /* _setSection( IR_SECTION_BSS, 0 ) */ |
#define | hEmitConstHeader() /* _setSection( IR_SECTION_CONST, 0 ) */ |
#define | hEmitConstHeader() /* _setSection( IR_SECTION_DATA, 0 ) */ |
#define | hEmitDataHeader() /* _setSection( IR_SECTION_DATA, 0 ) */ |
#define | hEmitExportHeader() /* _setSection( IR_SECTION_DIRECTIVE, 0 ) */ |
#define | EMIT_CBENTRY(op) /* @_emit##op## */ |
Functions | |
sub | hDeclVariable (byval_as_FBSYMBOL_ptr s) |
function_as_const_zstring_ptr | _getSectionString (byval_as_integer section, byval_as_integer priority) |
sub | _setSection (byval_as_integer section, byval_as_integer priority) |
function_as_const_zstring_ptr | _getTypeString (byval_as_integer dtype) |
function_as_string | emitDumpRegName (byval_as_integer dtype, byval_as_integer reg) |
function_as_integer | hIsRegFree (byval_as_integer dclass, byval_as_integer reg) |
function_as_integer | hFindRegNotInVreg (byval_as_IRVREG_ptr vreg, byval_as_integer noSIDI=FALSE) |
function_as_integer | hFindFreeReg (byval_as_integer dclass) |
function_as_integer | hIsRegInVreg (byval_as_IRVREG_ptr vreg, byval_as_integer reg) |
function_as_zstring_ptr | hGetRegName (byval_as_integer dtype, byval_as_integer reg) |
private function_as_zstring_ptr | hGetIdxName (byval_as_IRVREG_ptr vreg) |
sub | hPrepOperand (byval_as_IRVREG_ptr vreg, byref_as_string operand, byval_as_FB_DATATYPE dtype=FB_DATATYPE_INVALID, byval_as_integer ofs=0, byval_as_integer isaux=FALSE, byval_as_integer addprefix=TRUE) |
sub | hPrepOperand64 (byval_as_IRVREG_ptr vreg, byref_as_string operand1, byref_as_string operand2) |
private sub | outEx (byval_as_zstring_ptr s, byval_as_integer bytes=0) |
sub | outp (byval_as_zstring_ptr s) |
sub | hBRANCH (byval_as_zstring_ptr mnemonic, byval_as_zstring_ptr label) |
sub | hPUSH (byval_as_zstring_ptr rname) |
sub | hPOP (byval_as_zstring_ptr rname) |
sub | hMOV (byval_as_zstring_ptr dname, byval_as_zstring_ptr sname) |
private sub | hXCHG (byval_as_zstring_ptr dname, byval_as_zstring_ptr sname) |
private sub | hCOMMENT (byval_as_zstring_ptr s) |
private sub | hPUBLIC (byval_as_zstring_ptr label, byval_as_integer isexport) |
sub | hLABEL (byval_as_zstring_ptr label) |
private sub | hALIGN (byval_as_integer bytes) |
private sub | hInitRegTB (void) |
private sub | hEndRegTB (void) |
private sub | hInitKeywordsTB (void) |
private sub | hEndKeywordsTB (void) |
private sub | hEmitVarBss (byval_as_FBSYMBOL_ptr s) |
private sub | hWriteHeader () |
private sub | hWriteBss (byval_as_FBSYMBOL_ptr s) |
private sub | hEmitVarConst (byval_as_FBSYMBOL_ptr s) |
private sub | hWriteConst (byval_as_FBSYMBOL_ptr s) |
private sub | hWriteData (byval_as_FBSYMBOL_ptr s) |
private sub | hWriteCtor (byval_as_FB_GLOBCTORLIST_ITEM_ptr proc_head, byval_as_integer is_ctor) |
private sub | hEmitExport (byval_as_FBSYMBOL_ptr s) |
private sub | hWriteExport (byval_as_FBSYMBOL_ptr s) |
private sub | hClearLocals (byval_as_integer bytestoclear, byval_as_integer baseoffset) |
private sub | hCreateFrame (byval_as_FBSYMBOL_ptr proc) |
private sub | hDestroyFrame (byval_as_FBSYMBOL_ptr proc, byval_as_integer bytestopop) |
private sub | _emitLIT (byval_as_zstring_ptr s) |
private sub | _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) |
private sub | _emitCALL (byval_as_IRVREG_ptr unused, byval_as_FBSYMBOL_ptr label, byval_as_integer bytestopop) |
private sub | _emitCALLPTR (byval_as_IRVREG_ptr svreg, byval_as_FBSYMBOL_ptr unused, byval_as_integer bytestopop) |
private sub | _emitBRANCH (byval_as_IRVREG_ptr unused, byval_as_FBSYMBOL_ptr label, byval_as_integer op) |
private sub | _emitJUMP (byval_as_IRVREG_ptr unused1, byval_as_FBSYMBOL_ptr label, byval_as_integer unused2) |
private sub | _emitJUMPPTR (byval_as_IRVREG_ptr svreg, byval_as_FBSYMBOL_ptr unused1, byval_as_integer unused2) |
private sub | _emitRET (byval_as_IRVREG_ptr vreg) |
private sub | _emitPUBLIC (byval_as_FBSYMBOL_ptr label) |
private sub | _emitLABEL (byval_as_FBSYMBOL_ptr label) |
private sub | _emitNOP () |
private sub | hULONG2DBL (byval_as_IRVREG_ptr svreg) |
private sub | _emitSTORL2L (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSTORI2L (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSTORF2L (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSTORI2I (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSTORL2I (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSTORF2I (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSTORL2F (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSTORI2F (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSTORF2F (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitLOADL2L (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitLOADI2L (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitLOADF2L (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitLOADI2I (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitLOADL2I (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitLOADF2I (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitLOADL2F (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitLOADI2F (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitLOADF2F (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitMOVL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitMOVI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitMOVF (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitADDL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitADDI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitADDF (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSUBL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSUBI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSUBF (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitMULL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitMULI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitMULF (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitDIVF (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitDIVI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitMODI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | hSHIFTL (byval_as_integer op, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | hSHIFTI (byval_as_integer op, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSHLL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSHLI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSHRL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitSHRI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitANDL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitANDI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitORL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitORI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitXORL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitXORI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitEQVL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitEQVI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitIMPL (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitIMPI (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitATN2 (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitPOW (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | hCMPL (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_zstring_ptr mnemonic, byval_as_zstring_ptr rev_mnemonic, byval_as_zstring_ptr usg_mnemonic, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg, byval_as_integer isinverse=FALSE) |
private sub | hCMPI (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_zstring_ptr mnemonic, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | hCMPF (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_zstring_ptr mnemonic, byval_as_zstring_ptr mask, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCGTL (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCGTI (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCGTF (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCLTL (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCLTI (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCLTF (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCEQL (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCEQI (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCEQF (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCNEL (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCNEI (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCNEF (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCLEL (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCLEI (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCLEF (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCGEL (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCGEI (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitCGEF (byval_as_IRVREG_ptr rvreg, byval_as_FBSYMBOL_ptr label, byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitNEGL (byval_as_IRVREG_ptr dvreg) |
private sub | _emitNEGI (byval_as_IRVREG_ptr dvreg) |
private sub | _emitNEGF (byval_as_IRVREG_ptr dvreg) |
private sub | _emitNOTL (byval_as_IRVREG_ptr dvreg) |
private sub | _emitNOTI (byval_as_IRVREG_ptr dvreg) |
private sub | _emitABSL (byval_as_IRVREG_ptr dvreg) |
private sub | _emitABSI (byval_as_IRVREG_ptr dvreg) |
private sub | _emitABSF (byval_as_IRVREG_ptr dvreg) |
private sub | _emitSGNL (byval_as_IRVREG_ptr dvreg) |
private sub | _emitSGNI (byval_as_IRVREG_ptr dvreg) |
private sub | _emitSGNF (byval_as_IRVREG_ptr dvreg) |
private sub | _emitSIN (byval_as_IRVREG_ptr dvreg) |
private sub | _emitASIN (byval_as_IRVREG_ptr dvreg) |
private sub | _emitCOS (byval_as_IRVREG_ptr dvreg) |
private sub | _emitACOS (byval_as_IRVREG_ptr dvreg) |
private sub | _emitTAN (byval_as_IRVREG_ptr dvreg) |
private sub | _emitATAN (byval_as_IRVREG_ptr dvreg) |
private sub | _emitSQRT (byval_as_IRVREG_ptr dvreg) |
private sub | _emitLOG (byval_as_IRVREG_ptr dvreg) |
private sub | _emitEXP (byval_as_IRVREG_ptr dvreg) |
private sub | hFpuChangeRC (byref_as_string regname, byval_as_zstring_ptr mode) |
private sub | hEmitFloatFunc (byval_as_integer func) |
private sub | _emitFLOOR (byval_as_IRVREG_ptr dvreg) |
private sub | _emitFIX (byval_as_IRVREG_ptr dvreg) |
private sub | _emitFRAC (byval_as_IRVREG_ptr dvreg) |
private sub | _emitCONVFD2FS (byval_as_IRVREG_ptr dvreg) |
private sub | _emitXchgTOS (byval_as_IRVREG_ptr svreg) |
private sub | _emitSTACKALIGN (byval_as_IRVREG_ptr vreg, byval_as_integer unused) |
private sub | _emitPUSHL (byval_as_IRVREG_ptr svreg, byval_as_integer unused) |
private sub | _emitPUSHI (byval_as_IRVREG_ptr svreg, byval_as_integer unused) |
private sub | _emitPUSHF (byval_as_IRVREG_ptr svreg, byval_as_integer unused) |
private sub | _emitPUSHUDT (byval_as_IRVREG_ptr svreg, byval_as_integer sdsize) |
private sub | _emitPOPL (byval_as_IRVREG_ptr dvreg, byval_as_integer unused) |
private sub | _emitPOPI (byval_as_IRVREG_ptr dvreg, byval_as_integer unused) |
private sub | _emitPOPF (byval_as_IRVREG_ptr dvreg, byval_as_integer unused) |
private sub | _emitADDROF (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | _emitDEREF (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg) |
private sub | hMemMoveRep (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg, byval_as_integer bytes) |
private sub | hMemMoveBlk (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg, byval_as_integer bytes) |
private sub | _emitMEMMOVE (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg, byval_as_integer bytes, byval_as_integer extra) |
private sub | _emitMEMSWAP (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg, byval_as_integer bytes, byval_as_integer extra) |
private sub | hMemClearRepIMM (byval_as_IRVREG_ptr dvreg, byval_as_ulong bytes) |
private sub | hMemClearBlkIMM (byval_as_IRVREG_ptr dvreg, byval_as_ulong bytes) |
private sub | hMemClear (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr bytes_vreg) |
private sub | _emitMEMCLEAR (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg, byval_as_integer unused, byval_as_integer extra) |
private sub | _emitSTKCLEAR (byval_as_IRVREG_ptr dvreg, byval_as_IRVREG_ptr svreg, byval_as_integer bytes, byval_as_integer baseofs) |
private sub | _emitLINEINI (byval_as_FBSYMBOL_ptr proc, byval_as_integer lnum, byval_as_integer pos_) |
private sub | _emitLINEEND (byval_as_FBSYMBOL_ptr proc, byval_as_integer lnum, byval_as_integer pos_) |
private sub | _emitSCOPEINI (byval_as_FBSYMBOL_ptr sym, byval_as_integer lnum, byval_as_integer pos_) |
private sub | _emitSCOPEEND (byval_as_FBSYMBOL_ptr sym, byval_as_integer lnum, byval_as_integer pos_) |
sub | emitVARINIBEGIN (byval_as_FBSYMBOL_ptr sym) |
sub | emitVARINIi (byval_as_integer dtype, byval_as_integer value) |
sub | emitVARINIf (byval_as_integer dtype, byval_as_double value) |
sub | emitVARINI64 (byval_as_integer dtype, byval_as_longint value) |
sub | emitVARINIOFS (byval_as_zstring_ptr sname, byval_as_integer ofs) |
sub | emitVARINISTR (byval_as_const_zstring_ptr s) |
sub | emitVARINIWSTR (byval_as_zstring_ptr s) |
sub | emitVARINIPAD (byval_as_integer bytes) |
sub | emitFBCTINFBEGIN () |
sub | emitFBCTINFSTRING (byval_as_zstring_ptr s) |
sub | emitFBCTINFEND () |
private function_as_integer | _init () |
private sub | _end (void) |
private function_as_integer | _getOptionValue (byval_as_IR_OPTIONVALUE opt) |
private function_as_integer | _open () |
private sub | _close (byval_as_double tottime) |
private function_as_const_zstring_ptr | _procGetFrameRegName () |
private function_as_integer | _isRegPreserved (byval_as_integer dclass, byval_as_integer reg) |
private sub | _getResultReg (byval_as_integer dtype, byval_as_integer dclass, byref_as_integer r1, byref_as_integer r2) |
private function_as_integer | _getFreePreservedReg (byval_as_integer dclass, byval_as_integer dtype) |
private function_as_integer | _isKeyword (byval_as_zstring_ptr text) |
private sub | _procBegin (byval_as_FBSYMBOL_ptr proc) |
private sub | _procEnd (byval_as_FBSYMBOL_ptr proc) |
private sub | _procAllocStaticVars (byval_as_FBSYMBOL_ptr s) |
private sub | _procAllocLocal (byval_as_FBSYMBOL_ptr proc, byval_as_FBSYMBOL_ptr sym) |
private sub | _procAllocArg (byval_as_FBSYMBOL_ptr proc, byval_as_FBSYMBOL_ptr sym) |
private sub | _procHeader (byval_as_FBSYMBOL_ptr proc, byval_as_FBSYMBOL_ptr initlabel) |
private sub | _procFooter (byval_as_FBSYMBOL_ptr proc, byval_as_integer bytestopop, byval_as_FBSYMBOL_ptr initlabel, byval_as_FBSYMBOL_ptr exitlabel) |
private sub | _scopeBegin (byval_as_FBSYMBOL_ptr s) |
private sub | _scopeEnd (byval_as_FBSYMBOL_ptr s) |
function_as_integer | emitGasX86_ctor () |
Variables | |
zstring | rnameTB [toEMIT_MAXRTABLES+1][toEMIT_MAXRNAMES+1] => |
EMITDATATYPE | dtypeTB [toFB_DATATYPES+1] => |
const VAR | EMIT_MAXKEYWORDS = 600 |
const_zstring_ptr | keywordTb [toEMIT_MAXKEYWORDS+1] => |
any_ptr | _opFnTB [toEMIT_MAXOPS+1] => |
Definition at line 6330 of file emit_x86.bas.
#define hEmitBssHeader | ( | ) | /* _setSection( IR_SECTION_BSS, 0 ) */ |
Definition at line 148 of file emit_x86.bas.
#define hEmitConstHeader | ( | ) | /* _setSection( IR_SECTION_CONST, 0 ) */ |
Definition at line 160 of file emit_x86.bas.
#define hEmitConstHeader | ( | ) | /* _setSection( IR_SECTION_DATA, 0 ) */ |
Definition at line 160 of file emit_x86.bas.
#define hEmitDataHeader | ( | ) | /* _setSection( IR_SECTION_DATA, 0 ) */ |
Definition at line 164 of file emit_x86.bas.
#define hEmitExportHeader | ( | ) | /* _setSection( IR_SECTION_DIRECTIVE, 0 ) */ |
Definition at line 167 of file emit_x86.bas.
private sub _close | ( | byval_as_double | tottime) |
private sub _emitABSF | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitABSI | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitABSL | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitACOS | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitADDF | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitADDI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitADDL | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitADDROF | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitANDI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitANDL | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitASIN | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitATAN | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitATN2 | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitBRANCH | ( | byval_as_IRVREG_ptr | unused, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_integer | op | ||
) |
private sub _emitCALL | ( | byval_as_IRVREG_ptr | unused, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_integer | bytestopop | ||
) |
private sub _emitCALLPTR | ( | byval_as_IRVREG_ptr | svreg, |
byval_as_FBSYMBOL_ptr | unused, | ||
byval_as_integer | bytestopop | ||
) |
private sub _emitCEQF | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCEQI | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCEQL | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCGEF | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCGEI | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCGEL | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCGTF | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCGTI | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCGTL | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCLEF | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCLEI | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCLEL | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCLTF | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCLTI | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCLTL | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCNEF | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCNEI | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCNEL | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitCONVFD2FS | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitCOS | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitDEREF | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitDIVF | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitDIVI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitEQVI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitEQVL | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitEXP | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitFIX | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitFLOOR | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitFRAC | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitIMPI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitIMPL | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _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 | ||
) |
private sub _emitJUMP | ( | byval_as_IRVREG_ptr | unused1, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_integer | unused2 | ||
) |
private sub _emitJUMPPTR | ( | byval_as_IRVREG_ptr | svreg, |
byval_as_FBSYMBOL_ptr | unused1, | ||
byval_as_integer | unused2 | ||
) |
private sub _emitLABEL | ( | byval_as_FBSYMBOL_ptr | label) |
private sub _emitLINEEND | ( | byval_as_FBSYMBOL_ptr | proc, |
byval_as_integer | lnum, | ||
byval_as_integer | pos_ | ||
) |
private sub _emitLINEINI | ( | byval_as_FBSYMBOL_ptr | proc, |
byval_as_integer | lnum, | ||
byval_as_integer | pos_ | ||
) |
private sub _emitLIT | ( | byval_as_zstring_ptr | s) |
private sub _emitLOADF2F | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitLOADF2I | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitLOADF2L | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitLOADI2F | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitLOADI2I | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitLOADI2L | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitLOADL2F | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitLOADL2I | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
Definition at line 2437 of file emit_x86.bas.
private sub _emitLOADL2L | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitLOG | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitMEMCLEAR | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg, | ||
byval_as_integer | unused, | ||
byval_as_integer | extra | ||
) |
private sub _emitMEMMOVE | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg, | ||
byval_as_integer | bytes, | ||
byval_as_integer | extra | ||
) |
private sub _emitMEMSWAP | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg, | ||
byval_as_integer | bytes, | ||
byval_as_integer | extra | ||
) |
Definition at line 5951 of file emit_x86.bas.
private sub _emitMODI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitMOVF | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
Definition at line 2808 of file emit_x86.bas.
private sub _emitMOVI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitMOVL | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitMULF | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitMULI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitMULL | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitNEGF | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitNEGI | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitNEGL | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitNOP | ( | ) |
Definition at line 1601 of file emit_x86.bas.
private sub _emitNOTI | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitNOTL | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitORI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitORL | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitPOPF | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_integer | unused | ||
) |
private sub _emitPOPI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_integer | unused | ||
) |
private sub _emitPOPL | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_integer | unused | ||
) |
private sub _emitPOW | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitPUBLIC | ( | byval_as_FBSYMBOL_ptr | label) |
private sub _emitPUSHF | ( | byval_as_IRVREG_ptr | svreg, |
byval_as_integer | unused | ||
) |
private sub _emitPUSHI | ( | byval_as_IRVREG_ptr | svreg, |
byval_as_integer | unused | ||
) |
private sub _emitPUSHL | ( | byval_as_IRVREG_ptr | svreg, |
byval_as_integer | unused | ||
) |
private sub _emitPUSHUDT | ( | byval_as_IRVREG_ptr | svreg, |
byval_as_integer | sdsize | ||
) |
private sub _emitRET | ( | byval_as_IRVREG_ptr | vreg) |
private sub _emitSCOPEEND | ( | byval_as_FBSYMBOL_ptr | sym, |
byval_as_integer | lnum, | ||
byval_as_integer | pos_ | ||
) |
private sub _emitSCOPEINI | ( | byval_as_FBSYMBOL_ptr | sym, |
byval_as_integer | lnum, | ||
byval_as_integer | pos_ | ||
) |
private sub _emitSGNF | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitSGNI | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitSGNL | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitSHLI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSHLL | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSHRI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSHRL | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSIN | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitSQRT | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitSTACKALIGN | ( | byval_as_IRVREG_ptr | vreg, |
byval_as_integer | unused | ||
) |
private sub _emitSTKCLEAR | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg, | ||
byval_as_integer | bytes, | ||
byval_as_integer | baseofs | ||
) |
private sub _emitSTORF2F | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSTORF2I | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSTORF2L | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSTORI2F | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSTORI2I | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSTORI2L | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSTORL2F | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSTORL2I | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
Definition at line 1841 of file emit_x86.bas.
private sub _emitSTORL2L | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSUBF | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSUBI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitSUBL | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitTAN | ( | byval_as_IRVREG_ptr | dvreg) |
private sub _emitXchgTOS | ( | byval_as_IRVREG_ptr | svreg) |
private sub _emitXORI | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _emitXORL | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg | ||
) |
private sub _end | ( | void | ) |
private function_as_integer _getFreePreservedReg | ( | byval_as_integer | dclass, |
byval_as_integer | dtype | ||
) |
Definition at line 6617 of file emit_x86.bas.
private function_as_integer _getOptionValue | ( | byval_as_IR_OPTIONVALUE | opt) |
private sub _getResultReg | ( | byval_as_integer | dtype, |
byval_as_integer | dclass, | ||
byref_as_integer | r1, | ||
byref_as_integer | r2 | ||
) |
Definition at line 6594 of file emit_x86.bas.
private function_as_const_zstring_ptr _getSectionString | ( | byval_as_integer | section, |
byval_as_integer | priority | ||
) |
Definition at line 6881 of file emit_x86.bas.
private function_as_const_zstring_ptr _getTypeString | ( | byval_as_integer | dtype) |
private function_as_integer _init | ( | ) |
private function_as_integer _isKeyword | ( | byval_as_zstring_ptr | text) |
private function_as_integer _isRegPreserved | ( | byval_as_integer | dclass, |
byval_as_integer | reg | ||
) |
Definition at line 6573 of file emit_x86.bas.
private function_as_integer _open | ( | ) |
private sub _procAllocArg | ( | byval_as_FBSYMBOL_ptr | proc, |
byval_as_FBSYMBOL_ptr | sym | ||
) |
Definition at line 6726 of file emit_x86.bas.
private sub _procAllocLocal | ( | byval_as_FBSYMBOL_ptr | proc, |
byval_as_FBSYMBOL_ptr | sym | ||
) |
Definition at line 6704 of file emit_x86.bas.
private sub _procAllocStaticVars | ( | byval_as_FBSYMBOL_ptr | s) |
Definition at line 6684 of file emit_x86.bas.
private sub _procBegin | ( | byval_as_FBSYMBOL_ptr | proc) |
private sub _procEnd | ( | byval_as_FBSYMBOL_ptr | proc) |
private sub _procFooter | ( | byval_as_FBSYMBOL_ptr | proc, |
byval_as_integer | bytestopop, | ||
byval_as_FBSYMBOL_ptr | initlabel, | ||
byval_as_FBSYMBOL_ptr | exitlabel | ||
) |
private function_as_const_zstring_ptr _procGetFrameRegName | ( | ) |
Definition at line 6562 of file emit_x86.bas.
private sub _procHeader | ( | byval_as_FBSYMBOL_ptr | proc, |
byval_as_FBSYMBOL_ptr | initlabel | ||
) |
private sub _scopeBegin | ( | byval_as_FBSYMBOL_ptr | s) |
private sub _scopeEnd | ( | byval_as_FBSYMBOL_ptr | s) |
private sub _setSection | ( | byval_as_integer | section, |
byval_as_integer | priority | ||
) |
Definition at line 6831 of file emit_x86.bas.
function_as_string emitDumpRegName | ( | byval_as_integer | dtype, |
byval_as_integer | reg | ||
) |
Definition at line 170 of file emit_x86.bas.
sub emitFBCTINFBEGIN | ( | ) |
Definition at line 6311 of file emit_x86.bas.
sub emitFBCTINFEND | ( | ) |
Definition at line 6322 of file emit_x86.bas.
sub emitFBCTINFSTRING | ( | byval_as_zstring_ptr | s) |
Definition at line 6315 of file emit_x86.bas.
function_as_integer emitGasX86_ctor | ( | ) |
sub emitVARINI64 | ( | byval_as_integer | dtype, |
byval_as_longint | value | ||
) |
sub emitVARINIBEGIN | ( | byval_as_FBSYMBOL_ptr | sym) |
Definition at line 6241 of file emit_x86.bas.
sub emitVARINIf | ( | byval_as_integer | dtype, |
byval_as_double | value | ||
) |
Definition at line 6267 of file emit_x86.bas.
sub emitVARINIi | ( | byval_as_integer | dtype, |
byval_as_integer | value | ||
) |
Definition at line 6263 of file emit_x86.bas.
sub emitVARINIOFS | ( | byval_as_zstring_ptr | sname, |
byval_as_integer | ofs | ||
) |
Definition at line 6276 of file emit_x86.bas.
sub emitVARINIPAD | ( | byval_as_integer | bytes) |
Definition at line 6307 of file emit_x86.bas.
sub emitVARINISTR | ( | byval_as_const_zstring_ptr | s) |
Definition at line 6288 of file emit_x86.bas.
sub emitVARINIWSTR | ( | byval_as_zstring_ptr | s) |
Definition at line 6296 of file emit_x86.bas.
private sub hALIGN | ( | byval_as_integer | bytes) |
Definition at line 734 of file emit_x86.bas.
sub hBRANCH | ( | byval_as_zstring_ptr | mnemonic, |
byval_as_zstring_ptr | label | ||
) |
Definition at line 598 of file emit_x86.bas.
private sub hClearLocals | ( | byval_as_integer | bytestoclear, |
byval_as_integer | baseoffset | ||
) |
Definition at line 1203 of file emit_x86.bas.
private sub hCMPF | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_zstring_ptr | mnemonic, | ||
byval_as_zstring_ptr | mask, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
Definition at line 4394 of file emit_x86.bas.
private sub hCMPI | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_zstring_ptr | mnemonic, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
Definition at line 4293 of file emit_x86.bas.
private sub hCMPL | ( | byval_as_IRVREG_ptr | rvreg, |
byval_as_FBSYMBOL_ptr | label, | ||
byval_as_zstring_ptr | mnemonic, | ||
byval_as_zstring_ptr | rev_mnemonic, | ||
byval_as_zstring_ptr | usg_mnemonic, | ||
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg, | ||
byval_as_integer | isinverse = FALSE |
||
) |
Definition at line 4227 of file emit_x86.bas.
private sub hCOMMENT | ( | byval_as_zstring_ptr | s) |
Definition at line 676 of file emit_x86.bas.
private sub hCreateFrame | ( | byval_as_FBSYMBOL_ptr | proc) |
Definition at line 1278 of file emit_x86.bas.
private sub hDeclVariable | ( | byval_as_FBSYMBOL_ptr | s) |
Definition at line 1123 of file emit_x86.bas.
private sub hDestroyFrame | ( | byval_as_FBSYMBOL_ptr | proc, |
byval_as_integer | bytestopop | ||
) |
Definition at line 1345 of file emit_x86.bas.
private sub hEmitExport | ( | byval_as_FBSYMBOL_ptr | s) |
Definition at line 1077 of file emit_x86.bas.
private sub hEmitFloatFunc | ( | byval_as_integer | func) |
Definition at line 5240 of file emit_x86.bas.
private sub hEmitVarBss | ( | byval_as_FBSYMBOL_ptr | s) |
Definition at line 855 of file emit_x86.bas.
private sub hEmitVarConst | ( | byval_as_FBSYMBOL_ptr | s) |
Definition at line 948 of file emit_x86.bas.
private sub hEndKeywordsTB | ( | void | ) |
Definition at line 843 of file emit_x86.bas.
private sub hEndRegTB | ( | void | ) |
Definition at line 805 of file emit_x86.bas.
function_as_integer hFindFreeReg | ( | byval_as_integer | dclass) |
Definition at line 296 of file emit_x86.bas.
function_as_integer hFindRegNotInVreg | ( | byval_as_IRVREG_ptr | vreg, |
byval_as_integer | noSIDI = FALSE |
||
) |
Definition at line 208 of file emit_x86.bas.
private sub hFpuChangeRC | ( | byref_as_string | regname, |
byval_as_zstring_ptr | mode | ||
) |
Definition at line 5227 of file emit_x86.bas.
private function_as_zstring_ptr hGetIdxName | ( | byval_as_IRVREG_ptr | vreg) |
Definition at line 361 of file emit_x86.bas.
function_as_zstring_ptr hGetRegName | ( | byval_as_integer | dtype, |
byval_as_integer | reg | ||
) |
private sub hInitKeywordsTB | ( | void | ) |
Definition at line 815 of file emit_x86.bas.
private sub hInitRegTB | ( | void | ) |
Definition at line 746 of file emit_x86.bas.
function_as_integer hIsRegFree | ( | byval_as_integer | dclass, |
byval_as_integer | reg | ||
) |
function_as_integer hIsRegInVreg | ( | byval_as_IRVREG_ptr | vreg, |
byval_as_integer | reg | ||
) |
sub hLABEL | ( | byval_as_zstring_ptr | label) |
private sub hMemClear | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | bytes_vreg | ||
) |
Definition at line 6073 of file emit_x86.bas.
private sub hMemClearBlkIMM | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_ulong | bytes | ||
) |
Definition at line 6040 of file emit_x86.bas.
private sub hMemClearRepIMM | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_ulong | bytes | ||
) |
Definition at line 5964 of file emit_x86.bas.
private sub hMemMoveBlk | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg, | ||
byval_as_integer | bytes | ||
) |
Definition at line 5872 of file emit_x86.bas.
private sub hMemMoveRep | ( | byval_as_IRVREG_ptr | dvreg, |
byval_as_IRVREG_ptr | svreg, | ||
byval_as_integer | bytes | ||
) |
Definition at line 5757 of file emit_x86.bas.
sub hMOV | ( | byval_as_zstring_ptr | dname, |
byval_as_zstring_ptr | sname | ||
) |
Definition at line 642 of file emit_x86.bas.
sub hPOP | ( | byval_as_zstring_ptr | rname) |
Definition at line 628 of file emit_x86.bas.
sub hPrepOperand | ( | byval_as_IRVREG_ptr | vreg, |
byref_as_string | operand, | ||
byval_as_FB_DATATYPE | dtype = FB_DATATYPE_INVALID , |
||
byval_as_integer | ofs = 0 , |
||
byval_as_integer | isaux = FALSE , |
||
byval_as_integer | addprefix = TRUE |
||
) |
sub hPrepOperand64 | ( | byval_as_IRVREG_ptr | vreg, |
byref_as_string | operand1, | ||
byref_as_string | operand2 | ||
) |
private sub hPUBLIC | ( | byval_as_zstring_ptr | label, |
byval_as_integer | isexport | ||
) |
Definition at line 691 of file emit_x86.bas.
sub hPUSH | ( | byval_as_zstring_ptr | rname) |
Definition at line 614 of file emit_x86.bas.
private sub hSHIFTI | ( | byval_as_integer | op, |
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
Definition at line 3789 of file emit_x86.bas.
private sub hSHIFTL | ( | byval_as_integer | op, |
byval_as_IRVREG_ptr | dvreg, | ||
byval_as_IRVREG_ptr | svreg | ||
) |
Definition at line 3519 of file emit_x86.bas.
private sub hULONG2DBL | ( | byval_as_IRVREG_ptr | svreg) |
private sub hWriteBss | ( | byval_as_FBSYMBOL_ptr | s) |
Definition at line 918 of file emit_x86.bas.
private sub hWriteConst | ( | byval_as_FBSYMBOL_ptr | s) |
Definition at line 996 of file emit_x86.bas.
private sub hWriteCtor | ( | byval_as_FB_GLOBCTORLIST_ITEM_ptr | proc_head, |
byval_as_integer | is_ctor | ||
) |
Definition at line 1053 of file emit_x86.bas.
private sub hWriteData | ( | byval_as_FBSYMBOL_ptr | s) |
Definition at line 1023 of file emit_x86.bas.
private sub hWriteExport | ( | byval_as_FBSYMBOL_ptr | s) |
Definition at line 1092 of file emit_x86.bas.
private sub hWriteHeader | ( | ) |
Definition at line 906 of file emit_x86.bas.
private sub hXCHG | ( | byval_as_zstring_ptr | dname, |
byval_as_zstring_ptr | sname | ||
) |
Definition at line 659 of file emit_x86.bas.
private sub outEx | ( | byval_as_zstring_ptr | s, |
byval_as_integer | bytes = 0 |
||
) |
sub outp | ( | byval_as_zstring_ptr | s) |
any_ptr _opFnTB[toEMIT_MAXOPS+1] => |
Definition at line 6333 of file emit_x86.bas.
EMITDATATYPE dtypeTB[toFB_DATATYPES+1] => |
Definition at line 50 of file emit_x86.bas.
const VAR EMIT_MAXKEYWORDS = 600 |
Definition at line 79 of file emit_x86.bas.
const_zstring_ptr keywordTb[toEMIT_MAXKEYWORDS+1] => |
Definition at line 81 of file emit_x86.bas.
zstring rnameTB[toEMIT_MAXRTABLES+1][toEMIT_MAXRNAMES+1] => |
Definition at line 41 of file emit_x86.bas.