Implement basic runtime type information

This allows for `runtime.println_any` to work!
This commit is contained in:
gingerBill
2023-07-25 00:33:43 +01:00
parent 28c97a9467
commit b934e4b564
8 changed files with 459 additions and 71 deletions
+2 -3
View File
@@ -352,7 +352,7 @@ gb_internal WORKER_TASK_PROC(cg_procedure_compile_worker_proc) {
bool emit_asm = false;
if (
// string_starts_with(p->name, str_lit("runtime@_os_write")) ||
// string_starts_with(p->name, str_lit("bug@main")) ||
false
) {
emit_asm = true;
@@ -866,8 +866,7 @@ gb_internal cgValue cg_build_call_expr_internal(cgProcedure *p, Ast *expr) {
cgValue base_elem = cg_emit_array_epi(p, base_array.addr, 0);
cgValue len = cg_const_int(p, t_int, slice_len);
GB_PANIC("TODO(bill): cg_fill_slice");
// cg_fill_slice(p, slice, base_elem, len);
cg_fill_slice(p, slice, base_elem, len);
variadic_args = cg_addr_load(p, slice);
}