-
- /* WRITE out all functions */
- util_debug("GEN", "functions:\n");
- size_t i = 0;
- for (; i < code_functions_elements; i++) {
- util_debug("GEN", " {.entry =% 5d, .firstlocal =% 5d, .locals =% 5d, .profile =% 5d, .name =% 5d, .file =% 5d, .nargs =% 5d, .argsize =%0X }\n",
- code_functions_data[i].entry,
- code_functions_data[i].firstlocal,
- code_functions_data[i].locals,
- code_functions_data[i].profile,
- code_functions_data[i].name,
- code_functions_data[i].file,
- code_functions_data[i].nargs,
- *((int32_t*)&code_functions_data[i].argsize)
- );
+
+ /* FUNCTIONS */
+ util_debug("GEN", "FUNCTIONS:\n");
+ for (; it < vec_size(code_functions); it++) {
+ size_t j = code_functions[it].entry;
+ util_debug("GEN", " {.entry =% 5d, .firstlocal =% 5d, .locals =% 5d, .profile =% 5d, .name =% 5d, .file =% 5d, .nargs =% 5d, .argsize ={%d,%d,%d,%d,%d,%d,%d,%d} }\n",
+ code_functions[it].entry,
+ code_functions[it].firstlocal,
+ code_functions[it].locals,
+ code_functions[it].profile,
+ code_functions[it].name,
+ code_functions[it].file,
+ code_functions[it].nargs,
+ code_functions[it].argsize[0],
+ code_functions[it].argsize[1],
+ code_functions[it].argsize[2],
+ code_functions[it].argsize[3],
+ code_functions[it].argsize[4],
+ code_functions[it].argsize[5],
+ code_functions[it].argsize[6],
+ code_functions[it].argsize[7]
+
+ );
+ util_debug("GEN", " NAME: %s\n", &code_chars[code_functions[it].name]);
+ /* Internal functions have no code */
+ if (code_functions[it].entry >= 0) {
+ util_debug("GEN", " CODE:\n");
+ for (;;) {
+ if (code_statements[j].opcode != AINSTR_END)
+ util_debug("GEN", " %-12s {% 5i,% 5i,% 5i}\n",
+ asm_instr[code_statements[j].opcode].m,
+ code_statements[j].o1.s1,
+ code_statements[j].o2.s1,
+ code_statements[j].o3.s1
+ );
+ else {
+ util_debug("GEN", " DONE {0x00000,0x00000,0x00000}\n");
+ break;
+ }
+ j++;
+ }
+ }