README 3.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. $Id$
  2. History
  3. -------
  4. 13th oct 1999 remark about alignment added (FK)
  5. CVS Log see at the end of that file
  6. frame_pointer contains the register used as frame pointer
  7. stack_pointer contains the register used as stack pointer
  8. self_pointer contains the register used as self pointer
  9. unusedregsint set of Currently available integer registers
  10. unusedregsfpu set of Currently available fpu registers
  11. unusedregsmm set of Currently available mm registers
  12. availabletempregsint set of maximally available integer registers
  13. availabletempregsfpu set of maximally available fpu registers
  14. availabletempregsmm set of maximally available mm registers
  15. countusableregsint count of currently available integer registers
  16. countusableregsfpu count of currently available fpu registers
  17. countusableregsmm count of currently available mm registers
  18. c_countusableregsint count of max. available int registers (in the current procedure)
  19. c_countusableregsfpu count of max. available fpu registers (in the current procedure)
  20. c_countusableregsmm count of max. available mm registers (in the current procedure)
  21. intregs all!! available integer register
  22. fpuregs all!! available fpu register
  23. mmregs all!! available multimedia register
  24. Intel specific
  25. --------------
  26. unusedregssse
  27. availabletempregssse
  28. countusableregssse
  29. Jonas Maebe schrieb:
  30. >
  31. > Hello,
  32. >
  33. > Is there any difference between the localsize parameter of
  34. > g_stackframe_entry and the parasize parameter of g_return_from_proc, or
  35. > are they both the same value?
  36. They are different, I think the value of g_return_from_proc doesn't matter
  37. for the PowerPC. It's the size of parameters passed on the stack
  38. and only important for the i386/m68k probably.
  39. >
  40. > And for the PowerPC, what will they contain? Just the size of the local
  41. > variables and parameters, or also the maximum needed size for parameters
  42. > of any procedure called by the current one (the caller must reserve space
  43. > for the callee's parameters on it's own stack because you can't push
  44. > values on the stack in the middle of a procedure (no frame pointer))
  45. >
  46. > Jonas
  47. the parameter passed to g_stackframe_entry contains the size of the all local space which is
  48. needed
  49. except
  50. that one for saving registers: the set procinfo.registerstosave (not yet implemented,
  51. I'll commit it soon) will contain
  52. all registers which must be saved by the entry and restored by the exit code of a procedure
  53. and you have to add extra space to do that.
  54. Alignment
  55. ---------
  56. The alignment is handled very easily: treference contains a field
  57. alignment which describes the ensured alignment for the node, possible
  58. values: 1,2,4,8,16 (1 means unligned). The code generator must update
  59. that field at the appropriate places and take care of it when
  60. generating the code
  61. CVS Log
  62. -------
  63. $Log$
  64. Revision 1.4 1999-10-14 14:57:54 florian
  65. - removed the hcodegen use in the new cg, use cgbase instead