[armedbear-cvs] r12459 - trunk/abcl/src/org/armedbear/lisp

Ville Voutilainen vvoutilainen at common-lisp.net
Sat Feb 13 17:55:03 UTC 2010


Author: vvoutilainen
Date: Sat Feb 13 12:54:59 2010
New Revision: 12459

Log:
Stack friendliness.


Modified:
   trunk/abcl/src/org/armedbear/lisp/Do.java

Modified: trunk/abcl/src/org/armedbear/lisp/Do.java
==============================================================================
--- trunk/abcl/src/org/armedbear/lisp/Do.java	(original)
+++ trunk/abcl/src/org/armedbear/lisp/Do.java	Sat Feb 13 12:54:59 2010
@@ -38,9 +38,13 @@
 public final class Do
 {
   // ### do
-  private static final SpecialOperator DO =
-    new SpecialOperator(Symbol.DO, "varlist endlist &body body")
-    {
+  private static final SpecialOperator DO = new sf_do();
+  private static final class sf_do extends SpecialOperator {
+      sf_do()
+      {
+        super(Symbol.DO, "varlist endlist &body body");
+      }
+	
       @Override
       public LispObject execute(LispObject args, Environment env)
 
@@ -50,9 +54,13 @@
     };
 
   // ### do*
-  private static final SpecialOperator DO_STAR =
-    new SpecialOperator(Symbol.DO_STAR, "varlist endlist &body body")
-    {
+  private static final SpecialOperator DO_STAR = new sf_do_star();
+  private static final class sf_do_star extends SpecialOperator {
+      sf_do_star()
+      {
+        super(Symbol.DO_STAR, "varlist endlist &body body");
+      }
+	
       @Override
       public LispObject execute(LispObject args, Environment env)
 




More information about the armedbear-cvs mailing list