[armedbear-cvs] r12853 - branches/generic-class-file/abcl/src/org/armedbear/lisp
Erik Huelsmann
ehuelsmann at common-lisp.net
Mon Aug 2 10:51:31 UTC 2010
Author: ehuelsmann
Date: Mon Aug 2 06:51:28 2010
New Revision: 12853
Log:
Convert DECLARE-LOCAL-FUNCTION and DUPLICATE-CLOSURE-ARRAY
to use CLASS-NAMEs instead of literal strings.
Modified:
branches/generic-class-file/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
branches/generic-class-file/abcl/src/org/armedbear/lisp/jvm-class-file.lisp
Modified: branches/generic-class-file/abcl/src/org/armedbear/lisp/compiler-pass2.lisp
==============================================================================
--- branches/generic-class-file/abcl/src/org/armedbear/lisp/compiler-pass2.lisp (original)
+++ branches/generic-class-file/abcl/src/org/armedbear/lisp/compiler-pass2.lisp Mon Aug 2 06:51:28 2010
@@ -2251,9 +2251,9 @@
(declare-with-hashtable
local-function *declared-functions* ht g
(setf g (symbol-name (gensym "LFUN")))
- (let* ((pathname (abcl-class-file-pathname (local-function-class-file local-function)))
- (class-name (concatenate 'string "org/armedbear/lisp/" (pathname-name pathname)))
- (*code* *static-code*))
+ (let* ((class-name (abcl-class-file-class
+ (local-function-class-file local-function)))
+ (*code* *static-code*))
;; fixme *declare-inline*
(declare-field g +lisp-object+ +field-access-private+)
(emit 'new class-name)
@@ -3010,7 +3010,7 @@
(astore register) ;; save dest value
(emit-push-constant-int 0) ;; destPos
(emit-push-constant-int (length *closure-variables*)) ;; length
- (emit-invokestatic "java/lang/System" "arraycopy"
+ (emit-invokestatic +java-system+ "arraycopy"
(list +java-object+ "I"
+java-object+ "I" "I") nil)
(aload register))) ;; reload dest value
Modified: branches/generic-class-file/abcl/src/org/armedbear/lisp/jvm-class-file.lisp
==============================================================================
--- branches/generic-class-file/abcl/src/org/armedbear/lisp/jvm-class-file.lisp (original)
+++ branches/generic-class-file/abcl/src/org/armedbear/lisp/jvm-class-file.lisp Mon Aug 2 06:51:28 2010
@@ -132,6 +132,7 @@
(define-class-name +java-object+ "java.lang.Object")
(define-class-name +java-string+ "java.lang.String")
+(define-class-name +java-system+ "java.lang.System")
(define-class-name +lisp-object+ "org.armedbear.lisp.LispObject")
(defconstant +lisp-object-array+ (class-array +lisp-object+))
(define-class-name +lisp-simple-string+ "org.armedbear.lisp.SimpleString")
More information about the armedbear-cvs
mailing list