comparison runtime/func.h @ 140:c14698c512f1

Untested addition of Pause/Resume
author Mike Pavone <pavone@retrodev.com>
date Sat, 20 Nov 2010 20:03:25 +0000
parents 5eedee9063dc
children f2cb85c53ced
comparison
equal deleted inserted replaced
139:a68e6828d896 140:c14698c512f1
20 #define DispatchEntry(name) case FUNC_##name: goto f_##name; 20 #define DispatchEntry(name) case FUNC_##name: goto f_##name;
21 #define ResumeEntry(num,name) case RES_##num##_##name: goto r##num##_##name; 21 #define ResumeEntry(num,name) case RES_##num##_##name: goto r##num##_##name;
22 #define DispatchVar 22 #define DispatchVar
23 #define DISPATCH switch(func) { DispatchEntries } 23 #define DISPATCH switch(func) { DispatchEntries }
24 #define EndEntry case END: goto DO_END; 24 #define EndEntry case END: goto DO_END;
25 #define EndThreadEntry case END_THREAD: goto DO_END_THREAD;
25 #else 26 #else
26 #define DispatchEntry(name) &&f_##name, 27 #define DispatchEntry(name) &&f_##name,
27 #define ResumeEntry(num,name) &&r##num##_##name, 28 #define ResumeEntry(num,name) &&r##num##_##name,
28 #define DispatchVar void * funcs[] = { DispatchEntries }; 29 #define DispatchVar void * funcs[] = { DispatchEntries };
29 #define DISPATCH goto *funcs[func]; 30 #define DISPATCH goto *funcs[func];
30 #define EndEntry &&DO_END 31 #define EndEntry &&DO_END
32 #define EndThreadEntry &&DO_END_THREAD;
31 #endif 33 #endif
32 34
33 35
34 #define MethodName(name,type) f_ ## name ## AT_ ## type 36 #define MethodName(name,type) f_ ## name ## AT_ ## type
35 37