aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2011-03-30 13:04:18 -0700
committerGraydon Hoare <[email protected]>2011-03-30 13:04:18 -0700
commit3e7b991d4957a13e8049c1a4d1893a685f47d9ae (patch)
tree16a3dee79f7ac50c4c9e68e5932ff5a587f9f7af /src/comp/middle
parentRe-XFAIL lib-int.rs and lib-uint.rs. (diff)
downloadrust-3e7b991d4957a13e8049c1a4d1893a685f47d9ae.tar.xz
rust-3e7b991d4957a13e8049c1a4d1893a685f47d9ae.zip
Ensure task stacks start out with a 16-byte aligned entry frame. Should make OSX behave a bit better.
Diffstat (limited to 'src/comp/middle')
-rw-r--r--src/comp/middle/trans.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/comp/middle/trans.rs b/src/comp/middle/trans.rs
index 32c314b7..180c6afe 100644
--- a/src/comp/middle/trans.rs
+++ b/src/comp/middle/trans.rs
@@ -6272,7 +6272,7 @@ fn trans_exit_task_glue(@glue_fns glues,
let vec[ValueRef] V_args = vec();
auto llfn = glues.exit_task_glue;
- let ValueRef lltaskptr = llvm.LLVMGetParam(llfn, 3u);
+ let ValueRef lltaskptr = llvm.LLVMGetParam(llfn, 4u);
auto entrybb = llvm.LLVMAppendBasicBlock(llfn, _str.buf("entry"));
auto build = new_builder(entrybb);
@@ -6733,6 +6733,7 @@ fn make_glues(ModuleRef llmod, type_names tn) -> @glue_fns {
T_fn(vec(T_int(),
T_int(),
T_int(),
+ T_int(),
T_taskptr(tn)),
T_void())),