Changeset 15305


Ignore:
Timestamp:
06/04/20 08:25:12 (6 months ago)
Author:
Mark Evenson
Message:

Implementation of overhauled vectors and arrays as java.nio.ByteBuffer?

N.b. this patch provides Java implementation classes but does not wire
their use into the VM.

Add directAllocation() to nio BasicVector_ types,
BasicVector_IntBuffer, BasicVector_CharBuffer, and
BasicVector_IntBuffer are basically finished.

TODO Finish adding direct allocation to nio derived types.

Added implement a non-destructive version of shrink() to nio
BasicVector? types.

TODO Finish adding directAllocation constructor to nio based

(unsigned-byte 16) and (unsigned-byte 32) subclasses. Test.
Audit.

As the Hammer said to the Bear, "don't truss it".

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

Legend:

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

    r15287 r15305  
    16511651      }
    16521652    return T;
     1653  }
     1654
     1655  public static final char coerceLispObjectToJavaChar(LispObject obj) {
     1656    return (char)Fixnum.getValue(obj);
    16531657  }
    16541658
  • trunk/abcl/src/org/armedbear/lisp/SimpleArray_UnsignedByte16.java

    r15143 r15305  
    8888        if (dims.length == 0) {
    8989            try {
    90                 data[index] = coerceLispObjectToJavaByte(contents);
     90              data[index] = coerceLispObjectToJavaByte(contents); // This has to be wrong!
    9191            }
    9292            catch (ArrayIndexOutOfBoundsException e) {
Note: See TracChangeset for help on using the changeset viewer.