sourcepawn/compiler/sctracker.h
changeset 117 f1edbb5d485a
parent 116 4965c485f121
child 118 0cfeb76486a2
     1.1 --- a/sourcepawn/compiler/sctracker.h	Sun Oct 15 20:57:14 2006 +0000
     1.2 +++ b/sourcepawn/compiler/sctracker.h	Sun Oct 15 23:31:09 2006 +0000
     1.3 @@ -12,6 +12,7 @@
     1.4  
     1.5  typedef struct memuse_list_s {
     1.6    struct memuse_list_s *prev;   /* last used list */
     1.7 +  int list_id;
     1.8    memuse_t *head;               /* head of the current list */
     1.9  } memuse_list_t;
    1.10  
    1.11 @@ -29,6 +30,17 @@
    1.12  void pushstacklist();
    1.13  void popstacklist();
    1.14  int markstack(int type, int size);
    1.15 +/**
    1.16 + * Generates code to free stack usage, but does not pop the list.  
    1.17 + *  This is used for code like dobreak()/docont()/doreturn().
    1.18 + * stop_id is the list at which to stop generating.
    1.19 + */
    1.20 +void genstackfree(int stop_id);
    1.21 +
    1.22 +/**
    1.23 + * Resets the stack list by freeing everything
    1.24 + */
    1.25 +void resetstacklist();
    1.26  
    1.27  extern memuse_list_t *heapusage;
    1.28  extern memuse_list_t *stackusage;