]> gitweb.factorcode.org Git - factor.git/blob - vm/stacks.hpp
Merge Phil Dawes' VM work
[factor.git] / vm / stacks.hpp
1 namespace factor
2 {
3
4 #define DEFPUSHPOP(prefix,ptr) \
5         inline cell prefix##peek() { return *(cell *)ptr; } \
6         inline void prefix##repl(cell tagged) { *(cell *)ptr = tagged; } \
7         inline cell prefix##pop() \
8         { \
9                 cell value = prefix##peek(); \
10                 ptr -= sizeof(cell); \
11                 return value; \
12         } \
13         inline void prefix##push(cell tagged) \
14         { \
15                 ptr += sizeof(cell); \
16                 prefix##repl(tagged); \
17         }
18
19 }