Skip to content

Commit 62d62ce

Browse files
committed
Remove calltup fields from ABI, add binding fields.
1 parent 87b18f3 commit 62d62ce

File tree

1 file changed

+17
-6
lines changed

1 file changed

+17
-6
lines changed

src/comp/back/abi.rs

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,12 +28,23 @@ const int vec_elt_alloc = 1;
2828
const int vec_elt_fill = 2;
2929
const int vec_elt_data = 3;
3030

31-
const int calltup_elt_out_ptr = 0;
32-
const int calltup_elt_task_ptr = 1;
33-
const int calltup_elt_indirect_args = 2;
34-
const int calltup_elt_ty_params = 3;
35-
const int calltup_elt_args = 4;
36-
const int calltup_elt_iterator_args = 5;
31+
32+
/* Both obj and fn are two-word "bindings": One word points to some static
33+
* dispatch information (vtbl, thunk, callee), and the other points to some
34+
* box of bound data (object-body or closure).
35+
*/
36+
37+
const int binding_field_dispatch = 0;
38+
const int binding_field_bound_data = 1;
39+
40+
const int obj_field_vtbl = binding_field_dispatch;
41+
const int obj_field_box = binding_field_bound_data;
42+
43+
const int obj_body_elt_tydesc = 0;
44+
const int obj_body_elt_fields = 1;
45+
46+
const int fn_field_code = binding_field_dispatch;
47+
const int fn_field_box = binding_field_bound_data;
3748

3849
const int worst_case_glue_call_args = 7;
3950

0 commit comments

Comments
 (0)