diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-12-15 14:46:12 -0800 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-12-16 18:18:43 -0800 |
| commit | 23df4de86d8740545891a745f3c2f6c90cf1d1fd (patch) | |
| tree | a59e11e0c18b3ecfb0ac941b0a46da7ab737620f /src/rt/rust_task.cpp | |
| parent | ab4f35c1f1247bd745378621a22340cbf8b7030d (diff) | |
| download | rust-23df4de86d8740545891a745f3c2f6c90cf1d1fd.tar.gz rust-23df4de86d8740545891a745f3c2f6c90cf1d1fd.zip | |
rt: Fix alignment of new stack segments
Diffstat (limited to 'src/rt/rust_task.cpp')
| -rw-r--r-- | src/rt/rust_task.cpp | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/src/rt/rust_task.cpp b/src/rt/rust_task.cpp index ffcbcc1da5f..a95171951f6 100644 --- a/src/rt/rust_task.cpp +++ b/src/rt/rust_task.cpp @@ -596,10 +596,8 @@ rust_task::new_stack(size_t stk_sz, void *args_addr, size_t args_sz) { stk_seg *stk_seg = new_stk(sched, this, stk_sz + args_sz); uint8_t *new_sp = (uint8_t*)stk_seg->end; - size_t sizeof_retaddr = sizeof(void*); - // Make enough room on the new stack to hold the old stack pointer - // in addition to the function arguments - new_sp = align_down(new_sp - (args_sz + sizeof_retaddr)); + // Push the function arguments to the new stack + new_sp = align_down(new_sp - args_sz); memcpy(new_sp, args_addr, args_sz); record_stack_limit(); return new_sp; |
