about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorRafael Ávila de Espíndola <respindola@mozilla.com>2011-05-18 16:25:10 -0400
committerRafael Ávila de Espíndola <respindola@mozilla.com>2011-05-18 16:33:22 -0400
commitbb7d4e15a82fca797a6f0faa812377ebde0baa13 (patch)
tree725ad1086599a924d4f7f8271b39ef0a40982585 /src
parent28c4a5586e9a6cedebb3ce08a11ded48fcd1fdc5 (diff)
downloadrust-bb7d4e15a82fca797a6f0faa812377ebde0baa13.tar.gz
rust-bb7d4e15a82fca797a6f0faa812377ebde0baa13.zip
Remove dead code.
Diffstat (limited to 'src')
-rw-r--r--src/comp/back/abi.rs4
-rw-r--r--src/comp/middle/trans.rs47
-rw-r--r--src/rt/rust_internal.h2
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: