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

Go to the source code of this file.

Functions

sub regInitClass (byval_as_REGCLASS_ptr this_, as_REG_SIZEMASK sizeTb[+1])
 
sub sregInitClass (byval_as_REGCLASS_ptr this_, as_REG_SIZEMASK sizeTb[+1])
 
function_as_REGCLASS_ptr regNewClass (byval_as_integer class_, byval_as_integer regs, as_REG_SIZEMASK sizeTb[+1], byval_as_integer isstack[+1])
 
function_as_integer regDelClass (byval_as_REGCLASS_ptr this_)
 
private sub regPush (byval_as_REGCLASS_ptr this_, byval_as_integer n)
 
private function_as_integer regPop (byval_as_REGCLASS_ptr this_, byval_as_integer size)
 
private sub regPopReg (byval_as_REGCLASS_ptr this_, byval_as_integer n)
 
private sub regClear (byval_as_REGCLASS_ptr this_)
 
private function_as_integer regFindFarest (byval_as_REGCLASS_ptr this_, byval_as_integer size)
 
private function_as_integer regAllocate (byval_as_REGCLASS_ptr this_, byval_as_IRVREG_ptr vreg, byval_as_IRVREG_ptr vauxparent, byval_as_uinteger size)
 
private function_as_integer regAllocateReg (byval_as_REGCLASS_ptr this_, byval_as_integer r, byval_as_IRVREG_ptr vreg, byval_as_IRVREG_ptr vauxparent)
 
private function_as_integer regEnsure (byval_as_REGCLASS_ptr this_, byval_as_IRVREG_ptr vreg, byval_as_IRVREG_ptr vauxparent, byval_as_uinteger size)
 
private sub regSetOwner (byval_as_REGCLASS_ptr this_, byval_as_integer r, byval_as_IRVREG_ptr vreg, byval_as_IRVREG_ptr vauxparent)
 
private sub regFree (byval_as_REGCLASS_ptr this_, byval_as_integer r)
 
private function_as_integer regIsFree (byval_as_REGCLASS_ptr this_, byval_as_integer r)
 
private function_as_integer regGetMaxRegs (byval_as_REGCLASS_ptr this_)
 
private function_as_integer regGetFirst (byval_as_REGCLASS_ptr this_)
 
private function_as_integer regGetNext (byval_as_REGCLASS_ptr this_, byval_as_integer r)
 
private function_as_IRVREG_ptr regGetVreg (byval_as_REGCLASS_ptr this_, byval_as_integer r, byref_as_IRVREG_ptr vauxparent)
 
private function_as_integer regGetRealReg (byval_as_REGCLASS_ptr this_, byval_as_integer r)
 
private sub regDump (byval_as_REGCLASS_ptr this_)
 
private function_as_integer sregFindReg (byval_as_REGCLASS_ptr this_, byval_as_IRVREG_ptr vreg)
 
private sub sregXchg (byval_as_REGCLASS_ptr this_, byval_as_integer r1)
 
private function_as_integer sregFindFreeReg (byval_as_REGCLASS_ptr this_)
 
private function_as_integer sregFindLowestReg (byval_as_REGCLASS_ptr this_)
 
private function_as_integer sregFindTOSReg (byval_as_REGCLASS_ptr this_)
 
private function_as_integer sregAllocate (byval_as_REGCLASS_ptr this_, byval_as_IRVREG_ptr vreg, byval_as_IRVREG_ptr vauxparent, byval_as_uinteger size)
 
private function_as_integer sregAllocateReg (byval_as_REGCLASS_ptr this_, byval_as_integer r, byval_as_IRVREG_ptr vreg, byval_as_IRVREG_ptr vauxparent)
 
private function_as_integer sregEnsure (byval_as_REGCLASS_ptr this_, byval_as_IRVREG_ptr vreg, byval_as_IRVREG_ptr vauxparent, byval_as_uinteger size)
 
private sub sregFree (byval_as_REGCLASS_ptr this_, byval_as_integer r)
 
private function_as_integer sregIsFree (byval_as_REGCLASS_ptr this_, byval_as_integer r)
 
private sub sregSetOwner (byval_as_REGCLASS_ptr this_, byval_as_integer r, byval_as_IRVREG_ptr vreg, byval_as_IRVREG_ptr vauxparent)
 
private function_as_integer sregGetRealReg (byval_as_REGCLASS_ptr this_, byval_as_integer r)
 
private function_as_integer sregGetMaxRegs (byval_as_REGCLASS_ptr this_)
 
private function_as_integer sregGetFirst (byval_as_REGCLASS_ptr this_)
 
private function_as_integer sregGetNext (byval_as_REGCLASS_ptr this_, byval_as_integer r)
 
private function_as_IRVREG_ptr sregGetVreg (byval_as_REGCLASS_ptr this_, byval_as_integer r, byref_as_IRVREG_ptr vauxparent)
 
private sub sregDump (byval_as_REGCLASS_ptr this_)
 
private sub sregClear (byval_as_REGCLASS_ptr reg)
 

Function Documentation

private function_as_integer regAllocate ( byval_as_REGCLASS_ptr  this_,
byval_as_IRVREG_ptr  vreg,
byval_as_IRVREG_ptr  vauxparent,
byval_as_uinteger  size 
)

Definition at line 231 of file reg.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer regAllocateReg ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r,
byval_as_IRVREG_ptr  vreg,
byval_as_IRVREG_ptr  vauxparent 
)

Definition at line 262 of file reg.bas.

Here is the call graph for this function:

private sub regClear ( byval_as_REGCLASS_ptr  this_)

Definition at line 173 of file reg.bas.

Here is the caller graph for this function:

