d02c7286d041eea3ef10e6e2d31c8af775adfeed
[IRC.git] / Robust / src / Runtime / runtime.h
1 #ifndef RUNTIME
2 #define RUNTIME
3 #include <setjmp.h>
4 extern jmp_buf error_handler;
5
6 void * allocate_new(int type);
7 struct ArrayObject * allocate_newarray(int type, int length);
8 struct ___String___ * NewString(char *str,int length);
9
10 void failedboundschk();
11 void failednullptr();
12 void abort_task();
13
14 #ifdef TASK
15 #include "SimpleHash.h"
16 #include "task.h"
17 void flagorand(void * ptr, int ormask, int andmask);
18 void executetasks();
19 void processtasks();
20
21 struct parameterwrapper {
22   struct parameterwrapper *next;
23   struct RuntimeHash * objectset;
24   int numberofterms;
25   int * intarray;
26   struct taskdescriptor * task;
27 };
28
29 struct taskparamdescriptor {
30   struct taskdescriptor * task;
31   int numParameters;
32   void ** parameterArray;
33 };
34
35 int hashCodetpd(struct taskparamdescriptor *);
36 int comparetpd(struct taskparamdescriptor *, struct taskparamdescriptor *);
37 #endif
38
39 #endif