about summary refs log tree commit diff
path: root/src/comp/back
diff options
context:
space:
mode:
authorMarijn Haverbeke <marijnh@gmail.com>2011-10-20 11:42:40 +0200
committerMarijn Haverbeke <marijnh@gmail.com>2011-10-20 13:15:21 +0200
commit6323a012bd1417451cd81f00679039d630dc1695 (patch)
tree0398fcc0e52e8cc0dd62668704c1889263f69a3a /src/comp/back
parente927df17f7f9c150fcbfd566927ad29ff5eb6f15 (diff)
downloadrust-6323a012bd1417451cd81f00679039d630dc1695.tar.gz
rust-6323a012bd1417451cd81f00679039d630dc1695.zip
Remove taskptr argument from upcalls
Issue #466
Diffstat (limited to 'src/comp/back')
-rw-r--r--src/comp/back/upcall.rs38
1 files changed, 15 insertions, 23 deletions
diff --git a/src/comp/back/upcall.rs b/src/comp/back/upcall.rs
index 71509e12800..693212bfb89 100644
--- a/src/comp/back/upcall.rs
+++ b/src/comp/back/upcall.rs
@@ -39,13 +39,8 @@ fn declare_upcalls(_tn: type_names, tydesc_type: TypeRef,
         let fn_ty = T_fn(arg_tys, rv);
         ret trans::decl_cdecl_fn(llmod, "upcall_" + name, fn_ty);
     }
-    fn decl_with_taskptr(taskptr_type: TypeRef, llmod: ModuleRef, name: str,
-                         tys: [TypeRef], rv: TypeRef) -> ValueRef {
-        ret decl(llmod, name, [taskptr_type] + tys, rv);
-    }
-    let dv = bind decl_with_taskptr(taskptr_type, llmod, _, _, T_void());
-    let d = bind decl_with_taskptr(taskptr_type, llmod, _, _, _);
-    let dr = bind decl(llmod, _, _, _);
+    let d = bind decl(llmod, _, _, _);
+    let dv = bind decl(llmod, _, _, T_void());
 
     ret @{_fail: dv("fail", [T_ptr(T_i8()), T_ptr(T_i8()), T_size_t()]),
           malloc:
@@ -61,31 +56,28 @@ fn declare_upcalls(_tn: type_names, tydesc_type: TypeRef,
                 [T_ptr(T_nil()), T_size_t(), T_size_t(), T_size_t(),
                  T_ptr(T_ptr(tydesc_type)), T_int()], T_ptr(tydesc_type)),
           vec_grow:
-              d("vec_grow", [T_ptr(T_ptr(T_opaque_vec())), T_int()],
-                T_void()),
+              dv("vec_grow", [T_ptr(T_ptr(T_opaque_vec())), T_int()]),
           vec_push:
-              d("vec_push",
-                [T_ptr(T_ptr(T_opaque_vec())), T_ptr(tydesc_type),
-                 T_ptr(T_i8())], T_void()),
+              dv("vec_push",
+                 [T_ptr(T_ptr(T_opaque_vec())), T_ptr(tydesc_type),
+                  T_ptr(T_i8())]),
           cmp_type:
-              dr("cmp_type",
+              dv("cmp_type",
                  [T_ptr(T_i1()), taskptr_type, T_ptr(tydesc_type),
                   T_ptr(T_ptr(tydesc_type)), T_ptr(T_i8()), T_ptr(T_i8()),
-                  T_i8()], T_void()),
+                  T_i8()]),
           log_type:
-              dr("log_type",
-                 [taskptr_type, T_ptr(tydesc_type), T_ptr(T_i8()), T_i32()],
-                 T_void()),
+              dv("log_type", [T_ptr(tydesc_type), T_ptr(T_i8()), T_i32()]),
           dynastack_mark: d("dynastack_mark", [], T_ptr(T_i8())),
           dynastack_alloc:
               d("dynastack_alloc_2", [T_size_t(), T_ptr(tydesc_type)],
                 T_ptr(T_i8())),
-          dynastack_free: d("dynastack_free", [T_ptr(T_i8())], T_void()),
-          alloc_c_stack: dr("alloc_c_stack", [T_size_t()], T_ptr(T_i8())),
-          call_c_stack: dr("call_c_stack",
-                           [T_ptr(T_fn([], T_int())), T_ptr(T_i8())],
-                           T_int()),
-          rust_personality: dr("rust_personality", [], T_i32())
+          dynastack_free: dv("dynastack_free", [T_ptr(T_i8())]),
+          alloc_c_stack: d("alloc_c_stack", [T_size_t()], T_ptr(T_i8())),
+          call_c_stack: d("call_c_stack",
+                          [T_ptr(T_fn([], T_int())), T_ptr(T_i8())],
+                          T_int()),
+          rust_personality: d("rust_personality", [], T_i32())
          };
 }
 //