function_as_integer regDelClass ( byval_as_REGCLASS_ptr  this_)

Definition at line 58 of file reg.bas.

Here is the caller graph for this function:

private sub regDump ( byval_as_REGCLASS_ptr  this_)

Definition at line 411 of file reg.bas.

private function_as_integer regEnsure ( byval_as_REGCLASS_ptr  this_,
byval_as_IRVREG_ptr  vreg,
byval_as_IRVREG_ptr  vauxparent,
byval_as_uinteger  size 
)

Definition at line 284 of file reg.bas.

Here is the call graph for this function:

private function_as_integer regFindFarest ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  size 
)

Definition at line 202 of file reg.bas.

Here is the caller graph for this function:

private sub regFree ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r 
)

Definition at line 321 of file reg.bas.

Here is the call graph for this function:

private function_as_integer regGetFirst ( byval_as_REGCLASS_ptr  this_)

Definition at line 359 of file reg.bas.

private function_as_integer regGetMaxRegs ( byval_as_REGCLASS_ptr  this_)

Definition at line 349 of file reg.bas.

private function_as_integer regGetNext ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r 
)

Definition at line 369 of file reg.bas.

private function_as_integer regGetRealReg ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r 
)

Definition at line 400 of file reg.bas.

private function_as_IRVREG_ptr regGetVreg ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r,
byref_as_IRVREG_ptr  vauxparent 
)

Definition at line 387 of file reg.bas.

private sub regInitClass ( byval_as_REGCLASS_ptr  this_,
as_REG_SIZEMASK  sizeTb[+1] 
)

Definition at line 431 of file reg.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer regIsFree ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r 
)

Definition at line 338 of file reg.bas.

function_as_REGCLASS_ptr regNewClass ( byval_as_integer  class_,
byval_as_integer  regs,
as_REG_SIZEMASK  sizeTb[+1],
byval_as_integer  isstack[+1] 
)

Definition at line 31 of file reg.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer regPop ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  size 
)

Definition at line 102 of file reg.bas.

Here is the caller graph for this function:

private sub regPopReg ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  n 
)

Definition at line 137 of file reg.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private sub regPush ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  n 
)

Definition at line 80 of file reg.bas.

Here is the caller graph for this function:

private sub regSetOwner ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r,
byval_as_IRVREG_ptr  vreg,
byval_as_IRVREG_ptr  vauxparent 
)

Definition at line 305 of file reg.bas.

private function_as_integer sregAllocate ( byval_as_REGCLASS_ptr  this_,
byval_as_IRVREG_ptr  vreg,
byval_as_IRVREG_ptr  vauxparent,
byval_as_uinteger  size 
)

Definition at line 578 of file reg.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer sregAllocateReg ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r,
byval_as_IRVREG_ptr  vreg,
byval_as_IRVREG_ptr  vauxparent 
)

Definition at line 610 of file reg.bas.

Here is the call graph for this function:

private sub sregClear ( byval_as_REGCLASS_ptr  reg)

Definition at line 781 of file reg.bas.

Here is the caller graph for this function:

private sub sregDump ( byval_as_REGCLASS_ptr  this_)

Definition at line 761 of file reg.bas.

private function_as_integer sregEnsure ( byval_as_REGCLASS_ptr  this_,
byval_as_IRVREG_ptr  vreg,
byval_as_IRVREG_ptr  vauxparent,
byval_as_uinteger  size 
)

Definition at line 623 of file reg.bas.

Here is the call graph for this function:

private function_as_integer sregFindFreeReg ( byval_as_REGCLASS_ptr  this_)

Definition at line 515 of file reg.bas.

Here is the caller graph for this function:

private function_as_integer sregFindLowestReg ( byval_as_REGCLASS_ptr  this_)

Definition at line 537 of file reg.bas.

private function_as_integer sregFindReg ( byval_as_REGCLASS_ptr  this_,
byval_as_IRVREG_ptr  vreg 
)

Definition at line 466 of file reg.bas.

Here is the caller graph for this function:

private function_as_integer sregFindTOSReg ( byval_as_REGCLASS_ptr  this_)

Definition at line 561 of file reg.bas.

Here is the caller graph for this function:

private sub sregFree ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r 
)

Definition at line 647 of file reg.bas.

private function_as_integer sregGetFirst ( byval_as_REGCLASS_ptr  this_)

Definition at line 723 of file reg.bas.

Here is the call graph for this function:

private function_as_integer sregGetMaxRegs ( byval_as_REGCLASS_ptr  this_)

Definition at line 713 of file reg.bas.

private function_as_integer sregGetNext ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r 
)

Definition at line 733 of file reg.bas.

Here is the call graph for this function:

private function_as_integer sregGetRealReg ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r 
)

Definition at line 702 of file reg.bas.

private function_as_IRVREG_ptr sregGetVreg ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r,
byref_as_IRVREG_ptr  vauxparent 
)

Definition at line 748 of file reg.bas.

private sub sregInitClass ( byval_as_REGCLASS_ptr  this_,
as_REG_SIZEMASK  sizeTb[+1] 
)

Definition at line 799 of file reg.bas.

Here is the call graph for this function:

Here is the caller graph for this function:

private function_as_integer sregIsFree ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r 
)

Definition at line 677 of file reg.bas.

private sub sregSetOwner ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r,
byval_as_IRVREG_ptr  vreg,
byval_as_IRVREG_ptr  vauxparent 
)

Definition at line 688 of file reg.bas.

private sub sregXchg ( byval_as_REGCLASS_ptr  this_,
byval_as_integer  r1 
)

Definition at line 491 of file reg.bas.

Here is the caller graph for this function: