diff options
| author | Patrick Walton <[email protected]> | 2010-12-20 10:23:37 -0800 |
|---|---|---|
| committer | Patrick Walton <[email protected]> | 2010-12-20 10:23:37 -0800 |
| commit | a7e9984999121c84c92a3236f29d4edf649e9431 (patch) | |
| tree | d5b9ca02c255a0ea3ed9de5338041f4b1cf8ead8 /src/comp/back | |
| parent | rustc: Remove the unused "name" parameter from trans.new_builder (diff) | |
| download | rust-a7e9984999121c84c92a3236f29d4edf649e9431.tar.xz rust-a7e9984999121c84c92a3236f29d4edf649e9431.zip | |
rustc: Build tydescs for types, and make all take and drop operations go through the tydescs for simplicity (LLVM inlines them).
Diffstat (limited to 'src/comp/back')
| -rw-r--r-- | src/comp/back/abi.rs | 11 |
1 files changed, 11 insertions, 0 deletions
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 |