Changeset 11883
- Timestamp:
- 05/16/09 17:59:40 (14 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 3 edited
- 1 moved
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/CompiledClosure.java
r11882 r11883 1 1 /* 2 * C losureTemplateFunction.java2 * CompiledClosure.java 3 3 * 4 4 * Copyright (C) 2004-2005 Peter Graves … … 34 34 package org.armedbear.lisp; 35 35 36 public class C losureTemplateFunctionextends Closure36 public class CompiledClosure extends Closure 37 37 implements Cloneable 38 38 { … … 40 40 public ClosureBinding[] ctx; 41 41 42 public C losureTemplateFunction(LispObject lambdaList)42 public CompiledClosure(LispObject lambdaList) 43 43 throws ConditionThrowable 44 44 { … … 46 46 } 47 47 48 final public C losureTemplateFunctionsetContext(ClosureBinding[] context)48 final public CompiledClosure setContext(ClosureBinding[] context) 49 49 { 50 50 ctx = context; … … 52 52 } 53 53 54 final public C losureTemplateFunctiondup()55 { 56 C losureTemplateFunctionresult = null;54 final public CompiledClosure dup() 55 { 56 CompiledClosure result = null; 57 57 try { 58 result = (C losureTemplateFunction)super.clone();58 result = (CompiledClosure)super.clone(); 59 59 } catch (CloneNotSupportedException e) { 60 60 } -
trunk/abcl/src/org/armedbear/lisp/Lisp.java
r11881 r11883 1190 1190 throws ConditionThrowable 1191 1191 { 1192 return ((C losureTemplateFunction)template).dup().setContext(context);1192 return ((CompiledClosure)template).dup().setContext(context); 1193 1193 } 1194 1194 -
trunk/abcl/src/org/armedbear/lisp/Primitives.java
r11881 r11883 2438 2438 value2 = T; 2439 2439 LispObject name = ((CompiledClosure)arg).getLambdaName(); 2440 value3 = name != null ? name : NIL;2441 }2442 else if (arg instanceof ClosureTemplateFunction)2443 {2444 value1 = NIL;2445 value2 = T;2446 LispObject name = ((ClosureTemplateFunction)arg).getLambdaName();2447 2440 value3 = name != null ? name : NIL; 2448 2441 } -
trunk/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
r11882 r11883 241 241 (defconstant +lisp-return-class+ "org/armedbear/lisp/Return") 242 242 (defconstant +lisp-go-class+ "org/armedbear/lisp/Go") 243 (defconstant +lisp-c tf-class+ "org/armedbear/lisp/ClosureTemplateFunction")243 (defconstant +lisp-compiled-closure-class+ "org/armedbear/lisp/CompiledClosure") 244 244 (defconstant +lisp-compiled-function-class+ "org/armedbear/lisp/CompiledFunction") 245 245 (defconstant +lisp-primitive-class+ "org/armedbear/lisp/Primitive") … … 1817 1817 (emit-constructor-lambda-list args) 1818 1818 (emit-invokespecial-init super (lisp-object-arg-types 2))) 1819 ((equal super +lisp-c tf-class+)1819 ((equal super +lisp-compiled-closure-class+) 1820 1820 (emit-constructor-lambda-list args) 1821 1821 (emit-invokespecial-init super (lisp-object-arg-types 1))) … … 3037 3037 ; Stack: template-function 3038 3038 (when *closure-variables* 3039 (emit 'checkcast +lisp-c tf-class+)3039 (emit 'checkcast +lisp-compiled-closure-class+) 3040 3040 (duplicate-closure-array compiland) 3041 3041 (emit-invokestatic +lisp-class+ "makeCompiledClosure" … … 4857 4857 (dformat t "(compiland-closure-register parent) = ~S~%" 4858 4858 (compiland-closure-register parent)) 4859 (emit 'checkcast +lisp-c tf-class+)4859 (emit 'checkcast +lisp-compiled-closure-class+) 4860 4860 (duplicate-closure-array parent) 4861 4861 (emit-invokestatic +lisp-class+ "makeCompiledClosure" … … 5017 5017 5018 5018 (when (compiland-closure-register *current-compiland*) 5019 (emit 'checkcast +lisp-c tf-class+)5019 (emit 'checkcast +lisp-compiled-closure-class+) 5020 5020 (duplicate-closure-array *current-compiland*) 5021 5021 (emit-invokestatic +lisp-class+ "makeCompiledClosure" … … 8052 8052 (progn 8053 8053 (aload 0) 8054 (emit 'getfield +lisp-c tf-class+ "ctx"8054 (emit 'getfield +lisp-compiled-closure-class+ "ctx" 8055 8055 +closure-binding-array+) 8056 8056 (when local-closure-vars … … 8216 8216 (setf (method-descriptor-index execute-method) 8217 8217 (pool-name (method-descriptor execute-method))) 8218 +lisp-c tf-class+)8218 +lisp-compiled-closure-class+) 8219 8219 (if *hairy-arglist-p* 8220 8220 +lisp-compiled-function-class+
Note: See TracChangeset
for help on using the changeset viewer.