Changeset 11714
- Timestamp:
- 03/23/09 20:05:37 (13 years ago)
- Location:
- trunk/abcl/src/org/armedbear/lisp
- Files:
-
- 56 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/abcl/src/org/armedbear/lisp/AbstractVector.java
r11711 r11714 86 86 public final LispObject getDimensions() 87 87 { 88 return new Cons( new Fixnum(capacity()));88 return new Cons(Fixnum.getInstance(capacity())); 89 89 } 90 90 … … 167 167 } 168 168 error(new TypeError(sb.toString(), 169 new Fixnum(index),169 Fixnum.getInstance(index), 170 170 list(Symbol.INTEGER, 171 171 Fixnum.ZERO, 172 new Fixnum(limit - 1))));172 Fixnum.getInstance(limit - 1)))); 173 173 174 174 } -
trunk/abcl/src/org/armedbear/lisp/Autoload.java
r11698 r11714 105 105 final SpecialBinding lastSpecialBinding = thread.lastSpecialBinding; 106 106 int loadDepth = Fixnum.getValue(_LOAD_DEPTH_.symbolValue()); 107 thread.bindSpecial(_LOAD_DEPTH_, new Fixnum(++loadDepth));107 thread.bindSpecial(_LOAD_DEPTH_, Fixnum.getInstance(++loadDepth)); 108 108 try { 109 109 if (_AUTOLOAD_VERBOSE_.symbolValue(thread) != NIL) { -
trunk/abcl/src/org/armedbear/lisp/BasicVector_UnsignedByte16.java
r11711 r11714 60 60 { 61 61 return list(Symbol.SIMPLE_ARRAY, UNSIGNED_BYTE_16, 62 new Cons( new Fixnum(capacity)));62 new Cons(Fixnum.getInstance(capacity))); 63 63 } 64 64 … … 119 119 { 120 120 try { 121 return new Fixnum(elements[index]);121 return Fixnum.getInstance(elements[index]); 122 122 } 123 123 catch (ArrayIndexOutOfBoundsException e) { … … 146 146 { 147 147 try { 148 return new Fixnum(elements[index]);148 return Fixnum.getInstance(elements[index]); 149 149 } 150 150 catch (ArrayIndexOutOfBoundsException e) { … … 159 159 { 160 160 try { 161 return new Fixnum(elements[((Fixnum)index).value]);161 return Fixnum.getInstance(elements[((Fixnum)index).value]); 162 162 } 163 163 catch (ClassCastException e) { -
trunk/abcl/src/org/armedbear/lisp/BasicVector_UnsignedByte32.java
r11711 r11714 61 61 { 62 62 return list(Symbol.SIMPLE_ARRAY, UNSIGNED_BYTE_32, 63 new Cons( new Fixnum(capacity)));63 new Cons(Fixnum.getInstance(capacity))); 64 64 } 65 65 -
trunk/abcl/src/org/armedbear/lisp/BasicVector_UnsignedByte8.java
r11711 r11714 59 59 public LispObject typeOf() 60 60 { 61 return list(Symbol.SIMPLE_ARRAY, UNSIGNED_BYTE_8, new Cons( new Fixnum(capacity)));61 return list(Symbol.SIMPLE_ARRAY, UNSIGNED_BYTE_8, new Cons(Fixnum.getInstance(capacity))); 62 62 } 63 63 -
trunk/abcl/src/org/armedbear/lisp/Bignum.java
r11711 r11714 669 669 { 670 670 if (n >= 0) 671 return new Fixnum(value.intValue() & n);671 return Fixnum.getInstance(value.intValue() & n); 672 672 else 673 673 return number(value.and(BigInteger.valueOf(n))); … … 681 681 int n = ((Fixnum)obj).value; 682 682 if (n >= 0) 683 return new Fixnum(value.intValue() & n);683 return Fixnum.getInstance(value.intValue() & n); 684 684 else 685 685 return number(value.and(BigInteger.valueOf(n))); -
trunk/abcl/src/org/armedbear/lisp/ComplexArray.java
r11711 r11714 149 149 LispObject result = NIL; 150 150 for (int i = dimv.length; i-- > 0;) 151 result = new Cons( new Fixnum(dimv[i]), result);151 result = new Cons(Fixnum.getInstance(dimv[i]), result); 152 152 return result; 153 153 } … … 183 183 if (array != null) { 184 184 value1 = array; 185 value2 = new Fixnum(displacement);185 value2 = Fixnum.getInstance(displacement); 186 186 } else { 187 187 value1 = NIL; -
trunk/abcl/src/org/armedbear/lisp/ComplexArray_UnsignedByte32.java
r11711 r11714 145 145 LispObject result = NIL; 146 146 for (int i = dimv.length; i-- > 0;) 147 result = new Cons( new Fixnum(dimv[i]), result);147 result = new Cons(Fixnum.getInstance(dimv[i]), result); 148 148 return result; 149 149 } … … 179 179 if (array != null) { 180 180 value1 = array; 181 value2 = new Fixnum(displacement);181 value2 = Fixnum.getInstance(displacement); 182 182 } else { 183 183 value1 = NIL; -
trunk/abcl/src/org/armedbear/lisp/ComplexArray_UnsignedByte8.java
r11711 r11714 141 141 LispObject result = NIL; 142 142 for (int i = dimv.length; i-- > 0;) 143 result = new Cons( new Fixnum(dimv[i]), result);143 result = new Cons(Fixnum.getInstance(dimv[i]), result); 144 144 return result; 145 145 } … … 175 175 if (array != null) { 176 176 value1 = array; 177 value2 = new Fixnum(displacement);177 value2 = Fixnum.getInstance(displacement); 178 178 } else { 179 179 value1 = NIL; -
trunk/abcl/src/org/armedbear/lisp/ComplexBitVector.java
r11711 r11714 63 63 public LispObject typeOf() 64 64 { 65 return list(Symbol.BIT_VECTOR, new Fixnum(capacity));65 return list(Symbol.BIT_VECTOR, Fixnum.getInstance(capacity)); 66 66 } 67 67 … … 114 114 if (array != null) { 115 115 value1 = array; 116 value2 = new Fixnum(displacement);116 value2 = Fixnum.getInstance(displacement); 117 117 } else { 118 118 value1 = NIL; … … 258 258 { 259 259 vectorPushExtend(element); 260 return new Fixnum(getFillPointer() - 1);260 return Fixnum.getInstance(getFillPointer() - 1); 261 261 } 262 262 … … 277 277 aset(fp, element); 278 278 setFillPointer(fp + 1); 279 return new Fixnum(fp);279 return Fixnum.getInstance(fp); 280 280 } 281 281 -
trunk/abcl/src/org/armedbear/lisp/ComplexString.java
r11711 r11714 134 134 { 135 135 value1 = array; 136 value2 = new Fixnum(displacement);136 value2 = Fixnum.getInstance(displacement); 137 137 } 138 138 else … … 469 469 { 470 470 vectorPushExtend(element); 471 return new Fixnum(fillPointer - 1);471 return Fixnum.getInstance(fillPointer - 1); 472 472 } 473 473 … … 498 498 else 499 499 array.aset(fillPointer + displacement, element); 500 return new Fixnum(fillPointer++);500 return Fixnum.getInstance(fillPointer++); 501 501 } 502 502 -
trunk/abcl/src/org/armedbear/lisp/ComplexVector.java
r11711 r11714 68 68 public LispObject typeOf() 69 69 { 70 return list(Symbol.VECTOR, T, new Fixnum(capacity));70 return list(Symbol.VECTOR, T, Fixnum.getInstance(capacity)); 71 71 } 72 72 … … 131 131 if (array != null) { 132 132 value1 = array; 133 value2 = new Fixnum(displacement);133 value2 = Fixnum.getInstance(displacement); 134 134 } else { 135 135 value1 = NIL; … … 317 317 { 318 318 vectorPushExtend(element); 319 return new Fixnum(fillPointer - 1);319 return Fixnum.getInstance(fillPointer - 1); 320 320 } 321 321 … … 333 333 } 334 334 aset(fillPointer, element); 335 return new Fixnum(fillPointer++);335 return Fixnum.getInstance(fillPointer++); 336 336 } 337 337 -
trunk/abcl/src/org/armedbear/lisp/ComplexVector_UnsignedByte32.java
r11711 r11714 69 69 public LispObject typeOf() 70 70 { 71 return list(Symbol.VECTOR, UNSIGNED_BYTE_32, new Fixnum(capacity));71 return list(Symbol.VECTOR, UNSIGNED_BYTE_32, Fixnum.getInstance(capacity)); 72 72 } 73 73 … … 132 132 if (array != null) { 133 133 value1 = array; 134 value2 = new Fixnum(displacement);134 value2 = Fixnum.getInstance(displacement); 135 135 } else { 136 136 value1 = NIL; … … 319 319 { 320 320 vectorPushExtend(element); 321 return new Fixnum(fillPointer - 1);321 return Fixnum.getInstance(fillPointer - 1); 322 322 } 323 323 … … 335 335 } 336 336 aset(fillPointer, element); 337 return new Fixnum(fillPointer++);337 return Fixnum.getInstance(fillPointer++); 338 338 } 339 339 -
trunk/abcl/src/org/armedbear/lisp/ComplexVector_UnsignedByte8.java
r11711 r11714 67 67 public LispObject typeOf() 68 68 { 69 return list(Symbol.VECTOR, UNSIGNED_BYTE_8, new Fixnum(capacity));69 return list(Symbol.VECTOR, UNSIGNED_BYTE_8, Fixnum.getInstance(capacity)); 70 70 } 71 71 … … 130 130 if (array != null) { 131 131 value1 = array; 132 value2 = new Fixnum(displacement);132 value2 = Fixnum.getInstance(displacement); 133 133 } else { 134 134 value1 = NIL; … … 331 331 { 332 332 vectorPushExtend(element); 333 return new Fixnum(fillPointer - 1);333 return Fixnum.getInstance(fillPointer - 1); 334 334 } 335 335 … … 347 347 } 348 348 aset(fillPointer, element); 349 return new Fixnum(fillPointer++);349 return Fixnum.getInstance(fillPointer++); 350 350 } 351 351 -
trunk/abcl/src/org/armedbear/lisp/Cons.java
r11711 r11714 184 184 { 185 185 if (n < 0) 186 return type_error( new Fixnum(n),186 return type_error(Fixnum.getInstance(n), 187 187 list(Symbol.INTEGER, Fixnum.ZERO)); 188 188 LispObject result = this; … … 303 303 { 304 304 if (index < 0) 305 type_error( new Fixnum(index), Symbol.UNSIGNED_BYTE);305 type_error(Fixnum.getInstance(index), Symbol.UNSIGNED_BYTE); 306 306 int i = 0; 307 307 LispObject obj = this; … … 355 355 { 356 356 if (index < 0) 357 type_error( new Fixnum(index), Symbol.UNSIGNED_BYTE);357 type_error(Fixnum.getInstance(index), Symbol.UNSIGNED_BYTE); 358 358 int i = 0; 359 359 Cons cons = this; … … 371 371 { 372 372 // Index too large. 373 type_error( new Fixnum(index),373 type_error(Fixnum.getInstance(index), 374 374 list(Symbol.INTEGER, Fixnum.ZERO, 375 new Fixnum(length() - 1)));375 Fixnum.getInstance(length() - 1))); 376 376 } 377 377 else -
trunk/abcl/src/org/armedbear/lisp/DoubleFloat.java
r11711 r11714 490 490 if (quotient >= Integer.MIN_VALUE && quotient <= Integer.MAX_VALUE) { 491 491 int q = (int) quotient; 492 return thread.setValues( new Fixnum(q),492 return thread.setValues(Fixnum.getInstance(q), 493 493 new DoubleFloat(value - q * divisor)); 494 494 } … … 503 503 m = (bits & 0xfffffffffffffL) | 0x10000000000000L; 504 504 LispObject significand = number(m); 505 Fixnum exponent = new Fixnum(e - 1075);506 Fixnum sign = new Fixnum(s);505 Fixnum exponent = Fixnum.getInstance(e - 1075); 506 Fixnum sign = Fixnum.getInstance(s); 507 507 LispObject result = significand; 508 508 result = … … 523 523 if (quotient >= Integer.MIN_VALUE && quotient <= Integer.MAX_VALUE) { 524 524 int q = (int) quotient; 525 return thread.setValues( new Fixnum(q),525 return thread.setValues(Fixnum.getInstance(q), 526 526 new DoubleFloat(value - q * divisor)); 527 527 } … … 537 537 LispObject significand = number(m); 538 538 // Debug.trace("significand = " + significand.writeToString()); 539 Fixnum exponent = new Fixnum(e - 1075);539 Fixnum exponent = Fixnum.getInstance(e - 1075); 540 540 // Debug.trace("exponent = " + exponent.writeToString()); 541 Fixnum sign = new Fixnum(s);541 Fixnum sign = Fixnum.getInstance(s); 542 542 // Debug.trace("sign = " + sign.writeToString()); 543 543 LispObject result = significand; -
trunk/abcl/src/org/armedbear/lisp/Fixnum.java
r11711 r11714 38 38 public final class Fixnum extends LispInteger 39 39 { 40 public static final Fixnum[] constants = new Fixnum[256]; 40 public static final int MAX_POS_CACHE = 256;//just like before - however never set this to less than 256 41 public static final Fixnum[] constants = new Fixnum[MAX_POS_CACHE]; 41 42 static 42 43 { 43 for (int i = 0; i < 256; i++)44 for (int i = 0; i < MAX_POS_CACHE; i++) 44 45 constants[i] = new Fixnum(i); 45 46 } … … 50 51 public static final Fixnum THREE = constants[3]; 51 52 52 public static final Fixnum MINUS_ONE = new Fixnum(-1);53 public static final Fixnum MINUS_ONE = Fixnum.getInstance(-1); 53 54 54 55 public static Fixnum getInstance(int n) 55 56 { 56 return (n >= 0 && n < 256) ? constants[n] : new Fixnum(n);57 return (n >= 0 && n < MAX_POS_CACHE) ? constants[n] : new Fixnum(n); 57 58 } 58 59 59 60 public final int value; 60 61 61 public Fixnum(int value) 62 // set to private to hunt down sneaky creators 63 private Fixnum(int value) 62 64 { 63 65 this.value = value; … … 89 91 return Symbol.BIT; 90 92 if (value > 1) 91 return list(Symbol.INTEGER, ZERO, new Fixnum(Integer.MAX_VALUE));93 return list(Symbol.INTEGER, ZERO, Fixnum.getInstance(Integer.MAX_VALUE)); 92 94 return Symbol.FIXNUM; 93 95 } … … 252 254 return this; 253 255 if (value > Integer.MIN_VALUE) 254 return new Fixnum(-value);256 return Fixnum.getInstance(-value); 255 257 return new Bignum(-((long)Integer.MIN_VALUE)); 256 258 } … … 371 373 { 372 374 if (value < Integer.MAX_VALUE) 373 return new Fixnum(value + 1);375 return Fixnum.getInstance(value + 1); 374 376 return new Bignum((long) value + 1); 375 377 } … … 379 381 { 380 382 if (value > Integer.MIN_VALUE) 381 return new Fixnum(value - 1);383 return Fixnum.getInstance(value - 1); 382 384 return new Bignum((long) value - 1); 383 385 } … … 388 390 long result = 0L - value; 389 391 if (result >= Integer.MIN_VALUE && result <= Integer.MAX_VALUE) 390 return new Fixnum((int)result);392 return Fixnum.getInstance((int)result); 391 393 else 392 394 return new Bignum(result); … … 398 400 long result = (long) value + n; 399 401 if (result >= Integer.MIN_VALUE && result <= Integer.MAX_VALUE) 400 return new Fixnum((int)result);402 return Fixnum.getInstance((int)result); 401 403 else 402 404 return new Bignum(result); … … 410 412 long result = (long) value + ((Fixnum)obj).value; 411 413 if (result >= Integer.MIN_VALUE && result <= Integer.MAX_VALUE) 412 return new Fixnum((int)result);414 return Fixnum.getInstance((int)result); 413 415 else 414 416 return new Bignum(result); … … 440 442 long result = (long) value - n; 441 443 if (result >= Integer.MIN_VALUE && result <= Integer.MAX_VALUE) 442 return new Fixnum((int)result);444 return Fixnum.getInstance((int)result); 443 445 else 444 446 return new Bignum(result); … … 478 480 long result = (long) value * n; 479 481 if (result >= Integer.MIN_VALUE && result <= Integer.MAX_VALUE) 480 return new Fixnum((int)result);482 return Fixnum.getInstance((int)result); 481 483 else 482 484 return new Bignum(result); … … 490 492 long result = (long) value * ((Fixnum)obj).value; 491 493 if (result >= Integer.MIN_VALUE && result <= Integer.MAX_VALUE) 492 return new Fixnum((int)result);494 return Fixnum.getInstance((int)result); 493 495 else 494 496 return new Bignum(result); … … 528 530 if (value > Integer.MIN_VALUE) 529 531 if (value % divisor == 0) 530 return new Fixnum(value / divisor);532 return Fixnum.getInstance(value / divisor); 531 533 return number(BigInteger.valueOf(value), 532 534 BigInteger.valueOf(divisor)); … … 734 736 int quotient = value / divisor; 735 737 int remainder = value % divisor; 736 value1 = new Fixnum(quotient);737 value2 = remainder == 0 ? Fixnum.ZERO : new Fixnum(remainder);738 value1 = Fixnum.getInstance(quotient); 739 value2 = remainder == 0 ? Fixnum.ZERO : Fixnum.getInstance(remainder); 738 740 } 739 741 else if (obj instanceof Bignum) … … 809 811 { 810 812 if (value > 0) 811 return new Fixnum(r + divisor);813 return Fixnum.getInstance(r + divisor); 812 814 } 813 815 else 814 816 { 815 817 if (value < 0) 816 return new Fixnum(r + divisor);817 } 818 return new Fixnum(r);818 return Fixnum.getInstance(r + divisor); 819 } 820 return Fixnum.getInstance(r); 819 821 } 820 822 … … 833 835 } 834 836 if (shift < 0) 835 return new Fixnum((int)(n >> -shift));837 return Fixnum.getInstance((int)(n >> -shift)); 836 838 if (shift <= 32) 837 839 { 838 840 n = n << shift; 839 841 if (n >= Integer.MIN_VALUE && n <= Integer.MAX_VALUE) 840 return new Fixnum((int)n);842 return Fixnum.getInstance((int)n); 841 843 else 842 844 return new Bignum(n); … … 872 874 public LispObject LOGNOT() 873 875 { 874 return new Fixnum(~value);876 return Fixnum.getInstance(~value); 875 877 } 876 878 … … 878 880 public LispObject LOGAND(int n) throws ConditionThrowable 879 881 { 880 return new Fixnum(value & n);882 return Fixnum.getInstance(value & n); 881 883 } 882 884 … … 885 887 { 886 888 if (obj instanceof Fixnum) 887 return new Fixnum(value & ((Fixnum)obj).value);889 return Fixnum.getInstance(value & ((Fixnum)obj).value); 888 890 if (obj instanceof Bignum) 889 891 { … … 891 893 { 892 894 int n2 = (((Bignum)obj).value).intValue(); 893 return new Fixnum(value & n2);895 return Fixnum.getInstance(value & n2); 894 896 } 895 897 else … … 906 908 public LispObject LOGIOR(int n) throws ConditionThrowable 907 909 { 908 return new Fixnum(value | n);910 return Fixnum.getInstance(value | n); 909 911 } 910 912 … … 913 915 { 914 916 if (obj instanceof Fixnum) 915 return new Fixnum(value | ((Fixnum)obj).value);917 return Fixnum.getInstance(value | ((Fixnum)obj).value); 916 918 if (obj instanceof Bignum) 917 919 { … … 926 928 public LispObject LOGXOR(int n) throws ConditionThrowable 927 929 { 928 return new Fixnum(value ^ n);930 return Fixnum.getInstance(value ^ n); 929 931 } 930 932 … … 933 935 { 934 936 if (obj instanceof Fixnum) 935 return new Fixnum(value ^ ((Fixnum)obj).value);937 return Fixnum.getInstance(value ^ ((Fixnum)obj).value); 936 938 if (obj instanceof Bignum) 937 939 { … … 960 962 961 963 if (y.compareTo (BigInteger.ZERO) < 0) 962 return ( new Fixnum(1)).divideBy(this.pow(new Bignum(y.negate())));964 return (Fixnum.getInstance(1)).divideBy(this.pow(new Bignum(y.negate()))); 963 965 964 966 if (y.compareTo(BigInteger.ZERO) == 0) 965 967 // No need to test base here; CLHS says 0^0 == 1. 966 return new Fixnum(1);968 return Fixnum.getInstance(1); 967 969 968 970 int x = this.value; 969 971 970 972 if (x == 0) 971 return new Fixnum(0);973 return Fixnum.getInstance(0); 972 974 973 975 if (x == 1) 974 return new Fixnum(1);976 return Fixnum.getInstance(1); 975 977 976 978 BigInteger xy = BigInteger.ONE; -
trunk/abcl/src/org/armedbear/lisp/FloatFunctions.java
r11711 r11714 118 118 m = (bits & 0x7fffff) | 0x800000; 119 119 LispObject significand = number(m); 120 Fixnum exponent = new Fixnum(e - 150);121 Fixnum sign = new Fixnum(s);120 Fixnum exponent = Fixnum.getInstance(e - 150); 121 Fixnum sign = Fixnum.getInstance(s); 122 122 return LispThread.currentThread().setValues(significand, 123 123 exponent, … … 135 135 m = (bits & 0xfffffffffffffL) | 0x10000000000000L; 136 136 LispObject significand = number(m); 137 Fixnum exponent = new Fixnum(e - 1075);138 Fixnum sign = new Fixnum(s);137 Fixnum exponent = Fixnum.getInstance(e - 1075); 138 Fixnum sign = Fixnum.getInstance(s); 139 139 return LispThread.currentThread().setValues(significand, 140 140 exponent, … … 197 197 }; 198 198 199 private static final Fixnum FIXNUM_24 = new Fixnum(24);200 private static final Fixnum FIXNUM_53 = new Fixnum(53);199 private static final Fixnum FIXNUM_24 = Fixnum.getInstance(24); 200 private static final Fixnum FIXNUM_53 = Fixnum.getInstance(53); 201 201 202 202 // ### float-digits … … 308 308 if (arg instanceof SingleFloat) { 309 309 SingleFloat f = (SingleFloat) arg; 310 return new Fixnum(Float.floatToIntBits(f.value));310 return Fixnum.getInstance(Float.floatToIntBits(f.value)); 311 311 } 312 312 return type_error(arg, Symbol.FLOAT); -
trunk/abcl/src/org/armedbear/lisp/HashTableFunctions.java
r11488 r11714 216 216 try 217 217 { 218 return new Fixnum(((HashTable)arg).getCount());218 return Fixnum.getInstance(((HashTable)arg).getCount()); 219 219 } 220 220 catch (ClassCastException e) … … 232 232 public LispObject execute(LispObject arg) throws ConditionThrowable 233 233 { 234 return new Fixnum(arg.sxhash());234 return Fixnum.getInstance(arg.sxhash()); 235 235 } 236 236 }; … … 244 244 public LispObject execute(LispObject arg) throws ConditionThrowable 245 245 { 246 return new Fixnum(arg.psxhash());246 return Fixnum.getInstance(arg.psxhash()); 247 247 } 248 248 }; … … 304 304 try 305 305 { 306 return new Fixnum(((HashTable)arg).getSize());306 return Fixnum.getInstance(((HashTable)arg).getSize()); 307 307 } 308 308 catch (ClassCastException e) -
trunk/abcl/src/org/armedbear/lisp/JHandler.java
r11488 r11714 72 72 Fixnum[] lispAi = new Fixnum[ai.length]; 73 73 for (int i = 0; i < ai.length; i++) { 74 lispAi[i] = new Fixnum(ai[i]);74 lispAi[i] = Fixnum.getInstance(ai[i]); 75 75 } 76 76 LispObject lispAiVector = new SimpleVector(lispAi); … … 159 159 if (count == 0) 160 160 entryTable.remove(event); 161 return ( new Fixnum(count--));161 return (Fixnum.getInstance (count--)); 162 162 } 163 163 } -
trunk/abcl/src/org/armedbear/lisp/Layout.java
r11488 r11714 100 100 EqHashTable ht = new EqHashTable(slotNames.length, NIL, NIL); 101 101 for (int i = slotNames.length; i-- > 0;) 102 ht.put(slotNames[i], i < 256 ? Fixnum.constants[i] : new Fixnum(i));102 ht.put(slotNames[i], Fixnum.getInstance(i)); 103 103 return ht; 104 104 } … … 215 215 try 216 216 { 217 return new Fixnum(((Layout)arg).slotNames.length);217 return Fixnum.getInstance(((Layout)arg).slotNames.length); 218 218 } 219 219 catch (ClassCastException e) … … 260 260 { 261 261 if (slotNames[i] == second) 262 return new Fixnum(i);262 return Fixnum.getInstance(i); 263 263 } 264 264 return NIL; … … 286 286 { 287 287 if (slotNames[i] == second) 288 return new Fixnum(i);288 return Fixnum.getInstance(i); 289 289 } 290 290 // Reaching here, it's not an instance slot. -
trunk/abcl/src/org/armedbear/lisp/Lisp.java
r11711 r11714 880 880 { 881 881 if (n >= Integer.MIN_VALUE && n <= Integer.MAX_VALUE) 882 return new Fixnum((int)n);882 return Fixnum.getInstance((int)n); 883 883 else 884 884 return new Bignum(n); … … 914 914 { 915 915 if (n.compareTo(INT_MIN) >= 0 && n.compareTo(INT_MAX) <= 0) 916 return new Fixnum(n.intValue());916 return Fixnum.getInstance(n.intValue()); 917 917 else 918 918 return new Bignum(n); … … 1496 1496 { 1497 1497 if (n < 0 || n > 255) 1498 type_error( new Fixnum(n), UNSIGNED_BYTE_8);1498 type_error(Fixnum.getInstance(n), UNSIGNED_BYTE_8); 1499 1499 try 1500 1500 { … … 2083 2083 static 2084 2084 { 2085 Symbol.MOST_POSITIVE_FIXNUM.initializeConstant( new Fixnum(Integer.MAX_VALUE));2086 Symbol.MOST_NEGATIVE_FIXNUM.initializeConstant( new Fixnum(Integer.MIN_VALUE));2085 Symbol.MOST_POSITIVE_FIXNUM.initializeConstant(Fixnum.getInstance(Integer.MAX_VALUE)); 2086 Symbol.MOST_NEGATIVE_FIXNUM.initializeConstant(Fixnum.getInstance(Integer.MIN_VALUE)); 2087 2087 Symbol.MOST_POSITIVE_JAVA_LONG.initializeConstant(new Bignum(Long.MAX_VALUE)); 2088 2088 Symbol.MOST_NEGATIVE_JAVA_LONG.initializeConstant(new Bignum(Long.MIN_VALUE)); … … 2282 2282 { 2283 2283 // ### array-dimension-limit 2284 Symbol.ARRAY_DIMENSION_LIMIT.initializeConstant( new Fixnum(ARRAY_DIMENSION_MAX));2284 Symbol.ARRAY_DIMENSION_LIMIT.initializeConstant(Fixnum.getInstance(ARRAY_DIMENSION_MAX)); 2285 2285 } 2286 2286 … … 2290 2290 static 2291 2291 { 2292 Symbol.CHAR_CODE_LIMIT.initializeConstant( new Fixnum(CHAR_MAX));2292 Symbol.CHAR_CODE_LIMIT.initializeConstant(Fixnum.getInstance(CHAR_MAX)); 2293 2293 } 2294 2294 … … 2435 2435 { 2436 2436 // ### internal-time-units-per-second 2437 Symbol.INTERNAL_TIME_UNITS_PER_SECOND.initializeConstant( new Fixnum(1000));2437 Symbol.INTERNAL_TIME_UNITS_PER_SECOND.initializeConstant(Fixnum.getInstance(1000)); 2438 2438 } 2439 2439 -
trunk/abcl/src/org/armedbear/lisp/LispCharacter.java
r11711 r11714 323 323 { 324 324 int n = ((LispCharacter)arg).value; 325 return n < 256 ? Fixnum.constants[n] : new Fixnum(n);325 return Fixnum.getInstance(n); 326 326 } 327 327 catch (ClassCastException e) … … 342 342 { 343 343 int n = ((LispCharacter)arg).value; 344 return n < 256 ? Fixnum.constants[n] : new Fixnum(n);344 return Fixnum.getInstance(n); 345 345 } 346 346 catch (ClassCastException e) -
trunk/abcl/src/org/armedbear/lisp/LispObject.java
r11711 r11714 163 163 { 164 164 if (n < 0) 165 return type_error( new Fixnum(n),165 return type_error(Fixnum.getInstance(n), 166 166 list(Symbol.INTEGER, Fixnum.ZERO)); 167 167 return type_error(this, Symbol.LIST); … … 397 397 public final LispObject LENGTH() throws ConditionThrowable 398 398 { 399 return new Fixnum(length());399 return Fixnum.getInstance(length()); 400 400 } 401 401 … … 465 465 throws ConditionThrowable 466 466 { 467 aset(index, new Fixnum(n));467 aset(index, Fixnum.getInstance(n)); 468 468 } 469 469 … … 808 808 public LispObject add(int n) throws ConditionThrowable 809 809 { 810 return add( new Fixnum(n));810 return add(Fixnum.getInstance(n)); 811 811 } 812 812 … … 818 818 public LispObject subtract(int n) throws ConditionThrowable 819 819 { 820 return subtract( new Fixnum(n));820 return subtract(Fixnum.getInstance(n)); 821 821 } 822 822 … … 828 828 public LispObject multiplyBy(int n) throws ConditionThrowable 829 829 { 830 return multiplyBy( new Fixnum(n));830 return multiplyBy(Fixnum.getInstance(n)); 831 831 } 832 832 … … 843 843 public boolean isEqualTo(int n) throws ConditionThrowable 844 844 { 845 return isEqualTo( new Fixnum(n));845 return isEqualTo(Fixnum.getInstance(n)); 846 846 } 847 847 … … 860 860 public boolean isNotEqualTo(int n) throws ConditionThrowable 861 861 { 862 return isNotEqualTo( new Fixnum(n));862 return isNotEqualTo(Fixnum.getInstance(n)); 863 863 } 864 864 … … 877 877 public boolean isLessThan(int n) throws ConditionThrowable 878 878 { 879 return isLessThan( new Fixnum(n));879 return isLessThan(Fixnum.getInstance(n)); 880 880 } 881 881 … … 894 894 public boolean isGreaterThan(int n) throws ConditionThrowable 895 895 { 896 return isGreaterThan( new Fixnum(n));896 return isGreaterThan(Fixnum.getInstance(n)); 897 897 } 898 898 … … 911 911 public boolean isLessThanOrEqualTo(int n) throws ConditionThrowable 912 912 { 913 return isLessThanOrEqualTo( new Fixnum(n));913 return isLessThanOrEqualTo(Fixnum.getInstance(n)); 914 914 } 915 915 … … 928 928 public boolean isGreaterThanOrEqualTo(int n) throws ConditionThrowable 929 929 { 930 return isGreaterThanOrEqualTo( new Fixnum(n));930 return isGreaterThanOrEqualTo(Fixnum.getInstance(n)); 931 931 } 932 932 … … 972 972 public LispObject MOD(int divisor) throws ConditionThrowable 973 973 { 974 return MOD( new Fixnum(divisor));974 return MOD(Fixnum.getInstance(divisor)); 975 975 } 976 976 977 977 public LispObject ash(int shift) throws ConditionThrowable 978 978 { 979 return ash( new Fixnum(shift));979 return ash(Fixnum.getInstance(shift)); 980 980 } 981 981 … … 992 992 public LispObject LOGAND(int n) throws ConditionThrowable 993 993 { 994 return LOGAND( new Fixnum(n));994 return LOGAND(Fixnum.getInstance(n)); 995 995 } 996 996 … … 1002 1002 public LispObject LOGIOR(int n) throws ConditionThrowable 1003 1003 { 1004 return LOGIOR( new Fixnum(n));1004 return LOGIOR(Fixnum.getInstance(n)); 1005 1005 } 1006 1006 … … 1012 1012 public LispObject LOGXOR(int n) throws ConditionThrowable 1013 1013 { 1014 return LOGXOR( new Fixnum(n));1014 return LOGXOR(Fixnum.getInstance(n)); 1015 1015 } 1016 1016 -
trunk/abcl/src/org/armedbear/lisp/Load.java
r11698 r11714 341 341 // internal symbol 342 342 private static final Symbol _FASL_VERSION_ = 343 exportConstant("*FASL-VERSION*", PACKAGE_SYS, new Fixnum(29));343 exportConstant("*FASL-VERSION*", PACKAGE_SYS, Fixnum.getInstance(29)); 344 344 345 345 // ### *fasl-anonymous-package* … … 385 385 thread.bindSpecialToCurrentValue(Symbol._PACKAGE_); 386 386 int loadDepth = Fixnum.getValue(_LOAD_DEPTH_.symbolValue(thread)); 387 thread.bindSpecial(_LOAD_DEPTH_, new Fixnum(++loadDepth));387 thread.bindSpecial(_LOAD_DEPTH_, Fixnum.getInstance(++loadDepth)); 388 388 // Compiler policy. 389 389 thread.bindSpecialToCurrentValue(_SPEED_); … … 450 450 final Environment env = new Environment(); 451 451 while (true) { 452 sourcePositionBinding.value = new Fixnum(in.getOffset());452 sourcePositionBinding.value = Fixnum.getInstance(in.getOffset()); 453 453 LispObject obj = in.read(false, EOF, false, thread); 454 454 if (obj == EOF) -
trunk/abcl/src/org/armedbear/lisp/MathFunctions.java
r11713 r11714 657 657 throws ConditionThrowable 658 658 { 659 if (number.realp() && !number.minusp() && base.isEqualTo( new Fixnum(10))) {659 if (number.realp() && !number.minusp() && base.isEqualTo(Fixnum.getInstance(10))) { 660 660 double d = DoubleFloat.coerceToFloat(number).value; 661 661 try { -
trunk/abcl/src/org/armedbear/lisp/Nil.java
r11711 r11714 137 137 { 138 138 if (n < 0) 139 return type_error( new Fixnum(n),139 return type_error(Fixnum.getInstance(n), 140 140 list(Symbol.INTEGER, Fixnum.ZERO)); 141 141 return this; -
trunk/abcl/src/org/armedbear/lisp/NilVector.java
r11711 r11714 70 70 public LispObject typeOf() 71 71 { 72 return list(Symbol.NIL_VECTOR, new Fixnum(capacity));72 return list(Symbol.NIL_VECTOR, Fixnum.getInstance(capacity)); 73 73 } 74 74 -
trunk/abcl/src/org/armedbear/lisp/Primitives.java
r11711 r11714 2144 2144 try 2145 2145 { 2146 return new Fixnum(((AbstractArray)arg).getRank());2146 return Fixnum.getInstance(((AbstractArray)arg).getRank()); 2147 2147 } 2148 2148 catch (ClassCastException e) … … 2198 2198 return type_error(second, Symbol.FIXNUM); 2199 2199 } 2200 return new Fixnum(array.getDimension(n));2200 return Fixnum.getInstance(array.getDimension(n)); 2201 2201 } 2202 2202 }; … … 2211 2211 try 2212 2212 { 2213 return new Fixnum(((AbstractArray)arg).getTotalSize());2213 return Fixnum.getInstance(((AbstractArray)arg).getTotalSize()); 2214 2214 } 2215 2215 catch (ClassCastException e) … … 2547 2547 try 2548 2548 { 2549 return new Fixnum(((AbstractArray)arg).getFillPointer());2549 return Fixnum.getInstance(((AbstractArray)arg).getFillPointer()); 2550 2550 } 2551 2551 catch (ClassCastException e) … … 2608 2608 v.aset(fillPointer, first); 2609 2609 v.setFillPointer(fillPointer + 1); 2610 return new Fixnum(fillPointer);2610 return Fixnum.getInstance(fillPointer); 2611 2611 } 2612 2612 }; … … 4331 4331 public LispObject execute(LispObject arg) throws ConditionThrowable 4332 4332 { 4333 return new Fixnum(arg.getCallCount());4333 return Fixnum.getInstance(arg.getCallCount()); 4334 4334 } 4335 4335 }; … … 5193 5193 ++count; 5194 5194 } 5195 return new Fixnum(count);5195 return Fixnum.getInstance(count); 5196 5196 } 5197 5197 if (arg instanceof Bignum) 5198 return new Fixnum(((Bignum)arg).value.bitLength());5198 return Fixnum.getInstance(((Bignum)arg).value.bitLength()); 5199 5199 return type_error(arg, Symbol.INTEGER); 5200 5200 } … … 5233 5233 public LispObject execute(LispObject arg) throws ConditionThrowable 5234 5234 { 5235 return new Fixnum(System.identityHashCode(arg));5235 return Fixnum.getInstance(System.identityHashCode(arg)); 5236 5236 } 5237 5237 }; … … 5276 5276 } 5277 5277 if (match) 5278 return new Fixnum(i);5278 return Fixnum.getInstance(i); 5279 5279 } 5280 5280 } … … 5305 5305 } 5306 5306 if (match) 5307 return new Fixnum(i);5307 return Fixnum.getInstance(i); 5308 5308 } 5309 5309 } … … 5868 5868 if (n < 0) 5869 5869 n += 256; 5870 objects[i] = new Fixnum(n);5870 objects[i] = Fixnum.getInstance(n); 5871 5871 } 5872 5872 return new SimpleVector(objects); -
trunk/abcl/src/org/armedbear/lisp/RandomState.java
r11711 r11714 104 104 if (limit > 0) { 105 105 int n = random.nextInt((int)limit); 106 return new Fixnum(n);106 return Fixnum.getInstance(n); 107 107 } 108 108 } else if (arg instanceof Bignum) { -
trunk/abcl/src/org/armedbear/lisp/RuntimeClass.java
r11488 r11714 157 157 public static final Fixnum makeLispObject(byte i) throws ConditionThrowable 158 158 { 159 return new Fixnum(i);159 return Fixnum.getInstance(i); 160 160 } 161 161 162 162 public static final Fixnum makeLispObject(short i) throws ConditionThrowable 163 163 { 164 return new Fixnum(i);164 return Fixnum.getInstance(i); 165 165 } 166 166 167 167 public static final Fixnum makeLispObject(int i) throws ConditionThrowable 168 168 { 169 return new Fixnum(i);169 return Fixnum.getInstance(i); 170 170 } 171 171 -
trunk/abcl/src/org/armedbear/lisp/SimpleArray_T.java
r11711 r11714 184 184 LispObject result = NIL; 185 185 for (int i = dimv.length; i-- > 0;) 186 result = new Cons( new Fixnum(dimv[i]), result);186 result = new Cons(Fixnum.getInstance(dimv[i]), result); 187 187 return result; 188 188 } -
trunk/abcl/src/org/armedbear/lisp/SimpleArray_UnsignedByte16.java
r11711 r11714 155 155 LispObject result = NIL; 156 156 for (int i = dimv.length; i-- > 0;) 157 result = new Cons( new Fixnum(dimv[i]), result);157 result = new Cons(Fixnum.getInstance(dimv[i]), result); 158 158 return result; 159 159 } … … 206 206 { 207 207 try { 208 return new Fixnum(data[index]);208 return Fixnum.getInstance(data[index]); 209 209 } 210 210 catch (ArrayIndexOutOfBoundsException e) { … … 260 260 { 261 261 try { 262 return new Fixnum(data[getRowMajorIndex(subscripts)]);262 return Fixnum.getInstance(data[getRowMajorIndex(subscripts)]); 263 263 } 264 264 catch (ArrayIndexOutOfBoundsException e) { -
trunk/abcl/src/org/armedbear/lisp/SimpleArray_UnsignedByte32.java
r11711 r11714 159 159 LispObject result = NIL; 160 160 for (int i = dimv.length; i-- > 0;) 161 result = new Cons( new Fixnum(dimv[i]), result);161 result = new Cons(Fixnum.getInstance(dimv[i]), result); 162 162 return result; 163 163 } -
trunk/abcl/src/org/armedbear/lisp/SimpleArray_UnsignedByte8.java
r11711 r11714 155 155 LispObject result = NIL; 156 156 for (int i = dimv.length; i-- > 0;) 157 result = new Cons( new Fixnum(dimv[i]), result);157 result = new Cons(Fixnum.getInstance(dimv[i]), result); 158 158 return result; 159 159 } -
trunk/abcl/src/org/armedbear/lisp/SimpleBitVector.java
r11711 r11714 66 66 public LispObject typeOf() 67 67 { 68 return list(Symbol.SIMPLE_BIT_VECTOR, new Fixnum(capacity));68 return list(Symbol.SIMPLE_BIT_VECTOR, Fixnum.getInstance(capacity)); 69 69 } 70 70 -
trunk/abcl/src/org/armedbear/lisp/SimpleString.java
r11711 r11714 98 98 public LispObject typeOf() 99 99 { 100 return list(Symbol.SIMPLE_BASE_STRING, new Fixnum(capacity));100 return list(Symbol.SIMPLE_BASE_STRING, Fixnum.getInstance(capacity)); 101 101 } 102 102 -
trunk/abcl/src/org/armedbear/lisp/SimpleVector.java
r11711 r11714 77 77 public LispObject typeOf() 78 78 { 79 return list(Symbol.SIMPLE_VECTOR, new Fixnum(capacity));79 return list(Symbol.SIMPLE_VECTOR, Fixnum.getInstance(capacity)); 80 80 } 81 81 -
trunk/abcl/src/org/armedbear/lisp/SingleFloat.java
r11711 r11714 495 495 if (quotient >= Integer.MIN_VALUE && quotient <= Integer.MAX_VALUE) { 496 496 int q = (int) quotient; 497 return thread.setValues( new Fixnum(q),497 return thread.setValues(Fixnum.getInstance(q), 498 498 new SingleFloat(value - q * divisor)); 499 499 } … … 508 508 m = (bits & 0x7fffff) | 0x800000; 509 509 LispObject significand = number(m); 510 Fixnum exponent = new Fixnum(e - 150);511 Fixnum sign = new Fixnum(s);510 Fixnum exponent = Fixnum.getInstance(e - 150); 511 Fixnum sign = Fixnum.getInstance(s); 512 512 LispObject result = significand; 513 513 result = … … 525 525 if (quotient >= Integer.MIN_VALUE && quotient <= Integer.MAX_VALUE) { 526 526 int q = (int) quotient; 527 return thread.setValues( new Fixnum(q),527 return thread.setValues(Fixnum.getInstance(q), 528 528 new DoubleFloat(value - q * divisor)); 529 529 } … … 538 538 m = (bits & 0xfffffffffffffL) | 0x10000000000000L; 539 539 LispObject significand = number(m); 540 Fixnum exponent = new Fixnum(e - 1075);541 Fixnum sign = new Fixnum(s);540 Fixnum exponent = Fixnum.getInstance(e - 1075); 541 Fixnum sign = Fixnum.getInstance(s); 542 542 LispObject result = significand; 543 543 result = -
trunk/abcl/src/org/armedbear/lisp/SlotDefinition.java
r11488 r11714 90 90 public final void setLocation(int i) 91 91 { 92 slots[SlotDefinitionClass.SLOT_INDEX_LOCATION] = new Fixnum(i);92 slots[SlotDefinitionClass.SLOT_INDEX_LOCATION] = Fixnum.getInstance(i); 93 93 } 94 94 -
trunk/abcl/src/org/armedbear/lisp/StandardObject.java
r11711 r11714 401 401 return type_error(second, 402 402 list(Symbol.INTEGER, Fixnum.ZERO, 403 new Fixnum(instance.slots.length)));403 Fixnum.getInstance(instance.slots.length))); 404 404 } 405 405 LispObject value; … … 412 412 return type_error(second, 413 413 list(Symbol.INTEGER, Fixnum.ZERO, 414 new Fixnum(instance.slots.length)));414 Fixnum.getInstance(instance.slots.length))); 415 415 } 416 416 if (value == UNBOUND_VALUE) -
trunk/abcl/src/org/armedbear/lisp/Stream.java
r11711 r11714 786 786 LispObject result = 787 787 thread.execute(fun, this, LispCharacter.getInstance(c), 788 (numArg < 0) ? NIL : new Fixnum(numArg));788 (numArg < 0) ? NIL : Fixnum.getInstance(numArg)); 789 789 LispObject[] values = thread._values; 790 790 if (values != null && values.length == 0) … … 1351 1351 { 1352 1352 int n = Integer.parseInt(token, radix); 1353 return (n >= 0 && n <= 255) ? Fixnum.constants[n] : new Fixnum(n);1353 return (n >= 0 && n <= 255) ? Fixnum.constants[n] : Fixnum.getInstance(n); 1354 1354 } 1355 1355 catch (NumberFormatException e) {} … … 1488 1488 { 1489 1489 int n = Integer.parseInt(s, radix); 1490 return (n >= 0 && n <= 255) ? Fixnum.constants[n] : new Fixnum(n);1490 return (n >= 0 && n <= 255) ? Fixnum.constants[n] : Fixnum.getInstance(n); 1491 1491 } 1492 1492 catch (NumberFormatException e) {} … … 1517 1517 { 1518 1518 int n = Integer.parseInt(s, radix); 1519 return (n >= 0 && n <= 255) ? Fixnum.constants[n] : new Fixnum(n);1519 return (n >= 0 && n <= 255) ? Fixnum.constants[n] : Fixnum.getInstance(n); 1520 1520 } 1521 1521 catch (NumberFormatException e) {} … … 2656 2656 else 2657 2657 result = in.read(eofError, third, false, thread); 2658 return thread.setValues(result, new Fixnum(in.getOffset()));2658 return thread.setValues(result, Fixnum.getInstance(in.getOffset())); 2659 2659 } 2660 2660 }; … … 2933 2933 { 2934 2934 // End of file. 2935 return new Fixnum(i);2935 return Fixnum.getInstance(i); 2936 2936 } 2937 2937 v.aset(i, n); … … 2984 2984 { 2985 2985 Stream stream = checkStream(arg); 2986 return new Fixnum(stream.getLineNumber() + 1);2986 return Fixnum.getInstance(stream.getLineNumber() + 1); 2987 2987 } 2988 2988 }; … … 3008 3008 { 3009 3009 Stream stream = checkCharacterOutputStream(arg); 3010 return new Fixnum(stream.getCharPos());3010 return Fixnum.getInstance(stream.getCharPos()); 3011 3011 } 3012 3012 }; -
trunk/abcl/src/org/armedbear/lisp/StringFunctions.java
r11488 r11714 143 143 if (j == end2) 144 144 return NIL; // Strings are identical. 145 return new Fixnum(i);145 return Fixnum.getInstance(i); 146 146 } 147 147 if (j == end2) { 148 148 // Reached end of string2 before end of string1. 149 return new Fixnum(i);149 return Fixnum.getInstance(i); 150 150 } 151 151 if (array1[i] != array2[j]) 152 return new Fixnum(i);152 return Fixnum.getInstance(i); 153 153 ++i; 154 154 ++j; … … 215 215 if (j == end2) 216 216 return NIL; // Strings are identical. 217 return new Fixnum(i);217 return Fixnum.getInstance(i); 218 218 } 219 219 if (j == end2) { 220 220 // Reached end of string2. 221 return new Fixnum(i);221 return Fixnum.getInstance(i); 222 222 } 223 223 char c1 = array1[i]; … … 231 231 continue; 232 232 } 233 return new Fixnum(i);233 return Fixnum.getInstance(i); 234 234 } 235 235 } … … 259 259 if (j == end2) 260 260 return NIL; // Strings are identical. 261 return new Fixnum(i);261 return Fixnum.getInstance(i); 262 262 } 263 263 if (j == end2) { … … 273 273 } 274 274 if (c1 < c2) 275 return new Fixnum(i);275 return Fixnum.getInstance(i); 276 276 // c1 > c2 277 277 return NIL; … … 305 305 if (j == end2) { 306 306 // Reached end of string2. 307 return new Fixnum(i);307 return Fixnum.getInstance(i); 308 308 } 309 309 char c1 = array1[i]; … … 317 317 return NIL; 318 318 // c1 > c2 319 return new Fixnum(i);319 return Fixnum.getInstance(i); 320 320 } 321 321 } … … 343 343 if (i == end1) { 344 344 // Reached end of string1. 345 return new Fixnum(i);345 return Fixnum.getInstance(i); 346 346 } 347 347 if (j == end2) { … … 359 359 return NIL; 360 360 // c1 < c2 361 return new Fixnum(i);361 return Fixnum.getInstance(i); 362 362 } 363 363 } … … 386 386 // Reached end of string1. 387 387 if (j == end2) 388 return new Fixnum(i); // Strings are identical.388 return Fixnum.getInstance(i); // Strings are identical. 389 389 return NIL; 390 390 } 391 391 if (j == end2) { 392 392 // Reached end of string2. 393 return new Fixnum(i);393 return Fixnum.getInstance(i); 394 394 } 395 395 char c1 = array1[i]; … … 403 403 return NIL; 404 404 // c1 > c2 405 return new Fixnum(i);405 return Fixnum.getInstance(i); 406 406 } 407 407 } … … 431 431 if (j == end2) 432 432 return NIL; // Strings are identical. 433 return new Fixnum(i);433 return Fixnum.getInstance(i); 434 434 } 435 435 if (j == end2) { … … 447 447 return NIL; 448 448 // c1 < c2 449 return new Fixnum(i);449 return Fixnum.getInstance(i); 450 450 } 451 451 } … … 477 477 if (j == end2) { 478 478 // Reached end of string2. 479 return new Fixnum(i);479 return Fixnum.getInstance(i); 480 480 } 481 481 char c1 = LispCharacter.toUpperCase(array1[i]); … … 489 489 return NIL; 490 490 // c1 > c2 491 return new Fixnum(i);491 return Fixnum.getInstance(i); 492 492 } 493 493 } … … 516 516 // Reached end of string1. 517 517 if (j == end2) 518 return new Fixnum(i); // Strings are identical.518 return Fixnum.getInstance(i); // Strings are identical. 519 519 return NIL; 520 520 } 521 521 if (j == end2) { 522 522 // Reached end of string2. 523 return new Fixnum(i);523 return Fixnum.getInstance(i); 524 524 } 525 525 char c1 = LispCharacter.toUpperCase(array1[i]); … … 531 531 } 532 532 if (c1 > c2) 533 return new Fixnum(i);533 return Fixnum.getInstance(i); 534 534 // c1 < c2 535 535 return NIL; … … 559 559 if (i == end1) { 560 560 // Reached end of string1. 561 return new Fixnum(i);561 return Fixnum.getInstance(i); 562 562 } 563 563 if (j == end2) { … … 575 575 return NIL; 576 576 // c1 < c2 577 return new Fixnum(i);577 return Fixnum.getInstance(i); 578 578 } 579 579 } … … 1025 1025 // FIXME Don't call getStringValue() here! (Just look at the chars.) 1026 1026 int index = second.getStringValue().indexOf(first.getStringValue()); 1027 return index >= 0 ? new Fixnum(index) : NIL;1027 return index >= 0 ? Fixnum.getInstance(index) : NIL; 1028 1028 } 1029 1029 }; -
trunk/abcl/src/org/armedbear/lisp/StringInputStream.java
r11434 r11714 142 142 { 143 143 if (arg instanceof StringInputStream) 144 return new Fixnum(((StringInputStream)arg).getOffset());144 return Fixnum.getInstance(((StringInputStream)arg).getOffset()); 145 145 return error(new TypeError(String.valueOf(arg) + 146 146 " is not a string input stream.")); -
trunk/abcl/src/org/armedbear/lisp/StructureObject.java
r11488 r11714 492 492 try 493 493 { 494 return new Fixnum(((StructureObject)arg).slots.length);494 return Fixnum.getInstance(((StructureObject)arg).slots.length); 495 495 } 496 496 catch (ClassCastException e) -
trunk/abcl/src/org/armedbear/lisp/Symbol.java
r11711 r11714 150 150 parts = parts.push(new Cons("function", function)); 151 151 parts = parts.push(new Cons("plist", propertyList)); 152 parts = parts.push(new Cons("flags", new Fixnum(flags)));153 parts = parts.push(new Cons("hash", new Fixnum(hash)));152 parts = parts.push(new Cons("flags", Fixnum.getInstance(flags))); 153 parts = parts.push(new Cons("hash", Fixnum.getInstance(hash))); 154 154 return parts.nreverse(); 155 155 } -
trunk/abcl/src/org/armedbear/lisp/Time.java
r11488 r11714 196 196 // Convert milliseconds to hours. 197 197 return LispThread.currentThread().setValues( 198 new Fixnum(- rawOffset).divideBy(new Fixnum(3600000)),198 Fixnum.getInstance(- rawOffset).divideBy(Fixnum.getInstance(3600000)), 199 199 inDaylightTime ? T : NIL); 200 200 } -
trunk/abcl/src/org/armedbear/lisp/dotimes.java
r11488 r11714 130 130 { 131 131 if (binding instanceof SpecialBinding) 132 ((SpecialBinding)binding).value = new Fixnum(i);132 ((SpecialBinding)binding).value = Fixnum.getInstance(i); 133 133 else 134 ((Binding)binding).value = new Fixnum(i);134 ((Binding)binding).value = Fixnum.getInstance(i); 135 135 LispObject body = bodyForm; 136 136 while (body != NIL) … … 180 180 } 181 181 if (binding instanceof SpecialBinding) 182 ((SpecialBinding)binding).value = new Fixnum(i);182 ((SpecialBinding)binding).value = Fixnum.getInstance(i); 183 183 else 184 ((Binding)binding).value = new Fixnum(i);184 ((Binding)binding).value = Fixnum.getInstance(i); 185 185 result = eval(resultForm, ext, thread); 186 186 } -
trunk/abcl/src/org/armedbear/lisp/logandc1.java
r11488 r11714 49 49 if (first instanceof Fixnum) { 50 50 if (second instanceof Fixnum) 51 return new Fixnum(~((Fixnum)first).value &51 return Fixnum.getInstance(~((Fixnum)first).value & 52 52 ((Fixnum)second).value); 53 53 if (second instanceof Bignum) { -
trunk/abcl/src/org/armedbear/lisp/logandc2.java
r11488 r11714 52 52 if (first instanceof Fixnum) { 53 53 if (second instanceof Fixnum) 54 return new Fixnum(((Fixnum)first).value &54 return Fixnum.getInstance(((Fixnum)first).value & 55 55 ~((Fixnum)second).value); 56 56 if (second instanceof Bignum) { -
trunk/abcl/src/org/armedbear/lisp/logcount.java
r11488 r11714 55 55 else 56 56 return type_error(arg, Symbol.INTEGER); 57 return new Fixnum(n.bitCount());57 return Fixnum.getInstance(n.bitCount()); 58 58 } 59 59 -
trunk/abcl/src/org/armedbear/lisp/lognand.java
r11488 r11714 49 49 if (first instanceof Fixnum) { 50 50 if (second instanceof Fixnum) 51 return new Fixnum(~(((Fixnum)first).value &51 return Fixnum.getInstance(~(((Fixnum)first).value & 52 52 ((Fixnum)second).value)); 53 53 if (second instanceof Bignum) { -
trunk/abcl/src/org/armedbear/lisp/lognor.java
r11488 r11714 49 49 if (first instanceof Fixnum) { 50 50 if (second instanceof Fixnum) 51 return new Fixnum(~(((Fixnum)first).value |51 return Fixnum.getInstance(~(((Fixnum)first).value | 52 52 ((Fixnum)second).value)); 53 53 if (second instanceof Bignum) { -
trunk/abcl/src/org/armedbear/lisp/logorc1.java
r11488 r11714 52 52 if (first instanceof Fixnum) { 53 53 if (second instanceof Fixnum) 54 return new Fixnum(~((Fixnum)first).value |54 return Fixnum.getInstance(~((Fixnum)first).value | 55 55 ((Fixnum)second).value); 56 56 if (second instanceof Bignum) { -
trunk/abcl/src/org/armedbear/lisp/logorc2.java
r11488 r11714 52 52 if (first instanceof Fixnum) { 53 53 if (second instanceof Fixnum) 54 return new Fixnum(((Fixnum)first).value |54 return Fixnum.getInstance(((Fixnum)first).value | 55 55 ~((Fixnum)second).value); 56 56 if (second instanceof Bignum) { -
trunk/abcl/src/org/armedbear/lisp/scripting/AbclScriptEngine.java
r11685 r11714 306 306 return ((Boolean)javaObject).booleanValue() ? Lisp.T : Lisp.NIL; 307 307 } else if(javaObject instanceof Byte) { 308 return new Fixnum(((Byte)javaObject).intValue());308 return Fixnum.getInstance(((Byte)javaObject).intValue()); 309 309 } else if(javaObject instanceof Integer) { 310 return new Fixnum(((Integer)javaObject).intValue());310 return Fixnum.getInstance(((Integer)javaObject).intValue()); 311 311 } else if(javaObject instanceof Short) { 312 return new Fixnum(((Short)javaObject).shortValue());312 return Fixnum.getInstance(((Short)javaObject).shortValue()); 313 313 } else if(javaObject instanceof Long) { 314 314 return new Bignum((Long)javaObject);
Note: See TracChangeset
for help on using the changeset viewer.