rust/src/rustc/back/abi.rs

97 lines
2.2 KiB
Rust
Raw Normal View History

// FIXME: Most of these should be uints.
2011-07-27 07:19:39 -05:00
const rc_base_field_refcnt: int = 0;
2011-07-27 07:19:39 -05:00
const task_field_refcnt: int = 0;
2011-07-27 07:19:39 -05:00
const task_field_stk: int = 2;
2011-07-27 07:19:39 -05:00
const task_field_runtime_sp: int = 3;
2011-07-27 07:19:39 -05:00
const task_field_rust_sp: int = 4;
2011-07-27 07:19:39 -05:00
const task_field_gc_alloc_chain: int = 5;
2011-07-27 07:19:39 -05:00
const task_field_dom: int = 6;
2011-07-27 07:19:39 -05:00
const n_visible_task_fields: int = 7;
2011-07-27 07:19:39 -05:00
const dom_field_interrupt_flag: int = 1;
2011-07-27 07:19:39 -05:00
const frame_glue_fns_field_mark: int = 0;
2011-07-27 07:19:39 -05:00
const frame_glue_fns_field_drop: int = 1;
2011-07-27 07:19:39 -05:00
const frame_glue_fns_field_reloc: int = 2;
const box_field_refcnt: int = 0;
const box_field_tydesc: int = 1;
const box_field_prev: int = 2;
const box_field_next: int = 3;
const box_field_body: int = 4;
2011-07-27 07:19:39 -05:00
const general_code_alignment: int = 16;
2011-07-27 07:19:39 -05:00
const tydesc_field_first_param: int = 0;
const tydesc_field_size: int = 1;
const tydesc_field_align: int = 2;
2011-08-19 03:24:13 -05:00
const tydesc_field_take_glue: int = 3;
2011-07-27 07:19:39 -05:00
const tydesc_field_drop_glue: int = 4;
const tydesc_field_free_glue: int = 5;
const tydesc_field_unused: int = 6;
const tydesc_field_sever_glue: int = 7;
const tydesc_field_mark_glue: int = 8;
const tydesc_field_unused2: int = 9;
const tydesc_field_unused_2: int = 10;
2011-08-04 13:25:09 -05:00
const tydesc_field_shape: int = 11;
const tydesc_field_shape_tables: int = 12;
const tydesc_field_n_params: int = 13;
const tydesc_field_obj_params: int = 14; // FIXME unused
const n_tydesc_fields: int = 15;
2011-07-27 07:19:39 -05:00
const cmp_glue_op_eq: uint = 0u;
2011-07-27 07:19:39 -05:00
const cmp_glue_op_lt: uint = 1u;
2011-07-27 07:19:39 -05:00
const cmp_glue_op_le: uint = 2u;
2011-06-28 20:47:36 -05:00
// The two halves of a closure: code and environment.
2011-07-27 07:19:39 -05:00
const fn_field_code: int = 0;
const fn_field_box: int = 1;
// closures, see trans_closure.rs
const closure_body_ty_params: int = 0;
const closure_body_bindings: int = 1;
2011-10-26 00:23:28 -05:00
const vec_elt_fill: int = 0;
2011-10-26 00:23:28 -05:00
const vec_elt_alloc: int = 1;
2011-10-26 00:23:28 -05:00
const vec_elt_elems: int = 2;
2012-04-16 18:17:51 -05:00
const slice_elt_base: int = 0;
const slice_elt_len: int = 1;
2011-07-27 07:19:39 -05:00
const worst_case_glue_call_args: int = 7;
const abi_version: uint = 1u;
2011-09-02 17:34:58 -05:00
fn memcpy_glue_name() -> str { ret "rust_memcpy_glue"; }
2011-09-02 17:34:58 -05:00
fn bzero_glue_name() -> str { ret "rust_bzero_glue"; }
2011-09-02 17:34:58 -05:00
fn yield_glue_name() -> str { ret "rust_yield_glue"; }
2011-09-02 17:34:58 -05:00
fn no_op_type_glue_name() -> str { ret "rust_no_op_type_glue"; }
//
// Local Variables:
// mode: rust
// fill-column: 78;
// indent-tabs-mode: nil
// c-basic-offset: 4
// buffer-file-coding-system: utf-8-unix
// End:
//