florian 1c638f2952 * small fix to operator overloading when in MMX mode %!s(int64=26) %!d(string=hai) anos
..
alpha 1c638f2952 * small fix to operator overloading when in MMX mode %!s(int64=26) %!d(string=hai) anos
i386 1c638f2952 * small fix to operator overloading when in MMX mode %!s(int64=26) %!d(string=hai) anos
powerpc 1c638f2952 * small fix to operator overloading when in MMX mode %!s(int64=26) %!d(string=hai) anos
symtable 157bc635ce * Fixed bugs. %!s(int64=26) %!d(string=hai) anos
Makefile d8ad003a09 + Changes for alpha %!s(int64=26) %!d(string=hai) anos
README a9d8bfa1f7 * some bug fixes (e.g. must_be_valid and procinfo.funcret_is_valid) %!s(int64=26) %!d(string=hai) anos
TODO a184e5ff43 * well, more changes, especially parts of secondload ported %!s(int64=27) %!d(string=hai) anos
agatt.pas 4abc13fd78 * defined some necessary virtual helper methods %!s(int64=26) %!d(string=hai) anos
aopt.pas 56524f33df + compilable! %!s(int64=26) %!d(string=hai) anos
aoptbase.pas 28ddb689cb * some small changes so the noew optimizer is again compilable %!s(int64=26) %!d(string=hai) anos
aoptcs.pas 5fc1435036 * changed pai386, paippc and paiapha (same for tai*) to paicpu (taicpu) %!s(int64=26) %!d(string=hai) anos
aoptda.pas 56524f33df + compilable! %!s(int64=26) %!d(string=hai) anos
aoptobj.pas bb974dc8aa * fixed small type in TP conditional %!s(int64=26) %!d(string=hai) anos
cgbase.pas a9d8bfa1f7 * some bug fixes (e.g. must_be_valid and procinfo.funcret_is_valid) %!s(int64=26) %!d(string=hai) anos
cgobj.pas 134030a529 * only small updates to work with the current compiler %!s(int64=26) %!d(string=hai) anos
cobjects.pas c5e988c9f9 * more changes ... %!s(int64=26) %!d(string=hai) anos
convtree.pas 134030a529 * only small updates to work with the current compiler %!s(int64=26) %!d(string=hai) anos
ncon.pas 8abdd311fd * implemented some stuff for assignments %!s(int64=26) %!d(string=hai) anos
nmem.pas 1c638f2952 * small fix to operator overloading when in MMX mode %!s(int64=26) %!d(string=hai) anos
nstatmnt.pas fdc1e9792c * some fixes for the floating point registers %!s(int64=26) %!d(string=hai) anos
pass_1.pas ca53eee67e * renamed i386asm and i386base to cpuasm and cpubase %!s(int64=26) %!d(string=hai) anos
pass_2.pas 5fc1435036 * changed pai386, paippc and paiapha (same for tai*) to paicpu (taicpu) %!s(int64=26) %!d(string=hai) anos
pp.pas 4a9d0a58d1 * all tokes now start with an underscore %!s(int64=26) %!d(string=hai) anos
tainst.pas a9d8bfa1f7 * some bug fixes (e.g. must_be_valid and procinfo.funcret_is_valid) %!s(int64=26) %!d(string=hai) anos
temp_gen.pas 98ad42cb87 + dummy implementation %!s(int64=26) %!d(string=hai) anos
tempgen.inc 1cf1665d73 * the alpha compiler can be compiled now %!s(int64=26) %!d(string=hai) anos
tgeni386.pas eac806034d * the main branch psub.pas is now used for %!s(int64=26) %!d(string=hai) anos
tgobj.pas a9d8bfa1f7 * some bug fixes (e.g. must_be_valid and procinfo.funcret_is_valid) %!s(int64=26) %!d(string=hai) anos
transn.pas ce1b4eff9e + first versions %!s(int64=27) %!d(string=hai) anos
tree.pas 134030a529 * only small updates to work with the current compiler %!s(int64=26) %!d(string=hai) anos

README

frame_pointer contains the register used as frame pointer
stack_pointer contains the register used as stack pointer
self_pointer contains the register used as self pointer


unusedregsint set of Currently available integer registers
unusedregsfpu set of Currently available fpu registers
unusedregsmm set of Currently available mm registers

availabletempregsint set of maximally available integer registers
availabletempregsfpu set of maximally available fpu registers
availabletempregsmm set of maximally available mm registers

countusableregsint count of currently available integer registers
countusableregsfpu count of currently available fpu registers
countusableregsmm count of currently available mm registers

c_countusableregsint count of max. available int registers (in the current procedure)
c_countusableregsfpu count of max. available fpu registers (in the current procedure)
c_countusableregsmm count of max. available mm registers (in the current procedure)

intregs all!! available integer register
fpuregs all!! available fpu register
mmregs all!! available multimedia register

Intel specific
--------------
unusedregssse
availabletempregssse
countusableregssse

Jonas Maebe schrieb:
>
> Hello,
>
> Is there any difference between the localsize parameter of
> g_stackframe_entry and the parasize parameter of g_return_from_proc, or
> are they both the same value?

They are different, I think the value of g_return_from_proc doesn't matter
for the PowerPC. It's the size of parameters passed on the stack
and only important for the i386/m68k probably.

>
> And for the PowerPC, what will they contain? Just the size of the local
> variables and parameters, or also the maximum needed size for parameters
> of any procedure called by the current one (the caller must reserve space
> for the callee's parameters on it's own stack because you can't push
> values on the stack in the middle of a procedure (no frame pointer))
>
> Jonas

the parameter passed to g_stackframe_entry contains the size of the all local space which is
needed
except
that one for saving registers: the set procinfo.registerstosave (not yet implemented,
I'll commit it soon) will contain
all registers which must be saved by the entry and restored by the exit code of a procedure
and you have to add extra space to do that.