aboutsummaryrefslogtreecommitdiff
path: root/src/boot
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2009-04-20 03:03:50 +0000
committerdos-reis <gdr@axiomatics.org>2009-04-20 03:03:50 +0000
commit4957231038f00c946afee42e96b38ea1e2ea108e (patch)
treed928f3e072219cd37a52a58de0065b47819dbe11 /src/boot
parent5f31fef6e30bc63657955d95939a310fa37867d8 (diff)
downloadopen-axiom-4957231038f00c946afee42e96b38ea1e2ea108e.tar.gz
* boot/ast.boot (genECLnativeTranslation): Tidy.
(genSBCLnativeTranslation): Likewise. * interp/compiler.boot (emitLocalCallInsn): Likewise. (compForm1): Allow package call to external function. (compElt): Likewise. (getExternalSymbolMode): New. (compForeignPackageCall): Likewise.
Diffstat (limited to 'src/boot')
-rw-r--r--src/boot/ast.boot11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/boot/ast.boot b/src/boot/ast.boot
index d1a70f11..0e42ac62 100644
--- a/src/boot/ast.boot
+++ b/src/boot/ast.boot
@@ -1476,11 +1476,10 @@ genECLnativeTranslation(op,s,t,op') ==
for x in s repeat
argtypes := [nativeArgumentType x,:argtypes]
args := [GENSYM(),:args]
- argtypes := nreverse argtypes
- args := nreverse args
+ args := reverse args
rettype := nativeReturnType t
[["DEFUN",op, args,
- [bfColonColon("FFI","C-INLINE"),args,argtypes,
+ [bfColonColon("FFI","C-INLINE"),args, nreverse argtypes,
rettype, callTemplate(op',#args,s),
KEYWORD::ONE_-LINER, true]]] where
callTemplate(op,n,s) ==
@@ -1587,8 +1586,6 @@ genSBCLnativeTranslation(op,s,t,op') ==
newArgs := [coerceToNativeType(a,x), :newArgs]
if needsStableReference? x then
unstableArgs := [a,:unstableArgs]
- newArgs := nreverse newArgs
- unstableArgs = nreverse unstableArgs
null unstableArgs =>
[["DEFUN",op,args,
@@ -1596,10 +1593,10 @@ genSBCLnativeTranslation(op,s,t,op') ==
[INTERN('"EXTERN-ALIEN",'"SB-ALIEN"),SYMBOL_-NAME op',
["FUNCTION",rettype,:argtypes]], :args]]]
[["DEFUN",op,args,
- [bfColonColon("SB-SYS","WITH-PINNED-OBJECTS"),unstableArgs,
+ [bfColonColon("SB-SYS","WITH-PINNED-OBJECTS"), nreverse unstableArgs,
[INTERN('"ALIEN-FUNCALL",'"SB-ALIEN"),
[INTERN('"EXTERN-ALIEN",'"SB-ALIEN"),SYMBOL_-NAME op',
- ["FUNCTION",rettype,:argtypes]], :newArgs]]]]
+ ["FUNCTION",rettype,:argtypes]], :nreverse newArgs]]]]
++ Generate an import declaration for `op' as equivalent of the