80 StubQueue* AbstractInterpreter::_code = NULL; |
80 StubQueue* AbstractInterpreter::_code = NULL; |
81 |
81 |
82 #endif /* ASSERT */ |
82 #endif /* ASSERT */ |
83 #endif /* COMPILER1 */ |
83 #endif /* COMPILER1 */ |
84 |
84 |
85 #define GEN_OFFS(Type,Name) \ |
85 #define GEN_OFFS_NAME(Type,Name,OutputType) \ |
86 switch(gen_variant) { \ |
86 switch(gen_variant) { \ |
87 case GEN_OFFSET: \ |
87 case GEN_OFFSET: \ |
88 printf("#define OFFSET_%-33s %d\n", \ |
88 printf("#define OFFSET_%-33s %d\n", \ |
89 #Type #Name, offset_of(Type, Name)); \ |
89 #OutputType #Name, offset_of(Type, Name)); \ |
90 break; \ |
90 break; \ |
91 case GEN_INDEX: \ |
91 case GEN_INDEX: \ |
92 printf("#define IDX_OFFSET_%-33s %d\n", \ |
92 printf("#define IDX_OFFSET_%-33s %d\n", \ |
93 #Type #Name, index++); \ |
93 #OutputType #Name, index++); \ |
94 break; \ |
94 break; \ |
95 case GEN_TABLE: \ |
95 case GEN_TABLE: \ |
96 printf("\tOFFSET_%s,\n", #Type #Name); \ |
96 printf("\tOFFSET_%s,\n", #OutputType #Name); \ |
97 break; \ |
97 break; \ |
98 } |
98 } |
|
99 |
|
100 #define GEN_OFFS(Type,Name) \ |
|
101 GEN_OFFS_NAME(Type,Name,Type) |
99 |
102 |
100 #define GEN_SIZE(Type) \ |
103 #define GEN_SIZE(Type) \ |
101 switch(gen_variant) { \ |
104 switch(gen_variant) { \ |
102 case GEN_OFFSET: \ |
105 case GEN_OFFSET: \ |
103 printf("#define SIZE_%-35s %d\n", \ |
106 printf("#define SIZE_%-35s %d\n", \ |
239 GEN_OFFS(VirtualSpace, _high_boundary); |
242 GEN_OFFS(VirtualSpace, _high_boundary); |
240 GEN_OFFS(VirtualSpace, _low); |
243 GEN_OFFS(VirtualSpace, _low); |
241 GEN_OFFS(VirtualSpace, _high); |
244 GEN_OFFS(VirtualSpace, _high); |
242 printf("\n"); |
245 printf("\n"); |
243 |
246 |
|
247 /* We need to use different names here because of the template parameter */ |
|
248 GEN_OFFS_NAME(GrowableArray<CodeHeap*>, _data, GrowableArray_CodeHeap); |
|
249 GEN_OFFS_NAME(GrowableArray<CodeHeap*>, _len, GrowableArray_CodeHeap); |
|
250 printf("\n"); |
|
251 |
244 GEN_OFFS(CodeBlob, _name); |
252 GEN_OFFS(CodeBlob, _name); |
245 GEN_OFFS(CodeBlob, _header_size); |
253 GEN_OFFS(CodeBlob, _header_size); |
246 GEN_OFFS(CodeBlob, _content_offset); |
254 GEN_OFFS(CodeBlob, _content_offset); |
247 GEN_OFFS(CodeBlob, _code_offset); |
255 GEN_OFFS(CodeBlob, _code_offset); |
248 GEN_OFFS(CodeBlob, _data_offset); |
256 GEN_OFFS(CodeBlob, _data_offset); |