1.0.41.26: ppc: Calling-convention fixes for static-fun VOPs.
authorAlastair Bridgewater <lisphacker@users.sourceforge.net>
Sat, 7 Aug 2010 15:21:54 +0000 (15:21 +0000)
committerAlastair Bridgewater <lisphacker@users.sourceforge.net>
Sat, 7 Aug 2010 15:21:54 +0000 (15:21 +0000)
commit72a1d0dbc877f559f63baa4285c655a92c21c649
treec53a0f65e80bc5482fe26488d0ce1078a4d7de14
parent34ef6951cd7243a4eaccf2efb10e6b3d2908e12b
1.0.41.26: ppc: Calling-convention fixes for static-fun VOPs.

  * Instead of having the static-fun VOPs work with the fdefn
raw-addr slot directly, have them first load reg_FDEFN with the
static-fdefinition object and then perform the critical part of
the normal call sequence.

  * This covers the usual race condition, etc. involved in dealing
with an fdefn-raw-addr without first loading the function, and
allows (PPC only) the use of funcallable instances and closures as
static-functions (unlikely as that is).
src/compiler/ppc/static-fn.lisp
version.lisp-expr