]> gitweb.factorcode.org Git - factor.git/blob - vm/primitives.hpp
overflow functions now retrieving their vm ptr from above ds stack
[factor.git] / vm / primitives.hpp
1 namespace factor
2 {
3
4 #if defined(FACTOR_X86)
5   extern "C" __attribute__ ((regparm (1))) typedef void (*primitive_type)(void *myvm);
6   #define PRIMITIVE(name) extern "C" __attribute__ ((regparm (1)))  void primitive_##name(void *myvm)
7   #define PRIMITIVE_GETVM() ((factorvm*)myvm)
8 #else
9   extern "C" typedef void (*primitive_type)(void *myvm);
10   #define PRIMITIVE(name) extern "C" void primitive_##name(void *myvm)
11   #define PRIMITIVE_GETVM() vm
12 #endif
13
14 extern const primitive_type primitives[];
15 #define PRIMITIVE_OVERFLOW_GETVM() vm
16 #define VM_PTR vm
17 #define ASSERTVM() 
18 }