|
@ -43,6 +43,11 @@ emit_t *emit_bc_new(uint max_num_labels) { |
|
|
return emit; |
|
|
return emit; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
static void emit_bc_free(emit_t *emit) { |
|
|
|
|
|
m_del(uint, emit->label_offsets, emit->max_num_labels); |
|
|
|
|
|
m_del_obj(emit_t, emit); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// all functions must go through this one to emit code info
|
|
|
// all functions must go through this one to emit code info
|
|
|
static byte* emit_get_cur_to_write_code_info(emit_t* emit, int num_bytes_to_write) { |
|
|
static byte* emit_get_cur_to_write_code_info(emit_t* emit, int num_bytes_to_write) { |
|
|
//printf("emit %d\n", num_bytes_to_write);
|
|
|
//printf("emit %d\n", num_bytes_to_write);
|
|
@ -751,6 +756,8 @@ static void emit_bc_yield_from(emit_t *emit) { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
const emit_method_table_t emit_bc_method_table = { |
|
|
const emit_method_table_t emit_bc_method_table = { |
|
|
|
|
|
emit_bc_free, |
|
|
|
|
|
|
|
|
emit_bc_set_native_types, |
|
|
emit_bc_set_native_types, |
|
|
emit_bc_start_pass, |
|
|
emit_bc_start_pass, |
|
|
emit_bc_end_pass, |
|
|
emit_bc_end_pass, |
|
|