Skip to content

Commit d2b845d

Browse files
committed
Define (in Abi) and use named constants for indices of elements of an obj IL referent type.
1 parent 0b675a0 commit d2b845d

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/boot/be/abi.ml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,10 @@ let binding_size = 2;;
4949
let binding_field_item = 0;;
5050
let binding_field_binding = 1;;
5151

52+
let obj_elt_rc = 0;;
53+
let obj_elt_tydesc = 1;;
54+
let obj_elt_fields = 2;;
55+
5256
let general_code_alignment = 16;;
5357

5458
let tydesc_field_first_param = 0;;

src/boot/me/trans.ml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -521,7 +521,7 @@ let trans_visitor
521521
then
522522
begin
523523
let obj = get_obj_for_current_frame() in
524-
let tydesc = get_element_ptr obj 1 in
524+
let tydesc = get_element_ptr obj Abi.obj_elt_tydesc in
525525
let ty_params_ty = Ast.TY_tup (make_tydesc_tys n_ty_params) in
526526
let ty_params_rty = referent_type abi ty_params_ty in
527527
let ty_params =
@@ -2473,8 +2473,8 @@ let trans_visitor
24732473
let null_jmp = null_check binding in
24742474
let rc_jmp = drop_refcount_and_cmp binding in
24752475
let obj = deref binding in
2476-
let tydesc = get_element_ptr obj 1 in
2477-
let body = get_element_ptr obj 2 in
2476+
let tydesc = get_element_ptr obj Abi.obj_elt_tydesc in
2477+
let body = get_element_ptr obj Abi.obj_elt_fields in
24782478
let ty_params = get_tydesc_params ty_params tydesc in
24792479
let dtor =
24802480
get_element_ptr (deref tydesc) Abi.tydesc_field_obj_drop_glue

0 commit comments

Comments
 (0)