* src/vm/jit/code.c, src/vm/jit/code.h: Files added.
[cacao.git] / src / vm / jit / code.c
1 #include "vm/jit/code.h"
2 #include "mm/memory.h"
3
4
5 codeinfo *code_codeinfo_new(methodinfo *m)
6 {
7         codeinfo *code;
8
9         code = NEW(codeinfo);
10
11         memset(code,0,sizeof(codeinfo));
12
13         code->m = m;
14         
15         return code;
16 }
17
18 void code_codeinfo_free(codeinfo *code)
19 {
20         if (!code)
21                 return;
22
23         if (code->mcode)
24                 CFREE((void *) (ptrint) code->mcode, code->mcodelength);
25
26         FREE(code,codeinfo);
27 }
28
29 void code_free_code_of_method(methodinfo *m)
30 {
31         codeinfo *nextcode;
32         codeinfo *code;
33         
34         nextcode = m->code;
35         while (nextcode) {
36                 code = nextcode;
37                 nextcode = code->prev;
38                 code_codeinfo_free(code);
39         }
40 }
41
42 /* vim: noet ts=4 sw=4
43  */