diff options
| author | Rafael Ávila de Espíndola <respindola@mozilla.com> | 2011-05-18 16:25:10 -0400 |
|---|---|---|
| committer | Rafael Ávila de Espíndola <respindola@mozilla.com> | 2011-05-18 16:33:22 -0400 |
| commit | bb7d4e15a82fca797a6f0faa812377ebde0baa13 (patch) | |
| tree | 725ad1086599a924d4f7f8271b39ef0a40982585 /src | |
| parent | 28c4a5586e9a6cedebb3ce08a11ded48fcd1fdc5 (diff) | |
| download | rust-bb7d4e15a82fca797a6f0faa812377ebde0baa13.tar.gz rust-bb7d4e15a82fca797a6f0faa812377ebde0baa13.zip | |
Remove dead code.
Diffstat (limited to 'src')
| -rw-r--r-- | src/comp/back/abi.rs | 4 | ||||
| -rw-r--r-- | src/comp/middle/trans.rs | 47 | ||||
| -rw-r--r-- | src/rt/rust_internal.h | 2 |
3 files changed, 3 insertions, 50 deletions
diff --git a/src/comp/back/abi.rs b/src/comp/back/abi.rs index e494b3b5890..54dc5e0d01d 100644 --- a/src/comp/back/abi.rs +++ b/src/comp/back/abi.rs @@ -105,10 +105,6 @@ fn yield_glue_name() -> str { ret "rust_yield_glue"; } -fn exit_task_glue_name() -> str { - ret "rust_exit_task_glue"; -} - fn no_op_type_glue_name() -> str { ret "rust_no_op_type_glue"; } diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index fedb6a8095b..d53ad5b8c85 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -57,7 +57,6 @@ type derived_tydesc_info = rec(ValueRef lltydesc, bool escapes); type glue_fns = rec(ValueRef activate_glue, ValueRef yield_glue, - ValueRef exit_task_glue, vec[ValueRef] native_glues_rust, vec[ValueRef] native_glues_pure_rust, vec[ValueRef] native_glues_cdecl, @@ -506,7 +505,7 @@ fn T_crate(&type_names tn) -> TypeRef { T_int(), // size_t yield_glue T_int(), // size_t unwind_glue T_int(), // size_t gc_glue - T_int(), // size_t main_exit_task_glue + T_int(), // size_t pad T_int(), // int n_rust_syms T_int(), // int n_c_syms T_int() // int n_libs @@ -7441,35 +7440,6 @@ fn i2p(ValueRef v, TypeRef t) -> ValueRef { ret llvm::LLVMConstIntToPtr(v, t); } -fn trans_exit_task_glue(@glue_fns glues, - &hashmap[str, ValueRef] externs, - type_names tn, ModuleRef llmod) { - let vec[TypeRef] T_args = []; - let vec[ValueRef] V_args = []; - - auto llfn = glues.exit_task_glue; - - auto entrybb = llvm::LLVMAppendBasicBlock(llfn, str::buf("entry")); - auto build = new_builder(entrybb); - - let ValueRef arg1 = llvm::LLVMGetParam(llfn, 0u); - let ValueRef arg2 = llvm::LLVMGetParam(llfn, 1u); - let ValueRef arg3 = llvm::LLVMGetParam(llfn, 2u); - let ValueRef arg4 = llvm::LLVMGetParam(llfn, 3u); - let ValueRef arg5 = llvm::LLVMGetParam(llfn, 4u); - - auto main_type = T_fn([T_int(), T_int(), T_int(), T_int()], T_void()); - - auto fun = build.IntToPtr(arg1, T_ptr(main_type)); - auto call_args = [arg2, arg3, arg4, arg5]; - build.FastCall(fun, call_args); - - trans_native_call(build, glues, arg3, - externs, tn, llmod, "upcall_exit", true, [arg3]); - - build.RetVoid(); -} - fn create_typedefs(&@crate_ctxt cx) { llvm::LLVMAddTypeName(cx.llmod, str::buf("crate"), T_crate(cx.tn)); llvm::LLVMAddTypeName(cx.llmod, str::buf("task"), T_task(cx.tn)); @@ -7486,9 +7456,6 @@ fn create_crate_constant(ValueRef crate_ptr, @glue_fns glues) { let ValueRef yield_glue_off = llvm::LLVMConstSub(p2i(glues.yield_glue), crate_addr); - let ValueRef exit_task_glue_off = - llvm::LLVMConstSub(p2i(glues.exit_task_glue), crate_addr); - let ValueRef crate_val = C_struct([C_null(T_int()), // ptrdiff_t image_base_off p2i(crate_ptr), // uintptr_t self_addr @@ -7500,7 +7467,7 @@ fn create_crate_constant(ValueRef crate_ptr, @glue_fns glues) { yield_glue_off, // size_t yield_glue_off C_null(T_int()), // size_t unwind_glue_off C_null(T_int()), // size_t gc_glue_off - exit_task_glue_off, // size_t main_exit_task_glue_off + C_null(T_int()), // size_t pad C_null(T_int()), // int n_rust_syms C_null(T_int()), // int n_c_syms C_null(T_int()) // int n_libs @@ -7853,13 +7820,6 @@ fn trans_vec_append_glue(@local_ctxt cx) { fn make_glues(ModuleRef llmod, &type_names tn) -> @glue_fns { ret @rec(activate_glue = decl_glue(llmod, tn, abi::activate_glue_name()), yield_glue = decl_glue(llmod, tn, abi::yield_glue_name()), - exit_task_glue = decl_cdecl_fn(llmod, abi::exit_task_glue_name(), - T_fn([T_int(), - T_int(), - T_int(), - T_int(), - T_int()], - T_void())), native_glues_rust = vec::init_fn[ValueRef](bind decl_native_glue(llmod, tn, @@ -7895,9 +7855,6 @@ fn make_common_glue(&session::session sess, &str output) { auto glues = make_glues(llmod, tn); create_crate_constant(crate_ptr, glues); - trans::trans_exit_task_glue(glues, new_str_hash[ValueRef](), tn, - llmod); - link::write::run_passes(sess, llmod, output); } diff --git a/src/rt/rust_internal.h b/src/rt/rust_internal.h index e743455b4dc..8bbc5f0d8f6 100644 --- a/src/rt/rust_internal.h +++ b/src/rt/rust_internal.h @@ -235,7 +235,7 @@ class rust_crate { ptrdiff_t yield_glue_off; ptrdiff_t unwind_glue_off; ptrdiff_t gc_glue_off; - ptrdiff_t exit_task_glue_off; + ptrdiff_t pad; public: |
