Define (in Abi) and use named constants for indices of elements of an obj IL referent type.
This commit is contained in:
parent
0b675a021a
commit
d2b845d29c
2 changed files with 7 additions and 3 deletions
|
@ -49,6 +49,10 @@ let binding_size = 2;;
|
||||||
let binding_field_item = 0;;
|
let binding_field_item = 0;;
|
||||||
let binding_field_binding = 1;;
|
let binding_field_binding = 1;;
|
||||||
|
|
||||||
|
let obj_elt_rc = 0;;
|
||||||
|
let obj_elt_tydesc = 1;;
|
||||||
|
let obj_elt_fields = 2;;
|
||||||
|
|
||||||
let general_code_alignment = 16;;
|
let general_code_alignment = 16;;
|
||||||
|
|
||||||
let tydesc_field_first_param = 0;;
|
let tydesc_field_first_param = 0;;
|
||||||
|
|
|
@ -521,7 +521,7 @@ let trans_visitor
|
||||||
then
|
then
|
||||||
begin
|
begin
|
||||||
let obj = get_obj_for_current_frame() in
|
let obj = get_obj_for_current_frame() in
|
||||||
let tydesc = get_element_ptr obj 1 in
|
let tydesc = get_element_ptr obj Abi.obj_elt_tydesc in
|
||||||
let ty_params_ty = Ast.TY_tup (make_tydesc_tys n_ty_params) in
|
let ty_params_ty = Ast.TY_tup (make_tydesc_tys n_ty_params) in
|
||||||
let ty_params_rty = referent_type abi ty_params_ty in
|
let ty_params_rty = referent_type abi ty_params_ty in
|
||||||
let ty_params =
|
let ty_params =
|
||||||
|
@ -2473,8 +2473,8 @@ let trans_visitor
|
||||||
let null_jmp = null_check binding in
|
let null_jmp = null_check binding in
|
||||||
let rc_jmp = drop_refcount_and_cmp binding in
|
let rc_jmp = drop_refcount_and_cmp binding in
|
||||||
let obj = deref binding in
|
let obj = deref binding in
|
||||||
let tydesc = get_element_ptr obj 1 in
|
let tydesc = get_element_ptr obj Abi.obj_elt_tydesc in
|
||||||
let body = get_element_ptr obj 2 in
|
let body = get_element_ptr obj Abi.obj_elt_fields in
|
||||||
let ty_params = get_tydesc_params ty_params tydesc in
|
let ty_params = get_tydesc_params ty_params tydesc in
|
||||||
let dtor =
|
let dtor =
|
||||||
get_element_ptr (deref tydesc) Abi.tydesc_field_obj_drop_glue
|
get_element_ptr (deref tydesc) Abi.tydesc_field_obj_drop_glue
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue