diff options
| author | Rafael Ávila de Espíndola <[email protected]> | 2011-03-21 15:15:08 -0400 |
|---|---|---|
| committer | Rafael Ávila de Espíndola <[email protected]> | 2011-03-21 15:15:22 -0400 |
| commit | 12e7feb71ce1f99ccef425b55295e32027ea69ff (patch) | |
| tree | 52d3c92ca0bf15f6b5122fb0e3db9e9efd92d296 /src/comp/middle | |
| parent | Merge branch 'ty-serialization' (diff) | |
| download | rust-12e7feb71ce1f99ccef425b55295e32027ea69ff.tar.xz rust-12e7feb71ce1f99ccef425b55295e32027ea69ff.zip | |
The T_taskptr is already included in the n_args, don't add it twice.
Diffstat (limited to 'src/comp/middle')
| -rw-r--r-- | src/comp/middle/trans.rs | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs index 420c919e..40ce2896 100644 --- a/src/comp/middle/trans.rs +++ b/src/comp/middle/trans.rs @@ -841,13 +841,11 @@ fn decl_upcall_glue(ModuleRef llmod, type_names tn, uint _n) -> ValueRef { } fn get_upcall(&hashmap[str, ValueRef] upcalls, - type_names tn, ModuleRef llmod, - str name, int n_args) -> ValueRef { + ModuleRef llmod, str name, int n_args) -> ValueRef { if (upcalls.contains_key(name)) { ret upcalls.get(name); } - auto inputs = vec(T_taskptr(tn)); - inputs += _vec.init_elt[TypeRef](T_int(), n_args as uint); + auto inputs = _vec.init_elt[TypeRef](T_int(), n_args as uint); auto output = T_int(); auto f = decl_cdecl_fn(llmod, name, T_fn(inputs, output)); upcalls.insert(name, f); @@ -868,7 +866,7 @@ fn trans_upcall2(builder b, @glue_fns glues, type_names tn, ModuleRef llmod, str name, vec[ValueRef] args) -> ValueRef { let int n = (_vec.len[ValueRef](args) as int); - let ValueRef llupcall = get_upcall(upcalls, tn, llmod, name, n); + let ValueRef llupcall = get_upcall(upcalls, llmod, name, n); llupcall = llvm.LLVMConstPointerCast(llupcall, T_int()); let ValueRef llglue = glues.upcall_glues.(n); |