StackFrame.h 759 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include <vector>
  3. #include <cstring>
  4. #include "types.h"
  5. #include "Enums.h"
  6. #include "symtab.h"
  7. struct STKFRAME : public SymbolTableCommon<STKSYM>
  8. {
  9. //std::vector<STKSYM> sym;
  10. //STKSYM * sym; /* Symbols */
  11. int16_t m_minOff; /* Initial offset in stack frame*/
  12. int16_t maxOff; /* Maximum offset in stack frame*/
  13. int cb; /* Number of bytes in arguments */
  14. int numArgs; /* No. of arguments in the table*/
  15. void adjustForArgType(size_t numArg_, hlType actType_);
  16. STKFRAME() : m_minOff(0),maxOff(0),cb(0),numArgs(0)
  17. {
  18. }
  19. size_t getLocVar(int off);
  20. public:
  21. void updateFrameOff(int16_t off, int size, uint16_t duFlag);
  22. };