Changeset 13137 for trunk/abcl/src/org


Ignore:
Timestamp:
01/13/11 20:54:59 (11 years ago)
Author:
ehuelsmann
Message:

Unbreak trunk compilation. We need the specialNames after all.

Location:
trunk/abcl/src/org/armedbear/lisp
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/abcl/src/org/armedbear/lisp/LispThread.java

    r13136 r13137  
    3434package org.armedbear.lisp;
    3535
     36import java.lang.ref.WeakReference;
    3637import static org.armedbear.lisp.Lisp.*;
    3738
     
    334335    final static ConcurrentLinkedQueue<Integer> freeSpecialIndices
    335336        = new ConcurrentLinkedQueue<Integer>();
    336    
     337
     338    final static int specialsInitialSize
     339        = Integer.valueOf(System.getProperty("abcl.specials.initialSize","4096"));
     340
    337341    /** This array stores the current special binding for every symbol
    338342     * which has been globally or locally declared special.
     
    344348     */
    345349    SpecialBinding[] specials
    346         = new SpecialBinding[Integer.valueOf(System.getProperty("abcl.specials.initialSize","4096"))+1];
     350        = new SpecialBinding[specialsInitialSize + 1];
     351
     352    final static ConcurrentHashMap<Integer, WeakReference<Symbol>> specialNames
     353        = new ConcurrentHashMap<Integer, WeakReference<Symbol>>();
    347354
    348355    /** The number of slots to grow the specials table in
    349356     * case of insufficient storage.
    350357     */
    351     final int specialsDelta
     358    final static int specialsDelta
    352359        = Integer.valueOf(System.getProperty("abcl.specials.grow.delta","1024"));
    353360
  • trunk/abcl/src/org/armedbear/lisp/SpecialBinding.java

    r12275 r13137  
    6060        if (value == null)
    6161            // return or not: error doesn't return anyway
    62             Lisp.error(new UnboundVariable(LispThread.specialNames[idx]));
     62            Lisp.error(new UnboundVariable(LispThread.specialNames.get(new Integer(idx)).get()));
    6363
    6464        return value;
Note: See TracChangeset for help on using the changeset viewer.