Test for broken copy-more-arg harder
authorPaul Khuong <pvk@pvk.ca>
Sun, 22 Sep 2013 01:05:14 +0000 (21:05 -0400)
committerPaul Khuong <pvk@pvk.ca>
Sun, 22 Sep 2013 01:05:14 +0000 (21:05 -0400)
commitd7cbe5c40e93796d326937f3fb962fa4d7b1fa85
tree1766684dc4e50bc18a1574765c1385a621024747
parent9b79c4c51954ffc46c631e56547ac865860e8855
Test for broken copy-more-arg harder

* It takes 17 fixed arguments for (threaded) PPC to fail.  Test
  for up to 33 arguments now.

* Also, add some comments to explain why SP shouldn't be set to its
  final value eagerly when the stack frame is smaller than the fixed
  arguments: accessing slots past SP is a bad idea when interrupts
  could hit and overwrite these values.  In such cases, leave SP
  pointing to the end of the source vector, and only move it back to
  the end of the destination vector after the copy loop.
src/compiler/x86-64/call.lisp
src/compiler/x86/call.lisp
tests/compiler.pure.lisp