Changeset 12955


Ignore:
Timestamp:
10/07/10 22:37:17 (11 years ago)
Author:
ehuelsmann
Message:

In CLOS supporting code (Layout.java), replace a synchronized
hash table type by a ConcurrentHashMap? for non-blocking readers.

File:
1 edited

Legend:

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

    r12576 r12955  
    3434package org.armedbear.lisp;
    3535
     36import java.util.concurrent.ConcurrentHashMap;
    3637import static org.armedbear.lisp.Lisp.*;
    3738
     
    3940{
    4041  private final LispObject lispClass;
    41   public final EqHashTable slotTable;
     42  public final ConcurrentHashMap<LispObject, LispObject> slotTable;
    4243
    4344  final LispObject[] slotNames;
     
    8384  }
    8485
    85   private EqHashTable initializeSlotTable(LispObject[] slotNames)
    86   {
    87     EqHashTable ht = new EqHashTable(slotNames.length, NIL, NIL);
     86  private ConcurrentHashMap initializeSlotTable(LispObject[] slotNames)
     87  {
     88    ConcurrentHashMap ht = new ConcurrentHashMap(slotNames.length);
    8889    for (int i = slotNames.length; i-- > 0;)
    8990      ht.put(slotNames[i], Fixnum.getInstance(i));
Note: See TracChangeset for help on using the changeset viewer.