]> gitweb.factorcode.org Git - factor.git/blob - vm/fixup.hpp
GC maps for more compact inline GC checks
[factor.git] / vm / fixup.hpp
1 namespace factor
2 {
3
4 template<typename T>
5 struct identity {
6         T operator()(T t)
7         {
8                 return t;
9         }
10 };
11
12 struct no_fixup {
13         object *fixup_data(object *obj)
14         {
15                 return obj;
16         }
17
18         code_block *fixup_code(code_block *compiled)
19         {
20                 return compiled;
21         }
22
23         object *translate_data(const object *obj)
24         {
25                 return fixup_data((object *)obj);
26         }
27
28         code_block *translate_code(const code_block *compiled)
29         {
30                 return fixup_code((code_block *)compiled);
31         }
32
33         cell size(object *obj)
34         {
35                 return obj->size();
36         }
37
38         cell size(code_block *compiled)
39         {
40                 return compiled->size();
41         }
42 };
43
44 }