From a7e9984999121c84c92a3236f29d4edf649e9431 Mon Sep 17 00:00:00 2001 From: Patrick Walton Date: Mon, 20 Dec 2010 10:23:37 -0800 Subject: rustc: Build tydescs for types, and make all take and drop operations go through the tydescs for simplicity (LLVM inlines them). --- src/comp/back/abi.rs | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/comp/back') diff --git a/src/comp/back/abi.rs b/src/comp/back/abi.rs index 7f0ced61..fc44440a 100644 --- a/src/comp/back/abi.rs +++ b/src/comp/back/abi.rs @@ -28,6 +28,17 @@ const int vec_elt_alloc = 1; const int vec_elt_fill = 2; const int vec_elt_data = 3; +const int tydesc_field_first_param = 0; +const int tydesc_field_size = 1; +const int tydesc_field_align = 2; +const int tydesc_field_copy_glue_off = 3; +const int tydesc_field_drop_glue_off = 4; +const int tydesc_field_free_glue_off = 5; +const int tydesc_field_sever_glue_off = 6; +const int tydesc_field_mark_glue_off = 7; +const int tydesc_field_obj_drop_glue_off = 8; +const int tydesc_field_is_stateful = 9; + /* Both obj and fn are two-word "bindings": One word points to some static * dispatch information (vtbl, thunk, callee), and the other points to some -- cgit v1.2.3