@@ -890,7 +890,7 @@ let trans_visitor
890890 let sorted_idents = sorted_htab_keys fns in
891891 let i = arr_idx sorted_idents id in
892892 let fn_ty = Hashtbl. find fns id in
893- let table_ptr = get_element_ptr obj_cell Abi. obj_elt_vtbl in
893+ let table_ptr = get_element_ptr obj_cell Abi. obj_field_vtbl in
894894 (get_vtbl_entry_idx table_ptr i, fn_ty)
895895 in
896896
@@ -1479,10 +1479,10 @@ let trans_visitor
14791479 Abi. indirect_args_elt_closure)
14801480 in
14811481 let closure_target_cell =
1482- get_element_ptr closure_cell Abi. obj_elt_body_box
1482+ get_element_ptr closure_cell Abi. fn_field_closure
14831483 in
14841484 let closure_target_fn_cell =
1485- get_element_ptr closure_target_cell Abi. obj_elt_vtbl
1485+ get_element_ptr closure_target_cell Abi. fn_field_thunk
14861486 in
14871487
14881488 merge_bound_args
@@ -2473,7 +2473,7 @@ let trans_visitor
24732473
24742474 Ast. TY_fn _ ->
24752475 note_drop_step ty " drop_ty: fn path" ;
2476- let binding = get_element_ptr cell Abi. obj_elt_body_box in
2476+ let binding = get_element_ptr cell Abi. fn_field_closure in
24772477 let null_jmp = null_check binding in
24782478 (* Drop non-null bindings. *)
24792479 (* FIXME (issue #58): this is completely wrong, Closures need to
@@ -2486,7 +2486,7 @@ let trans_visitor
24862486
24872487 | Ast. TY_obj _ ->
24882488 note_drop_step ty " drop_ty: obj path" ;
2489- let binding = get_element_ptr cell Abi. obj_elt_body_box in
2489+ let binding = get_element_ptr cell Abi. obj_field_body_box in
24902490 let null_jmp = null_check binding in
24912491 let rc_jmp = drop_refcount_and_cmp binding in
24922492 let obj_box = deref binding in
@@ -2607,7 +2607,9 @@ let trans_visitor
26072607 | Ast. TY_obj _ ->
26082608 if type_has_state ty
26092609 then
2610- let binding = get_element_ptr cell Abi. obj_elt_body_box in
2610+ let binding =
2611+ get_element_ptr cell Abi. binding_field_bound_data
2612+ in
26112613 sever_box binding;
26122614
26132615 | _ ->
@@ -3094,13 +3096,17 @@ let trans_visitor
30943096 | Ast. TY_fn _
30953097 | Ast. TY_obj _ ->
30963098 begin
3097- let src_item = get_element_ptr src Abi. obj_elt_vtbl in
3098- let dst_item = get_element_ptr dst Abi. obj_elt_vtbl in
3099+ let src_item =
3100+ get_element_ptr src Abi. binding_field_dispatch
3101+ in
3102+ let dst_item =
3103+ get_element_ptr dst Abi. binding_field_dispatch
3104+ in
30993105 let src_binding =
3100- get_element_ptr src Abi. obj_elt_body_box
3106+ get_element_ptr src Abi. binding_field_bound_data
31013107 in
31023108 let dst_binding =
3103- get_element_ptr dst Abi. obj_elt_body_box
3109+ get_element_ptr dst Abi. binding_field_bound_data
31043110 in
31053111 mov dst_item (Il. Cell src_item);
31063112 let null_jmp = null_check src_binding in
@@ -3197,7 +3203,7 @@ let trans_visitor
31973203 deref_ty DEREF_none initializing dst_cell dst_ty
31983204 in
31993205 let caller_vtbl =
3200- get_element_ptr caller_obj Abi. obj_elt_vtbl
3206+ get_element_ptr caller_obj Abi. obj_field_vtbl
32013207 in
32023208 mov caller_vtbl caller_vtbl_oper
32033209 end
@@ -3235,10 +3241,10 @@ let trans_visitor
32353241 let fix = Hashtbl. find cx.ctxt_fn_fixups item.id in
32363242
32373243 let dst_pair_item_cell =
3238- get_element_ptr dst_cell Abi. obj_elt_vtbl
3244+ get_element_ptr dst_cell Abi. fn_field_thunk
32393245 in
32403246 let dst_pair_binding_cell =
3241- get_element_ptr dst_cell Abi. obj_elt_body_box
3247+ get_element_ptr dst_cell Abi. fn_field_closure
32423248 in
32433249 mov dst_pair_item_cell (crate_rel_imm fix);
32443250 mov dst_pair_binding_cell zero
@@ -3472,12 +3478,12 @@ let trans_visitor
34723478
34733479 iflog (fun _ -> annotate " set closure target code ptr" );
34743480 mov
3475- (get_element_ptr targ_cell Abi. fn_elt_thunk )
3481+ (get_element_ptr targ_cell Abi. fn_field_thunk )
34763482 (reify_ptr target_fn_ptr);
34773483
34783484 iflog (fun _ -> annotate " set closure target closure ptr" );
34793485 mov
3480- (get_element_ptr targ_cell Abi. fn_elt_closure )
3486+ (get_element_ptr targ_cell Abi. fn_field_closure )
34813487 (reify_ptr target_binding_ptr);
34823488
34833489 iflog (fun _ -> annotate " set closure bound args" );
@@ -3511,10 +3517,10 @@ let trans_visitor
35113517 let target_binding_ptr = callee_binding_ptr flv cc in
35123518 let closure_rty = closure_referent_type bound_arg_slots in
35133519 let closure_sz = force_sz (Il. referent_ty_size word_bits closure_rty) in
3514- let fn_cell = get_element_ptr dst_cell Abi. obj_elt_vtbl in
3520+ let fn_cell = get_element_ptr dst_cell Abi. fn_field_thunk in
35153521 let closure_cell =
35163522 ptr_cast
3517- (get_element_ptr dst_cell Abi. obj_elt_body_box )
3523+ (get_element_ptr dst_cell Abi. fn_field_closure )
35183524 (Il. ScalarTy (Il. AddrTy (closure_rty)))
35193525 in
35203526 iflog (fun _ -> annotate " assign glue-code to fn slot of pair" );
@@ -3824,7 +3830,7 @@ let trans_visitor
38243830 | CALL_indirect ->
38253831 (* fptr is a pair [disp, binding*] *)
38263832 let pair_cell = need_cell (reify_ptr fptr) in
3827- let disp_cell = get_element_ptr pair_cell Abi. obj_elt_vtbl in
3833+ let disp_cell = get_element_ptr pair_cell Abi. fn_field_thunk in
38283834 Il. Cell (crate_rel_to_ptr (Il. Cell disp_cell) Il. CodeTy )
38293835
38303836 and callee_binding_ptr
@@ -3835,7 +3841,7 @@ let trans_visitor
38353841 then zero
38363842 else
38373843 let (pair_cell, _) = trans_lval pair_lval in
3838- Il. Cell (get_element_ptr pair_cell Abi. obj_elt_body_box )
3844+ Il. Cell (get_element_ptr pair_cell Abi. fn_field_closure )
38393845
38403846 and call_ctrl flv : call_ctrl =
38413847 if lval_is_static cx flv
@@ -4639,10 +4645,10 @@ let trans_visitor
46394645 let _ = iflog (fun _ -> annotate " load destination obj pair ptr" ) in
46404646 let dst_pair_cell = deref (ptr_at (fp_imm out_mem_disp) obj_ty) in
46414647 let dst_pair_item_cell =
4642- get_element_ptr dst_pair_cell Abi. obj_elt_vtbl
4648+ get_element_ptr dst_pair_cell Abi. obj_field_vtbl
46434649 in
46444650 let dst_pair_state_cell =
4645- get_element_ptr dst_pair_cell Abi. obj_elt_body_box
4651+ get_element_ptr dst_pair_cell Abi. obj_field_body_box
46464652 in
46474653
46484654 (* Load first cell of pair with vtbl ptr.*)
0 commit comments