История изменений
Исправление saahriktu, (текущая версия) :
А что за тест провалился?
run-pass/issue-40883.rs ... FAILED
// check that we don't have linear stack usage with multiple calls to `push`
// min-llvm-version 4.0
$ ls /var/log/packages/llvm*
/var/log/packages/llvm-4.0.0-x86_64-1
Expected Result
Function should use a small amount of stack space, definitely less than 2 kilobytes (Big is 512 bytes per copy); 1.12.0 with -Z orbit=off uses 1088 bytes of stack.
Actual Result
When compiled, the function uses more than 16384 = 8*64*16*2 bytes of stack space, as is evident from subq $16384, %rsp in the assembly - 2 copies of Big for every call to push.
Исправление saahriktu, :
А что за тест провалился?
run-pass/issue-40883.rs ... FAILED
// check that we don't have linear stack usage with multiple calls to `push`
// min-llvm-version 4.0
$ ls /var/log/packages/llvm*
/var/log/packages/llvm-4.0.0-x86_64-1
Expected Result
Function should use a small amount of stack space, definitely less than 2 kilobytes (Big is 512 bytes per copy); 1.12.0 with -Z orbit=off uses 1088 bytes of stack.
Actual Result
When compiled, the function uses more than 16384 = 8*64*16*2 bytes of stack space, as is evident from subq $16384, %rsp in the assembly - 2 copies of Big for every call to push.
Исправление saahriktu, :
А что за тест провалился?
run-pass/issue-40883.rs ... FAILED
// check that we don't have linear stack usage with multiple calls to `push`
// min-llvm-version 4.0
$ ls /var/log/packages/llvm*
/var/log/packages/llvm-4.0.0-x86_64-1
Expected Result
Function should use a small amount of stack space, definitely less than 2 kilobytes (Big is 512 bytes per copy); 1.12.0 with -Z orbit=off uses 1088 bytes of stack. Actual Result
When compiled, the function uses more than 16384 = 8*64*16*2 bytes of stack space, as is evident from subq $16384, %rsp in the assembly - 2 copies of Big for every call to push.
Исходная версия saahriktu, :
А что за тест провалился?
run-pass/issue-40883.rs ... FAILED
// check that we don't have linear stack usage with multiple calls to `push`
// min-llvm-version 4.0
$ ls /var/log/packages/llvm*
/var/log/packages/llvm-4.0.0-x86_64-1