The cl-binary-store Reference Manual

This is the cl-binary-store Reference Manual, version 1.0.0, generated automatically by Declt version 4.0 beta 2 "William Riker" on Sun Jul 13 18:53:12 2025 GMT+0.

Table of Contents


1 Introduction


2 Systems

The main system appears first, followed by any subsystem dependency.


2.1 cl-binary-store

Fast serialization / deserialization library

Long Name

Fast serialization / deserialization library

Author

Andrew J. Berkley <>

License

BSD-3

Version

1.0.0

Dependencies
  • flexi-streams (system).
  • babel (system).
  • static-vectors (system).
  • alexandria (system).
Source

cl-binary-store.asd.

Child Components

3 Files

Files are sorted by type and then listed depth-first from the systems components trees.


3.1 Lisp


3.1.1 cl-binary-store/cl-binary-store.asd

Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

ASDF Systems

cl-binary-store.


3.1.2 cl-binary-store/features.lisp

Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).


3.1.3 cl-binary-store/cl-binary-store.lisp

Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Packages

cl-binary-store.

Public Interface
Internals

unexpected-data (function).


3.1.4 cl-binary-store/cl-binary-store-user.lisp

Dependency

cl-binary-store.lisp (file).

Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Packages

cl-binary-store-user.


3.1.5 cl-binary-store/codespaces.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface
Internals

3.1.6 cl-binary-store/sbcl-special-hash-tables.lisp

If Feature

:sbcl

Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Internals

3.1.7 cl-binary-store/type-discrimination.lisp

Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Internals

3.1.9 cl-binary-store/basic-codespace-codes.lisp

Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface

+action-code+ (constant).

Internals

3.1.11 cl-binary-store/actions.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface
Internals

3.1.12 cl-binary-store/basic-codespace.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface

3.1.13 cl-binary-store/sap-ref.lisp

Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface
Internals

3.1.14 cl-binary-store/storage.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface
Internals

3.1.15 cl-binary-store/unsigned-bytes.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface
Internals

3.1.16 cl-binary-store/referrers-and-fixup.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface
Internals

3.1.17 cl-binary-store/numbers.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface
Internals

3.1.18 cl-binary-store/reference-count.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface

action (method).

Internals

3.1.19 cl-binary-store/magic-numbers.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface
Internals

3.1.20 cl-binary-store/end-action.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface
Internals

3.1.21 cl-binary-store/cons.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface

*support-shared-list-structures* (special variable).

Internals

3.1.22 cl-binary-store/sbcl-utilities.lisp

If Feature

:sbcl

Dependency

features.lisp (file).

Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface

copy-sap (function).

Internals

memcpy (function).


3.1.24 cl-binary-store/simple-vector.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface

3.1.25 cl-binary-store/symbols.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface
Internals

3.1.26 cl-binary-store/array.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface
Internals

is-type-specifier-p (function).


3.1.27 cl-binary-store/pathname.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Internals

3.1.28 cl-binary-store/hash-table.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Internals

3.1.29 cl-binary-store/objects.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface
Internals

3.1.30 cl-binary-store/user.lisp

Dependencies
Source

cl-binary-store.asd.

Parent Component

cl-binary-store (system).

Public Interface

4 Packages

Packages are listed by definition order.


4.1 cl-binary-store

A package that exports tools used inside cl-binary-store for use by
someone writing their own specialized serialization or deserialization routine.

Source

cl-binary-store.lisp.

Use List
  • common-lisp.
  • sb-mop.
Used By List

cl-binary-store-user.

Public Interface
Internals

4.2 cl-binary-store-user

A Common Lisp serialization/deserialization library
for Common Lisp objects to a binary format. Optimized for speed and
lightly for flexibility. It is about 10x faster than cl-store and
produces reasonably compact files (plug it into a gzip stream if you
want more). Currently only works on SBCL.

Out of the box we support reading/writing from/to streams,
reading/writing from/to in-memory vectors, reading/writing to raw
memory.

Extending this with your own serializer / deserializer is
straightforward as it is expected that the default standard-object
and structure-object serialization may not meet everyones needs.

All number types are supported, but we provide specialized compact writers for: ub8, ub16, ub32, ub64, fixnum, single-float, double-float
(complex double-float) (complex single-float)

All array types are supported.

On SBCL we provide fast and compact serialization of vectors and simple-arrays of: bit (simple-bit-vector in 1D or multi-dimensional)
base-char (simple-base-string in 1D or multi-dimensional)
character (simple-string in 1D or multi-dimensional)
single-float
double-float
fixnum
signed-byte: 8 16 32 64
unsigned-byte: 2 4 7 8 15 16 31 32 62 64

Source

cl-binary-store-user.lisp.

Use List

5 Definitions

Definitions are sorted by export status, category, package, and then by lexicographic order.


5.1 Public Interface


5.1.1 Constants

Constant: +action-code+

A request to perform an action. Used for checking codespace versions and for updating reference vector size and for marking the end of data

Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +basic-codespace+

This is the basic codespace of cl-binary-store.

Package

cl-binary-store.

Source

basic-codespace.lisp.


5.1.2 Special variables

Special Variable: *allow-codespace-switching*

Set this to NIL if you want to specify the format of file you want to load and not allow it to be set automatically based on the data format of the file.

Package

cl-binary-store.

Source

magic-numbers.lisp.

Special Variable: *codespaces*

a map from magic/version-number -> ‘codespace’

Package

cl-binary-store.

Source

codespaces.lisp.

Special Variable: *current-codespace*

a ‘codespace’ bound by store based on
*write-version*. This is also bound during restore operations once we know the format of the data stream or is set to *read-version*.

Package

cl-binary-store.

Source

codespaces.lisp.

Special Variable: *double-float-refs-table-size*

A hint for the starting size of the double float tracking reference table

Package

cl-binary-store.

Source

basic-codespace.lisp.

Special Variable: *eq-refs-table-size*

A hint for the starting size of the object tracking hash table used for most objects

Package

cl-binary-store.

Source

basic-codespace.lisp.

Special Variable: *max-to-read*

The maximum amount of data to restore (2GB) before complaining.

Package

cl-binary-store.

Source

storage.lisp.

Special Variable: *max-to-write*

The default maximum of data to write to disk (10GB) before complaining.

Package

cl-binary-store.

Source

storage.lisp.

Special Variable: *num-eq-refs-table-size*

A hint for the starting size of the hash table tracking misc number types (complex, ratios, bignums)

Package

cl-binary-store.

Source

basic-codespace.lisp.

Special Variable: *output-end-marker*

If T, once all objects are stored an end marker will be written to the output. This will trigger the end of restore (for use in cases where there
isn’t an obvious end of file)

Package

cl-binary-store.

Source

codespaces.lisp.

Special Variable: *output-magic-number*

If T we will write out a magic number and *write-version* to the output, which will be validated against our existing *codespaces* when we read it back.

Package

cl-binary-store.

Source

user.lisp.

Special Variable: *read-version*

The default codespace version to use if no versioning information is in the stream

Package

cl-binary-store.

Source

user.lisp.

Special Variable: *support-shared-list-structures*

If this is T, then circular lists of all types and structures that share list parts will be serialized correctly. This is very expensive.

Package

cl-binary-store.

Source

cons.lisp.

Special Variable: *track-references*

If you let this to NIL, then every object will be stored anew, and there will be no circular reference detection. It’s a huge performance win (you can hit hundreds of MB/sec instead of 10s of MB/sec, but you need to make sure your data is safe to serialize and you don’t care about EQL checks of data.

Package

cl-binary-store.

Source

codespaces.lisp.

Special Variable: *version-being-read*

During restore this is bound to any magic number found previous to this in the file.

Package

cl-binary-store.

Source

codespaces.lisp.

Special Variable: *write-version*

Set this to the magic number you wish to write into the file. It may be queried by serialization routines if desired.

Package

cl-binary-store.

Source

magic-numbers.lisp.


5.1.3 Macros

Macro: define-codespace ((name magic-number &key inherits-from debug) &body body)

Creates and registers a codespace into *codespaces*. Within this environment
there are a three pre-defined symbols:
TRACK-REFERENCES is bound to *track-references*
OBJ within a defstore is the object you should store
CODE within a defrestore is the tag code that has been read.
STORAGE is a ‘read-storage’ if you are in a defrestore, if you are in a
defstore, it is either a ‘write-storage’ or NIL if you are in the reference
counting phase (you can provide a separate function for that phase too).
RESTORE-OBJECT is a (lambda ()) -> object that can be passed to a function during the restore phase STORE-OBJECT is a (lambda (object)) -> writes stuff out

Package

cl-binary-store.

Source

codespaces.lisp.

Macro: defrestore (code restore-function-signature)
Package

cl-binary-store.

Source

codespaces.lisp.

Macro: defstore (type store-function-signature &key call-during-reference-phase check-for-ref-in write-phase-code override)
Package

cl-binary-store.

Source

codespaces.lisp.

Macro: delete-restore (code)

In define-codespace that has inherited another codespace, delete store capability for a type

Package

cl-binary-store.

Source

codespaces.lisp.

Macro: delete-store (type)
Package

cl-binary-store.

Source

codespaces.lisp.

Macro: restore-double-float-to (slot storage)

Restore a double-float to an object that is not constructed yet.

Package

cl-binary-store.

Source

numbers.lisp.

Macro: restore-object-to (place restore-object &optional tag)

If you are deserializing an object which contains slots (for
example an array, a list, hash-table, or structure-object or a standard-object) which may point to other lisp objects which have yet to be fully reified, then please update your slots with this macro which will handle circularity fixups for you.

Note that we capture any parameters of place so you may safely use this in loops or with references to variables whose values may be updated later

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Macro: sap-ref-16 (sap offset)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: sap-ref-32 (sap offset)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: sap-ref-64 (sap offset)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: sap-ref-8 (sap offset)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: sap-ref-double (sap offset)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: sap-ref-single (sap offset)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: set-sap-ref-16 (sap offset ub16)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: set-sap-ref-32 (sap offset ub32)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: set-sap-ref-64 (sap offset ub64)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: set-sap-ref-8 (sap offset ub8)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: set-sap-ref-double (sap offset double)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: set-sap-ref-single (sap offset single-float)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: set-signed-sap-ref-64 (sap offset value)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: signed-sap-ref-64 (sap offset)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: vector-sap (vector)

On sbcl, return a SAP referring to the backing store of vector

Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: with-pinned-objects ((&rest objects) &body body)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: with-write-storage ((storage &key offset reserve-bytes sap) &body body)

Skips the body if storage does not exist, like during the reference scanning phase

Package

cl-binary-store.

Source

storage.lisp.


5.1.4 Ordinary functions

Reader: action-code (instance)
Package

cl-binary-store.

Source

actions.lisp.

Target Slot

code.

Function: check/store-reference (object storage references assign-new-reference-id &key add-new-reference)

Used during the storage phase both during the reference counting step and the serialization step. This function returns T if this object has already been written out, in which case the caller should NOT write OBJECT out to storage. If NIL, then you must write the OBJECT out. If ADD-NEW-REFERENCE is T, in the case where this function returns NIL, we will generate a new reference id for this object so it can be used in the future. The only case where ADD-NEW-REFERENCE should be NIL is if you are explicitly dis-allowing (for performance reasons) circularity, as we optionally do during cons serialization.

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: copy-sap (target-sap target-offset source-sap source-offset n)
Package

cl-binary-store.

Source

sbcl-utilities.lisp.

Function: delete-codespace (codespace)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: ensure-enough-data (read-storage bytes &optional return-nil-on-eof)

For RESTORE operation.
Ensure that we have at least BYTES of data in STORAGE. May signal ‘out-of-data’ unless return-nil-on-eof is t. Do not ask for more than (storage-size storage), which is guaranteed to be >8192 bytes.

Package

cl-binary-store.

Source

storage.lisp.

Function: make-end-marker (&key code)
Package

cl-binary-store.

Source

end-action.lisp.

Reader: object-info-slot-names (instance)
Writer: (setf object-info-slot-names) (instance)
Package

cl-binary-store.

Source

object-info.lisp.

Target Slot

slot-names.

Reader: object-info-type (instance)
Writer: (setf object-info-type) (instance)
Package

cl-binary-store.

Source

object-info.lisp.

Target Slot

type.

Reader: read-storage-offset (instance)
Writer: (setf read-storage-offset) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

offset.

Reader: read-storage-sap (instance)
Writer: (setf read-storage-sap) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

sap.

Reader: read-storage-store (instance)
Writer: (setf read-storage-store) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

store.

Function: replace-store-sap-buffer (sap &key sap-size sap-offset)
Package

cl-binary-store.

Source

user.lisp.

Function: restore (place &key load/save-progress-indicator allow-codespace-switching max-to-read read-version)

PLACE may be a string or pathname designating a file to read from, or a stream to read from (must have element type (unsigned-byte 8)), or a vector.

(restore #(14 39 37 0 2 72 73 15)) -> (values :hi))
(store filename (list (list :hi :bye) :something) :as-separate-objects t) (restore filename/stream/place) -> (values (list :hi :bye) :something) (restore-from-vector (store nil :hi :bye)) -> (values :hi :bye)

If ALLOW-CODESPACE-SWITCHING then the file can specify a version different from READ-VERSION and we will switch to it if it is available.

MAX-TO-READ specifies the maximum amount of data in bytes we should load.

LOAD/SAVE-PROGRESS-INDICATOR, if T, shows you some indications while loading

Package

cl-binary-store.

Source

user.lisp.

Function: restore-action& (storage references restore-object)
Package

cl-binary-store.

Source

actions.lisp.

Function: restore-array (storage restore-object)
Package

cl-binary-store.

Source

array.lisp.

Function: restore-bignum (storage)
Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-complex (restore-object)
Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-complex-double-float (storage)
Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-complex-single-float (storage)
Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-double-float (storage)
Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-from-file (filename)
Package

cl-binary-store.

Source

user.lisp.

Function: restore-from-sap (sap size)
Package

cl-binary-store.

Source

user.lisp.

Function: restore-from-stream (stream)
Package

cl-binary-store.

Source

user.lisp.

Function: restore-from-vector (vector)
Package

cl-binary-store.

Source

user.lisp.

Function: restore-ratio (restore-object)
Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-simple-specialized-array (storage)
Package

cl-binary-store.

Source

simple-array.lisp.

Function: restore-simple-specialized-vector (storage)
Package

cl-binary-store.

Source

simple-array.lisp.

Function: restore-simple-vector (storage restore-object)
Package

cl-binary-store.

Source

simple-vector.lisp.

Function: restore-single-float (storage)
Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-standard/structure-object (storage restore-object)
Package

cl-binary-store.

Source

objects.lisp.

Function: restore-string (storage)

Can only be used if you are sure that the strings are not references, so that means they must have been stored with store-string/no-refs

Package

cl-binary-store.

Source

simple-array.lisp.

Function: restore-symbol (storage restore-object)

Do not call me directly because if you called store-symbol you may have ended up writing a reference to the symbol object instead of the symbol object.

Package

cl-binary-store.

Source

symbols.lisp.

Function: store (place data &key track-references support-shared-list-structures max-to-write as-separate-objects output-end-marker output-magic-number write-version load/save-progress-indicator)

When PLACE is NIL, returns a (vector (unsigned-byte 8) (*)) with fill-pointer
ex: (store nil (list 1.234d56)) #(32 5 11 90 215 48 169 108 33 148 75 5)

When PLACE is a filename/string/pathname writes data to the respective file.

When PLACE is a vector writes data to it and returns num used bytes... if vector is
adjustable, it may be adjusted. Otherwise we error if we run out of space.

If you provide a list of objects in DATA and you specify AS-SEPARATE-OBJECTS
they will come back from RESTORE as multiple values. Otherwise we just store the list.

ex: (restore (store filename (list :hi :bye) :data-is-list-of-separate-objects t)) -> (values :hi :bye).

If OUTPUT-MAGIC-NUMBER we write out WRITE-VERSION at the beginning of the stream and
it will then be validated on restore.

MAX-TO-WRITE is the maximum number of bytes you want to write out before erroring.

SUPPORT-SHARED-LIST-STRUCTURES should be T if you have circular lists or share tails of lists and want them to come back properly EQL.

TRACK-REFERENCES should be T if you have references between the elements in data.

LOAD/SAVE-PROGRESS-INDICATOR, if T, shows you some indications while loading

Package

cl-binary-store.

Source

user.lisp.

Function: store-action& (action storage store-object)
Package

cl-binary-store.

Source

actions.lisp.

Function: store-array (array storage eq-refs store-object assign-new-reference-id)
Package

cl-binary-store.

Source

array.lisp.

Function: store-bignum (bignum storage)
Package

cl-binary-store.

Source

numbers.lisp.

Function: store-boolean (boolean storage)
Package

cl-binary-store.

Source

symbols.lisp.

Function: store-complex (complex storage store-object)
Package

cl-binary-store.

Source

numbers.lisp.

Function: store-complex-double-float (complex-double-float storage)
Package

cl-binary-store.

Source

numbers.lisp.

Function: store-complex-single-float (complex-single-float storage)
Package

cl-binary-store.

Source

numbers.lisp.

Function: store-double-float (double-float storage double-float-refs assign-new-reference-id &optional tag)
Package

cl-binary-store.

Source

numbers.lisp.

Function: store-fixnum (fixnum storage)

Store and tag a fixnum; if inside another tag

Package

cl-binary-store.

Source

numbers.lisp.

Function: store-nil (storage)
Package

cl-binary-store.

Source

symbols.lisp.

Function: store-ratio (ratio storage num-eq-refs assign-new-reference-id)

Nominally we don’t need to do references here, but if someone has two bignums and takes a ratio of them, we don’t want to store the bignums twice.

Package

cl-binary-store.

Source

numbers.lisp.

Function: store-simple-specialized-array (sa storage)
Package

cl-binary-store.

Source

simple-array.lisp.

Function: store-simple-specialized-vector (sv storage &optional tag)
Package

cl-binary-store.

Source

simple-array.lisp.

Function: store-simple-vector (sv storage store-object)
Package

cl-binary-store.

Source

simple-vector.lisp.

Function: store-single-float (single-float storage &optional tag)
Package

cl-binary-store.

Source

numbers.lisp.

Function: store-standard/structure-object (obj storage eq-refs store-object assign-new-reference-id is-standard-object object-info implicit-eql-refs implicit-ref-id)
Package

cl-binary-store.

Source

objects.lisp.

Function: store-string (string storage references assign-new-reference-id)
Package

cl-binary-store.

Source

simple-array.lisp.

Function: store-string/no-refs (string storage)
Package

cl-binary-store.

Source

simple-array.lisp.

Function: store-symbol (symbol storage eq-refs store-object assign-new-reference-id)
Package

cl-binary-store.

Source

symbols.lisp.

Function: store-t (storage)
Package

cl-binary-store.

Source

symbols.lisp.

Function: store-tagged-unsigned-fixnum (fixnum storage)

Store and tag a number from 0 to max-positive-fixnum.
You can call ‘restore-tagged-unsigned-fixnum’ to restore it (or restore-object). Do not call this except during the actual storage phase.

Package

cl-binary-store.

Source

numbers.lisp.

Function: store-tagged-unsigned-integer (integer storage)

Store and tag any unsigned integer. For restoring this, call restore-object as this may be a bignum. Prefer ‘store-tagged-unsigned-fixnum’ if you are sure this isn’t a bignum

Package

cl-binary-store.

Source

numbers.lisp.

Function: store-to-extant-vector (vector &rest data)
Package

cl-binary-store.

Source

user.lisp.

Function: store-to-file (filename &rest elements)
Package

cl-binary-store.

Source

user.lisp.

Function: store-to-sap (sap size &rest data)

This may error with ‘out-of-space’ (which contains out-of-space-current-offset and out-of-space-wanted-bytes). The out-of-space-current-offset is the amount of data that has been written so far. out-of-space-wanted-bytes is not useful unless you happen to be writing very large stuff as it will likely be a small number representing the immediate need. Best to allocate a big chunk and when this finally returns we return the amount of data we wrote to the chunk. Call (replace-store-sap-buffer sap sap-offset) in a handler-bind to do this updating. See test test-sap-write/read for an example.

Package

cl-binary-store.

Source

user.lisp.

Function: store-to-stream (stream &rest elements)
Package

cl-binary-store.

Source

user.lisp.

Function: store-to-vector (&rest elements)

Returns an (array (unsigned-byte 8) (*)) with the data

Package

cl-binary-store.

Source

user.lisp.

Function: store-ub16 (ub16 storage &optional tag)

Store an (unsigned-byte 16) value UB16 to STORAGE. If TAG is true will emit +UB16-CODE+ to STORAGE first. Set TAG NIL if the deserializer will know from the context that the value is a UB16 to save a byte.

Package

cl-binary-store.

Source

unsigned-bytes.lisp.

Function: store-ub32 (ub32 storage &optional tag)

Store an (unsigned-byte 32) value UB32 to STORAGE. If TAG is true will emit +UB32-CODE+ to STORAGE first. Set TAG NIL if the deserializer will know from the context that the value is a UB32 to save a byte.

Package

cl-binary-store.

Source

unsigned-bytes.lisp.

Function: store-ub8/no-tag (ub8 storage)

Store an (unsigned-byte 8) value UB8 to STORAGE. If TAG is nil then we will skip writing a tag byte; use if your deserializer will know that the next byte is a UB8. Do not call except during storage phase

Package

cl-binary-store.

Source

unsigned-bytes.lisp.

Function: store-ub8/tag (ub8 storage)

Store an (unsigned-byte 8) value UB8 to STORAGE. If TAG is nil then we will skip writing a tag byte; use if your deserializer will know that the next byte is a UB8. Do not call except during storage phase

Package

cl-binary-store.

Source

unsigned-bytes.lisp.

Reader: write-storage-offset (instance)
Writer: (setf write-storage-offset) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

offset.

Reader: write-storage-sap (instance)
Writer: (setf write-storage-sap) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

sap.

Reader: write-storage-store (instance)
Writer: (setf write-storage-store) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

store.


5.1.5 Generic functions

Generic Function: action (command storage references restore-object)

If we hit an +action-code+ during restore,
we will call this which should specialize on command (a ub8).
You can read anything from the file here as arguments to
the action. Return two values, an object/nil and a second
value which is :ignore, :end, or nil if the object is to be collected for the user. The second value only works if the object is a top level object (that is one of the objects in
the call to store (store nil obj-a obj-b (make-instance ’end-action))

Package

cl-binary-store.

Source

actions.lisp.

Methods
Method: action ((code (eql 2)) storage references restore-object)
Source

end-action.lisp.

Method: action ((code (eql 0)) storage references restore-object)
Source

magic-numbers.lisp.

Method: action ((code (eql 1)) storage references restore-object)
Source

reference-count.lisp.

Method: action (command storage references restore-object)
Generic Reader: missing-slot-data-slots (condition)
Package

cl-binary-store.

Methods
Reader Method: missing-slot-data-slots ((condition missing-slot))
Source

objects.lisp.

Target Slot

data-slots.

Generic Reader: missing-slot-image-slots (condition)
Package

cl-binary-store.

Methods
Reader Method: missing-slot-image-slots ((condition missing-slot))
Source

objects.lisp.

Target Slot

image-slots.

Generic Reader: missing-slot-type (condition)
Package

cl-binary-store.

Methods
Reader Method: missing-slot-type ((condition missing-slot))
Source

objects.lisp.

Target Slot

type.

Generic Reader: object-type-not-found-object-info (condition)
Package

cl-binary-store.

Methods
Reader Method: object-type-not-found-object-info ((condition object-type-not-found))
Source

objects.lisp.

Target Slot

object-info.

Generic Reader: out-of-space-current-offset (condition)
Package

cl-binary-store.

Methods
Reader Method: out-of-space-current-offset ((condition out-of-space))
Source

storage.lisp.

Target Slot

current-offset.

Generic Reader: out-of-space-wanted-bytes (condition)
Package

cl-binary-store.

Methods
Reader Method: out-of-space-wanted-bytes ((condition out-of-space))
Source

storage.lisp.

Target Slot

wanted-bytes.

Generic Function: serializable-object-info (type)

Must return two values. The first value must be a
list of slot-names (symbols) which should be serialized for this object.

The second value may be NIL or a function which will be called with each slot-name and slot-value and should return a serializable object (like nil) for that slot.

Package

cl-binary-store.

Source

objects.lisp.

Methods
Method: serializable-object-info (type)
Generic Function: specialized-object-constructor (type)

May return a function that will be used to construct an object from
an ‘object-info’ structure and a simple vector of slot-values in the same order as (object-info-slot-names object-info):
(lambda (object-info slot-values) -> object)
Be careful in the case of circular references: it may be in that case that a slot-value is a ‘fixup’, in which case you have to provide a function to be called back when the object is fully reified. See restore-object-to for the logic.

Package

cl-binary-store.

Source

objects.lisp.

Methods
Method: specialized-object-constructor (type)
Generic Function: specialized-serializer/deserializer (type)

Returns two values, the first value is a
function (or nil) that will be called as a:
(lambda (object storage eq-refs store-object assign-new-reference-id))
and as side effects should write to storage, etc. The second value should be a function that has a signature (lambda (storage restore-object) -> object)

Package

cl-binary-store.

Source

objects.lisp.

Methods
Method: specialized-serializer/deserializer (type)

5.1.6 Standalone methods

Method: print-object ((obj object-type-not-found) str)
Source

objects.lisp.

Method: print-object ((obj missing-slot) stream)
Source

objects.lisp.

Method: print-object ((obj missing-package-during-restore) stream)
Source

symbols.lisp.

Method: print-object ((s write-storage) stream)
Source

storage.lisp.

Method: print-object ((s read-storage) stream)
Source

storage.lisp.


5.1.7 Conditions

Condition: invalid-input-data
Package

cl-binary-store.

Source

cl-binary-store.lisp.

Direct superclasses

simple-error.

Direct subclasses
Condition: maybe-expected-error

Things like MISSING-PACKAGE-DURING-RESTORE, MISSING-SLOT

Package

cl-binary-store.

Source

cl-binary-store.lisp.

Direct superclasses

invalid-input-data.

Direct subclasses
Condition: missing-package-during-restore
Package

cl-binary-store.

Source

symbols.lisp.

Direct superclasses

maybe-expected-error.

Direct methods
Direct slots
Slot: symbol-string
Initargs

:symbol-string

Readers

missing-package-symbol-string.

Writers

This slot is read-only.

Slot: package-string
Initargs

:package-string

Readers

missing-package-package-string.

Writers

This slot is read-only.

Condition: missing-slot
Package

cl-binary-store.

Source

objects.lisp.

Direct superclasses

maybe-expected-error.

Direct methods
Direct slots
Slot: slot-name
Initargs

:slot-name

Readers

missing-slot-name.

Writers

This slot is read-only.

Slot: type
Package

common-lisp.

Initargs

:type

Readers

missing-slot-type.

Writers

This slot is read-only.

Slot: data-slots
Initargs

:data-slots

Readers

missing-slot-data-slots.

Writers

This slot is read-only.

Slot: image-slots
Initargs

:image-slots

Readers

missing-slot-image-slots.

Writers

This slot is read-only.

Condition: object-type-not-found
Package

cl-binary-store.

Source

objects.lisp.

Direct superclasses

maybe-expected-error.

Direct methods
Direct slots
Slot: object-info
Initargs

:object-info

Readers

object-type-not-found-object-info.

Writers

This slot is read-only.

Condition: out-of-data

Ran out of data while expecting more while reading /deserializing

Package

cl-binary-store.

Source

storage.lisp.

Direct superclasses

invalid-input-data.

Direct Default Initargs
InitargValue
:format-controlout of data
Condition: out-of-space

Ran out of space while writing data

Package

cl-binary-store.

Source

storage.lisp.

Direct superclasses

error.

Direct methods
Direct slots
Slot: current-offset
Initargs

:current-offset

Readers

out-of-space-current-offset.

Writers

This slot is read-only.

Slot: wanted-bytes
Initargs

:wanted-bytes

Readers

out-of-space-wanted-bytes.

Writers

This slot is read-only.

Condition: too-much-data

Tried to read / write more than allowed amount of data. If you choose
any of the continue options, the current operation will continue (which might be a make-array or make-list call which may exceed what you input)

Package

cl-binary-store.

Source

storage.lisp.

Direct superclasses

invalid-input-data.

Direct methods
Direct slots
Slot: bytes-read
Initargs

:bytes

Readers

too-much-data-bytes.

Writers

This slot is read-only.

Slot: max-bytes
Initargs

:max-bytes

Readers

too-much-data-max-bytes.

Writers

This slot is read-only.


5.1.8 Structures

Structure: action
Package

cl-binary-store.

Source

actions.lisp.

Direct superclasses

structure-object.

Direct subclasses
Direct slots
Slot: code
Type

(unsigned-byte 8)

Readers

action-code.

Writers

This slot is read-only.

Structure: object-info
Package

cl-binary-store.

Source

object-info.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: class
Package

common-lisp.

Initform

(find-class (quote structure-object))

Readers

object-info-class.

Writers

(setf object-info-class).

Slot: slot-names
Type

simple-vector

Initform

#()

Readers

object-info-slot-names.

Writers

(setf object-info-slot-names).

Slot: type
Package

common-lisp.

Type

symbol

Initform

(quote cl-binary-store:object-info)

Readers

object-info-type.

Writers

(setf object-info-type).

Slot: slot-value-filter-func
Type

(or null function)

Readers

object-info-slot-value-filter-func.

Writers

(setf object-info-slot-value-filter-func).

Slot: use-initialize-instance
Type

boolean

Readers

object-info-use-initialize-instance.

Writers

(setf object-info-use-initialize-instance).

Slot: specialized-constructor
Type

(or null function)

Readers

object-info-specialized-constructor.

Writers

(setf object-info-specialized-constructor).

Slot: specialized-serializer
Type

(or null function)

Readers

object-info-specialized-serializer.

Writers

(setf object-info-specialized-serializer).

Slot: specialized-deserializer
Type

(or null function)

Readers

object-info-specialized-deserializer.

Writers

(setf object-info-specialized-deserializer).

Slot: ref-id
Type

(or null (and fixnum (integer * -1)))

Readers

object-info-ref-id.

Writers

(setf object-info-ref-id).

Structure: references

During deserialization this array contains all the references we
have seen so far, and a running count ref-id of assigned ids. Nominally the array size is hinted at the start of restore, but the code allows it to grow if needed.

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: vector
Package

common-lisp.

Type

simple-vector

Initform

(make-array 0)

Readers

references-vector.

Writers

(setf references-vector).

Slot: ref-id
Type

fixnum

Initform

0

Readers

references-ref-id.

Writers

(setf references-ref-id).


5.2 Internals


5.2.1 Constants

Constant: +array-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +bignum-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +complex-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +complex-double-float-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +complex-single-float-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +cons-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +double-float-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +double-float-zero-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +end-action-code+
Package

cl-binary-store.

Source

actions.lisp.

Constant: +finite-length-list-code+

When tracking references, we know all list lengths in advance

Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +first-direct-reference-id-code+

[35 63] used for direct reference codes (tag only) ref id [1 29]

Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +first-direct-unsigned-integer+
Package

cl-binary-store.

Source

simple-array.lisp.

Constant: +first-direct-unsigned-integer-interior-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +first-one-byte-reference-id-code+

[64 127] used for the tag + one byte reference codes (6 bits)

Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +first-small-integer-code+

[192 224] is used for small signed integers [-16 16]

Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +first-two-byte-reference-id-code+

[128 191] used for the two byte codes (6 bits)

Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +first-user-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +fixnum-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +hash-table-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +interior-coded-max-integer+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +last-direct-reference-id-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +last-one-byte-reference-id-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +last-small-integer-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +last-two-byte-reference-id-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +last-user-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +magic-number-action-code+
Package

cl-binary-store.

Source

actions.lisp.

Constant: +max-direct-encoded-unsigned-integer+
Package

cl-binary-store.

Source

simple-array.lisp.

Constant: +maximum-untagged-unsigned-integer+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +minimum-untagged-signed-integer+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +new-reference-indicator-code+

Note that the next object to be read should be assigned the next consecutive reference id

Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +nil-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +object-info-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +pathname-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +ratio-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +reference-direct-max-ref-id+
Package

cl-binary-store.

Source

reference-coding.lisp.

Constant: +reference-direct-min-ref-id+
Package

cl-binary-store.

Source

reference-coding.lisp.

Constant: +reference-one-byte-max-ref-id+
Package

cl-binary-store.

Source

reference-coding.lisp.

Constant: +reference-one-byte-min-ref-id+
Package

cl-binary-store.

Source

reference-coding.lisp.

Constant: +reference-two-byte-max-ref-id+
Package

cl-binary-store.

Source

reference-coding.lisp.

Constant: +reference-two-byte-min-ref-id+
Package

cl-binary-store.

Source

reference-coding.lisp.

Constant: +sb16-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +sb32-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +sb8-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +set-reference-action-code+
Package

cl-binary-store.

Source

actions.lisp.

Constant: +simple-base-string-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +simple-specialized-array-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +simple-specialized-vector-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +simple-string-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +simple-vector-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +single-float-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +small-integer-zero-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +standard/structure-object-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +symbol-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +t-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +tagged-reference-code+

A reference to an object

Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +ub16-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +ub32-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +ub8-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +unbound-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.

Constant: +uninterned-symbol-code+
Package

cl-binary-store.

Source

basic-codespace-codes.lisp.


5.2.2 Special variables

Special Variable: *current-codespace/compile-time*

nil or a ‘codespace’. This is bound while compiling each codespace.

Package

cl-binary-store.

Source

codespaces.lisp.

Special Variable: *good-top-levels*
Package

cl-binary-store.

Source

type-discrimination.lisp.

Special Variable: *load/save-progress-indicator*

If T will write out some progress while loading and saving

Package

cl-binary-store.

Source

storage.lisp.

Special Variable: *many-types*
Package

cl-binary-store.

Source

type-discrimination.lisp.

Special Variable: *preferred-dispatch-order*

To change this, setf it and call (rebuild-dispatch).
In benchmarking you will see factors of two speed differences by tweaking this (test-cl-binary-store-on-data (long-list-of-small-integers) :track-references nil)

Package

cl-binary-store.

Source

type-discrimination.lisp.

Special Variable: *store-class-slots*

If set / let to T, then slots in standard-objects with :class allocation will be stored, otherwise not.

Package

cl-binary-store.

Source

objects.lisp.


5.2.3 Macros

Macro: array-sap (array)

Return a pointer referring to the backing store of an array (on sbcl)

Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: check-if-too-much-data (max-byte-place total-bytes)
Package

cl-binary-store.

Source

storage.lisp.

Macro: make-writer/reader (size-bits signed &key name-override reader array-type)
Package

cl-binary-store.

Source

simple-array.lisp.

Macro: mask-signed (x size)

Re-interpret a SIZE bit lisp number as if it were a signed twos complement number

Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: maybe-store-local-reference-instead ((object-info storage eql-refs) &body body)

Called during the serialization / storage phase. This is a kludged implicit referencing scheme used when the global *track-references* is disabled. This lets us avoid calculating and writing and reading what each object type is.

Package

cl-binary-store.

Source

objects.lisp.

Macro: maybe-store-reference-instead ((obj storage references assign-new-reference-id &key add-new-reference) &body body)

Objects may be seen multiple times during serialization,
so where object equality after deserialization is expected (pretty much every object except numbers) or not determinable (double-floats, complex, ratios, bignum), we record objects along with reference ids that we can refer to later in the serialization to point to the original object. The counting of objects is done explicitly in the writing phase, so there is nothing to do in the reading phase except to plunk objects into the right place in the *references* array.

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Macro: negative-to-twos-complement/16 (x)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: negative-to-twos-complement/32 (x)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: negative-to-twos-complement/64 (x)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: negative-to-twos-complement/8 (x)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: reader (bits signed &optional name-override array-type)
Package

cl-binary-store.

Source

simple-array.lisp.

Macro: register-global-state (name construction-code &key type dynamic-extent documentation store restore)
Package

cl-binary-store.

Source

codespaces.lisp.

Macro: register-references (table-name construction-code)
Package

cl-binary-store.

Source

codespaces.lisp.

Macro: sap-ref-fixnum (sap offset)

This is hideous. On SBCL we have stored the data fixnum encoded, which means shifted up by one so we shift it back to generate an ’unencoded’ fixnum. We would normally just have blitted things back into the array without telling sbcl what we are doing, but in the presence of potentially malicious data, we have to make sure that our numbers are fixnums, so we shift them back down which makes it impossible for malicious actor to put bogus dat in the array sap. On non sbcl we just check to make sure things are fixnums because we did not blit the data out

Package

cl-binary-store.

Source

simple-array.lisp.

Macro: set-sap-ref-fixnum (sap offset value)

Inside serialized specialized arrays, we store fixnums in 64-bit storage spots shifted up one, that is as if all implementations just used a 0 tag bit as the lowest bit.

Package

cl-binary-store.

Source

simple-array.lisp.

Macro: set-signed-sap-ref-16 (sap offset value)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: set-signed-sap-ref-32 (sap offset value)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: set-signed-sap-ref-8 (sap offset value)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: signed-sap-ref-16 (sap offset)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: signed-sap-ref-32 (sap offset)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: signed-sap-ref-8 (sap offset)
Package

cl-binary-store.

Source

sap-ref.lisp.

Macro: truly-the (type &body body)
Package

cl-binary-store.

Source

storage.lisp.

Macro: with-delayed-reference/fixup ((ref-id references) &body body)

When we know an object is going to be referred to multiple times,
we place it in the *references* array immediately before we even start building it because it may not be buildable without restoring other objects that might refer to it. So we always stick a fixup in the references array first for any of those newly created objects to hang their requests to be notified of the final object once it is constructed. BODY must eventually yield the fully constructed object. Not hygenic,

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Macro: with-read-storage ((storage &key offset sap reserve-bytes) &body body)
Package

cl-binary-store.

Source

simple-array.lisp.

Macro: with-reference-tables (track-references &rest body)
Package

cl-binary-store.

Source

codespaces.lisp.

Macro: with-storage/read ((storage &key stream buffer-size sap flusher store max size) &body body)

Used to create a read-storage from user provided stream or sap or stream

Package

cl-binary-store.

Source

storage.lisp.

Macro: with-storage/write ((storage &key stream buffer-size sap flusher store max offset) &body body)

Used to create a write-storage from user provided sap, store, or stream.

Package

cl-binary-store.

Source

storage.lisp.

Macro: with-tracking-data ((total-bytes update-fcn &optional leader-default) &body body)

Provides a function (update bytes &optional eof) which should be called when new bytes are read or written. Used for *load/save-progress-indicator*

Package

cl-binary-store.

Source

storage.lisp.

Macro: writer (bits signed &optional name-override array-type)
Package

cl-binary-store.

Source

simple-array.lisp.


5.2.4 Ordinary functions

Function: action-p (object)
Package

cl-binary-store.

Source

actions.lisp.

Function: analyze-references-hash-table (table-name references)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: another-p (object)
Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: ask-for-new-amount ()
Package

cl-binary-store.

Source

storage.lisp.

Function: ask-for-new-class ()
Package

cl-binary-store.

Source

objects.lisp.

Function: ask-for-new-package-name ()
Package

cl-binary-store.

Source

symbols.lisp.

Function: ask-for-new-slot-name ()
Package

cl-binary-store.

Source

objects.lisp.

Function: binned-disjoint-types (type-specifiers)

Returns an alist with keys being a type and values being sub-types of the values. CL-USER> (binned-disjoint-types ’(fixnum (unsigned-byte 8) standard-object)) -> ((STANDARD-OBJECT) (FIXNUM (UNSIGNED-BYTE 8)))

Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: bits->num (bits)
Package

cl-binary-store.

Source

numbers.lisp.

Function: blarg-td-p (object)
Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: build-discriminator-tree (type-specifiers &optional top-level-type-bins)
Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: build-global-state-declarations (codespace &key store restore)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: build-global-state-let-bindings (codespace &key store restore)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: build-map-reference-tables (codespace func)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: build-reference-tables (codespace track-references &rest body)

Wrap body with defined reference tables

Package

cl-binary-store.

Source

codespaces.lisp.

Function: build-restore-objects (codespace)

Builds the body of a function that reads tag bytes and dispatches them through a big case statement built by make-read-dispatch-table.

Package

cl-binary-store.

Source

codespaces.lisp.

Function: build-source-code (codespace debug)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: build-store-objects (codespace)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: check-reference (object references &optional add-new-reference)

Returns T if OBJECT has already been seen and updates its reference count. If OBJECT has not been seen, and ADD-NEW-REFERENCE is T, then adds it to references and returns NIL. If ADD-NEW-REFERENCE is NIL, just returns NIL. This should *ONLY* be called during the reference counting phase, that is when storage is nil.

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: chunked/read (storage num-bytes function)
Package

cl-binary-store.

Source

simple-array.lisp.

Function: chunked/write (storage num-bytes function)

Used when we cannot do this directly from the sap

Package

cl-binary-store.

Source

simple-array.lisp.

Reader: codespace-magic-number (instance)
Writer: (setf codespace-magic-number) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

magic-number.

Reader: codespace-name (instance)
Writer: (setf codespace-name) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

name.

Function: codespace-p (object)
Package

cl-binary-store.

Source

codespaces.lisp.

Reader: codespace-ref-tables (instance)
Writer: (setf codespace-ref-tables) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

ref-tables.

Reader: codespace-restore-global-state-info (instance)
Writer: (setf codespace-restore-global-state-info) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

restore-global-state-info.

Reader: codespace-restore-infos (instance)
Writer: (setf codespace-restore-infos) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

restore-infos.

Reader: codespace-restore-objects (instance)
Writer: (setf codespace-restore-objects) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

restore-objects.

Reader: codespace-restore-objects-source-code (instance)
Writer: (setf codespace-restore-objects-source-code) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

restore-objects-source-code.

Reader: codespace-store-global-state-info (instance)
Writer: (setf codespace-store-global-state-info) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

store-global-state-info.

Reader: codespace-store-infos (instance)
Writer: (setf codespace-store-infos) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

store-infos.

Reader: codespace-store-objects (instance)
Writer: (setf codespace-store-objects) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

store-objects.

Reader: codespace-store-objects-source-code (instance)
Writer: (setf codespace-store-objects-source-code) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

store-objects-source-code.

Function: compile-codespace (codespace debug)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: compiled-p (codespace)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: compute-object-info (type implicit-ref-id)

Takes a symbol denoting the type of an object and returns an ‘object-info’ allowing for the various user methods to override behaviors.

Package

cl-binary-store.

Source

objects.lisp.

Function: copy-action (instance)
Package

cl-binary-store.

Source

actions.lisp.

Function: copy-another (instance)
Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: copy-blarg-td (instance)
Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: copy-codespace (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: copy-end-marker (instance)
Package

cl-binary-store.

Source

end-action.lisp.

Function: copy-fixup (instance)
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: copy-global-state (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: copy-includes-blarg-td (instance)
Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: copy-magic-number (instance)
Package

cl-binary-store.

Source

magic-numbers.lisp.

Function: copy-object-info (instance)
Package

cl-binary-store.

Source

object-info.lisp.

Function: copy-read-storage (instance)
Package

cl-binary-store.

Source

storage.lisp.

Function: copy-ref-table (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: copy-references (instance)
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: copy-restore-info (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: copy-store-info (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: copy-write-reference-count (instance)
Package

cl-binary-store.

Source

reference-count.lisp.

Function: copy-write-storage (instance)
Package

cl-binary-store.

Source

storage.lisp.

Function: decode-reference-direct (raw-8-bit)

Result will be between [1 30]. This uses just the tag byte

Package

cl-binary-store.

Source

reference-coding.lisp.

Function: decode-reference-one-byte (tag-byte next-byte)

Result will be between [31 16414]. This uses the tag byte plus another byte

Package

cl-binary-store.

Source

reference-coding.lisp.

Function: decode-reference-tagged (number)

Number ranges from -16 to wherever. This uses the reference-tag byte plus the tagged integer which can be anywhere from 1 byte direct tagged to arbitrarily large.

Package

cl-binary-store.

Source

reference-coding.lisp.

Function: decode-reference-two-bytes (tag-byte next-16-bits)

Result will be between [16415 4210718]. This uses the tag byte plus 2 additional bytes

Package

cl-binary-store.

Source

reference-coding.lisp.

Function: deep-copy-codespace (target source-codespace)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: double-float-= (dfa dfb)
Package

cl-binary-store.

Source

sbcl-special-hash-tables.lisp.

Function: double-float-hash (df)
Package

cl-binary-store.

Source

sbcl-special-hash-tables.lisp.

Function: encode-reference-direct (ref-index)

reference indicies start a 1, so we subtract one here.

Package

cl-binary-store.

Source

reference-coding.lisp.

Function: encode-reference-one-byte (ref-index)

Returns a 16 bit value

Package

cl-binary-store.

Source

reference-coding.lisp.

Function: encode-reference-tagged (ref-index)
Package

cl-binary-store.

Source

reference-coding.lisp.

Function: encode-reference-two-bytes (ref-index)
Package

cl-binary-store.

Source

reference-coding.lisp.

Function: encoded-element-type-to-type/packing (encoded-element-type)

How many bits per element when reading back in data. We may be reading data that was stored from an array type that does not exist in the reader implementation, so consider this a definition of our serialization scheme.

Package

cl-binary-store.

Source

simple-array.lisp.

Reader: end-marker-code (instance)
Package

cl-binary-store.

Source

end-action.lisp.

Target Slot

code.

Function: end-marker-p (object)
Package

cl-binary-store.

Source

end-action.lisp.

Function: ensure-enough-room-to-write (write-storage bytes)

Ensure that we have room to write BYTES to STORAGE. Returns storage offset.

Package

cl-binary-store.

Source

storage.lisp.

Function: ensure-integer (x)
Package

cl-binary-store.

Source

numbers.lisp.

Function: ensure-real (x)
Package

cl-binary-store.

Source

numbers.lisp.

Function: ensure-references-vector (references ref-id)

Return / resize references-vector which can hold ref-id

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: ensure-string (maybe-string)
Package

cl-binary-store.

Source

symbols.lisp.

Function: fixup (fixup new-value references)

Resolve a delayed object construction. Returns new-value.

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Reader: fixup-list (instance)
Writer: (setf fixup-list) (instance)
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Target Slot

list.

Function: fixup-p (object)
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Reader: fixup-ref-id (instance)
Writer: (setf fixup-ref-id) (instance)
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Target Slot

ref-id.

Function: flush-write-storage (storage &optional bytes)

Make sure everything is written out of storage to whatever backing store there is, and assert there is room to write a further number of BYTES returns the current (write-storage-offset write-storage) after flushing. Will signal an error if not enough room available

Package

cl-binary-store.

Source

storage.lisp.

Function: function-designator-p (thing)
Package

cl-binary-store.

Source

objects.lisp.

Function: get-object-info (object object-info implicit-ref-id)
Package

cl-binary-store.

Source

objects.lisp.

Function: get-slot-names (class)

Return a list of slot names (symbols) skipping :class allocation slots if *store-class-slots* is t.

Package

cl-binary-store.

Source

objects.lisp.

Reader: global-state-construction-code (instance)
Writer: (setf global-state-construction-code) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

construction-code.

Reader: global-state-dynamic-extent (instance)
Writer: (setf global-state-dynamic-extent) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

dynamic-extent.

Reader: global-state-name (instance)
Writer: (setf global-state-name) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

name.

Function: global-state-p (object)
Package

cl-binary-store.

Source

codespaces.lisp.

Reader: global-state-type (instance)
Writer: (setf global-state-type) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

type.

Function: grow-references-vector (references ref-id)
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: includes-blarg-td-p (object)
Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: invalid (&rest rest)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: is-type-specifier-p (type-specifier)

Returns true if TYPE-SPECIFIER is a valid type specifier.

Package

cl-binary-store.

Source

array.lisp.

Function: length/detect-dotted (list)

length of a list, returns nil if the list is dotted

Package

cl-binary-store.

Source

cons.lisp.

Reader: magic-number-code (instance)
Package

cl-binary-store.

Source

magic-numbers.lisp.

Target Slot

code.

Reader: magic-number-number (instance)
Package

cl-binary-store.

Source

magic-numbers.lisp.

Target Slot

number.

Function: magic-number-p (object)
Package

cl-binary-store.

Source

magic-numbers.lisp.

Function: make-action (&key code)
Package

cl-binary-store.

Source

actions.lisp.

Function: make-another (&key)
Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: make-blarg-td (&key)
Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: make-codespace (&key name magic-number ref-tables store-infos restore-infos store-global-state-info restore-global-state-info restore-objects-source-code store-objects-source-code restore-objects store-objects)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: make-fixup (&key list ref-id)
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: make-global-state (&key name construction-code type dynamic-extent)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: make-includes-blarg-td (&key)
Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: make-magic-number (&key code number)
Package

cl-binary-store.

Source

magic-numbers.lisp.

Function: make-object-info (&key class slot-names type slot-value-filter-func use-initialize-instance specialized-constructor specialized-serializer specialized-deserializer ref-id)
Package

cl-binary-store.

Source

object-info.lisp.

Function: make-read-dispatch-table (codespace code-to-dispatch-on)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: make-read-into-storage/stream (stream)
Package

cl-binary-store.

Source

storage.lisp.

Function: make-read-storage (&key offset max sap size flusher store underlying-stream total-read max-to-read)
Package

cl-binary-store.

Source

storage.lisp.

Function: make-ref-table (&key name construction-code)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: make-references (&key vector ref-id)
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: make-restore-info (&key restore-function-dispatch-code restore-function-source-code)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: make-simple-array-from-encoded-element-type (storage encoded-element-type num-elts &optional array-dimensions)

Returns (values new-array array-bytes)

Package

cl-binary-store.

Source

simple-array.lisp.

Function: make-store-info (&key type reference-phase-code storage-phase-code)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: make-write-into-adjustable-ub8-vector (vector)
Package

cl-binary-store.

Source

storage.lisp.

Function: make-write-into-storage/stream (stream)
Package

cl-binary-store.

Source

storage.lisp.

Function: make-write-reference-count (&key code reference-count)
Package

cl-binary-store.

Source

reference-count.lisp.

Function: make-write-storage (&key offset max sap flusher store underlying-stream)
Package

cl-binary-store.

Source

storage.lisp.

Function: maybe-restore-ub8 (storage)

Maybe restore an (unsigned-byte 8) value from storage that has previously been stored by STORE-UB8. If there is no more data available will return NIL.

Package

cl-binary-store.

Source

unsigned-bytes.lisp.

Function: maybe-shift-data-to-beginning-of-read-storage (read-storage bytes)

If all we have is a sap the store is a length 0 vector so this fails gracefully

Package

cl-binary-store.

Source

storage.lisp.

Function: maybe-store-to-reference-table (object-info implicit-eql-refs)

Called during the deserialization / restore phase. We store the constructed object-info into our reference hash table using its reference id.

Package

cl-binary-store.

Source

objects.lisp.

Function: memcpy (dest src n)
Package

cl-binary-store.

Source

sbcl-utilities.lisp.

Function: num->bits (num)
Package

cl-binary-store.

Source

numbers.lisp.

Reader: object-info-class (instance)
Writer: (setf object-info-class) (instance)
Package

cl-binary-store.

Source

object-info.lisp.

Target Slot

class.

Function: object-info-p (object)
Package

cl-binary-store.

Source

object-info.lisp.

Reader: object-info-ref-id (instance)
Writer: (setf object-info-ref-id) (instance)
Package

cl-binary-store.

Source

object-info.lisp.

Target Slot

ref-id.

Reader: object-info-slot-value-filter-func (instance)
Writer: (setf object-info-slot-value-filter-func) (instance)
Package

cl-binary-store.

Source

object-info.lisp.

Target Slot

slot-value-filter-func.

Reader: object-info-specialized-constructor (instance)
Writer: (setf object-info-specialized-constructor) (instance)
Package

cl-binary-store.

Source

object-info.lisp.

Target Slot

specialized-constructor.

Reader: object-info-specialized-deserializer (instance)
Writer: (setf object-info-specialized-deserializer) (instance)
Package

cl-binary-store.

Source

object-info.lisp.

Target Slot

specialized-deserializer.

Reader: object-info-specialized-serializer (instance)
Writer: (setf object-info-specialized-serializer) (instance)
Package

cl-binary-store.

Source

object-info.lisp.

Target Slot

specialized-serializer.

Reader: object-info-use-initialize-instance (instance)
Writer: (setf object-info-use-initialize-instance) (instance)
Package

cl-binary-store.

Source

object-info.lisp.

Target Slot

use-initialize-instance.

Reader: read-storage-flusher (instance)
Writer: (setf read-storage-flusher) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

flusher.

Reader: read-storage-max (instance)
Writer: (setf read-storage-max) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

max.

Reader: read-storage-max-to-read (instance)
Writer: (setf read-storage-max-to-read) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

max-to-read.

Function: read-storage-p (object)
Package

cl-binary-store.

Source

storage.lisp.

Reader: read-storage-size (instance)
Writer: (setf read-storage-size) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

size.

Reader: read-storage-total-read (instance)
Writer: (setf read-storage-total-read) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

total-read.

Reader: read-storage-underlying-stream (instance)
Writer: (setf read-storage-underlying-stream) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

underlying-stream.

Function: really-find-class (object-info)
Package

cl-binary-store.

Source

objects.lisp.

Reader: ref-table-construction-code (instance)
Writer: (setf ref-table-construction-code) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

construction-code.

Reader: ref-table-name (instance)
Writer: (setf ref-table-name) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

name.

Function: ref-table-p (object)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: referenced-already (object storage references assign-new-reference-id)

Returns T if OBJECT is in REFERENCES and writes out a reference to it to storage. Otherwise returns NIL if it is not a reference at all. This should
*ONLY* be called during the actual storage phase, not the reference
counting phase.

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: references-p (object)
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Reader: references-ref-id (instance)
Writer: (setf references-ref-id) (instance)
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Target Slot

ref-id.

Reader: references-vector (instance)
Writer: (setf references-vector) (instance)
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Target Slot

vector.

Function: refill-read-storage (storage bytes return-nil-on-eof)
Package

cl-binary-store.

Source

storage.lisp.

Function: register-references& (current-codespace/compile-time table-name construction-code)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: register-restore-state& (codespace name construction-code type dynamic-extent)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: register-store-state& (codespace name construction-code type dynamic-extent)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: replacing-reference-tables (codespace old-ht new-ht body)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: restore-boolean (storage)
Package

cl-binary-store.

Source

symbols.lisp.

Function: restore-cons/indefinite (storage restore-object)
Package

cl-binary-store.

Source

cons.lisp.

Function: restore-double-float-zero ()
Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-fixnum (storage)
Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-hash-table (storage restore-object)
Package

cl-binary-store.

Source

hash-table.lisp.

Function: restore-info-p (object)
Package

cl-binary-store.

Source

codespaces.lisp.

Reader: restore-info-restore-function-dispatch-code (instance)
Writer: (setf restore-info-restore-function-dispatch-code) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

restore-function-dispatch-code.

Reader: restore-info-restore-function-source-code (instance)
Writer: (setf restore-info-restore-function-source-code) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

restore-function-source-code.

Function: restore-list/known-length (storage restore-object)
Package

cl-binary-store.

Source

cons.lisp.

Function: restore-new-reference-indicator (references restore-object)
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: restore-nil ()
Package

cl-binary-store.

Source

symbols.lisp.

Function: restore-object-info (storage restore-object implicit-eql-refs implicit-ref-id)
Package

cl-binary-store.

Source

objects.lisp.

Function: restore-objects (storage)

Read data from storage until we run into an end of data signal, or an +end-action-code+. If you want to call this directly, you should let *current-codespace* to a codespace, as is done in the user facing functions in user.lisp which choose it based on *write-version* and *read-version*.

Package

cl-binary-store.

Source

codespaces.lisp.

Function: restore-pathname (restore-object)
Package

cl-binary-store.

Source

pathname.lisp.

Function: restore-reference (ref-id references)

The reference has already been calculated in the dispatch code for us. If we are actually restoring the next object, it may not be re-ified before someone refers to it, so we have to store a fixup for those other objects to hang their reference onto.

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: restore-sb16 (storage)

Restore an (integer -65535 0) value from storage that has previously been stored by STORE-SB16.

Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-sb32 (storage)

Restore an (integer -4294967295 0) value from storage that has previously been stored by STORE-UB32.

Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-sb8 (storage)

Despite the name, restore an (integer -255 0) value from storage that has previously been stored by STORE-SB8

Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-simple-base-string (storage)
Package

cl-binary-store.

Source

simple-array.lisp.

Function: restore-simple-string (storage)
Package

cl-binary-store.

Source

simple-array.lisp.

Function: restore-t ()
Package

cl-binary-store.

Source

symbols.lisp.

Function: restore-tagged-fixnum (storage)

Read back a number written by ‘store-tagged-unsigned-fixnum’.

Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-tagged-unsigned-fixnum (storage)

Read back a number written by ‘store-tagged-unsigned-fixnum’.

Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-tagged-unsigned-fixnum/interior (storage)

Use this if you know that this is an unsigned number (so after another tag bit). This opens up the direct coding space for up to +interior-coded-max-integer+.

Package

cl-binary-store.

Source

numbers.lisp.

Function: restore-ub16 (storage)

Restore a (unsigned-byte 16) from STORAGE which has previously been stored by STORE-UB16.

Package

cl-binary-store.

Source

unsigned-bytes.lisp.

Function: restore-ub32 (storage)

Restore a (unsigned-byte 32) from STORAGE which has previously been stored by STORE-UB32.

Package

cl-binary-store.

Source

unsigned-bytes.lisp.

Function: restore-ub8 (storage)

Restore an (unsigned-byte 8) value from storage that has previously been stored by STORE-UB8.

Package

cl-binary-store.

Source

unsigned-bytes.lisp.

Function: restore-unbound ()
Package

cl-binary-store.

Source

objects.lisp.

Function: restore-uninterned-symbol (storage)

You can call this directly since we never store references

Package

cl-binary-store.

Source

symbols.lisp.

Function: satisfies-test (x)
Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: search-cons (cons eq-refs store-object list-lengths support-shared-list-structures)
Package

cl-binary-store.

Source

cons.lisp.

Function: search-cons/finite (cons references store-object list-lengths)

This is called during the reference counting phase and only when we have only very simple list circularity (CDR (LAST LIST)) -> LIST or another reference list that we have seen before.

Package

cl-binary-store.

Source

cons.lisp.

Function: search-cons/indefinite (cons references store-object)

This is only called when *track-references* is t and *support-shared-list-structures* is t.

Package

cl-binary-store.

Source

cons.lisp.

Function: shift-data-to-beginning (read-storage)

Move the data in seq to the beginning and update storage-offset and storage-max. Returns the index where new data can be written (read-storage-max storage)

Package

cl-binary-store.

Source

storage.lisp.

Function: signal-missing-package (symbol-string package-string)
Package

cl-binary-store.

Source

symbols.lisp.

Function: signal-object-type-not-found (object-info)
Package

cl-binary-store.

Source

objects.lisp.

Function: (setf slot-value*) (object name)

Handle internal ’unbound-slot value

Package

cl-binary-store.

Source

objects.lisp.

Function: specialized-array-element-size/bits (array &optional length)

Returns (values bits/elt ub8-encoded-array-type). 64 bit specific. This is used during serialization. Inverse of encoded-element-type-to-type/packing

Package

cl-binary-store.

Source

simple-array.lisp.

Function: storage-write-byte (storage byte)
Package

cl-binary-store.

Source

storage.lisp.

Function: store-cons (cons storage eq-refs store-object assign-new-reference-id list-lengths support-shared-list-structures)
Package

cl-binary-store.

Source

cons.lisp.

Function: store-cons/finite (cons storage eq-refs store-object assign-new-reference-id list-lengths)

This is called during the actual storage output phase if we have already computed the list length. This is not called when *support-shared-list-structures* is true.

Package

cl-binary-store.

Source

cons.lisp.

Function: store-cons/indefinite (cons storage eq-refs store-object assign-new-reference-id)

This is called during the actual storage output phase.

Package

cl-binary-store.

Source

cons.lisp.

Function: store-elts (storage sv encoded-element-type)
Package

cl-binary-store.

Source

simple-array.lisp.

Function: store-hash-table (ht storage store-object)
Package

cl-binary-store.

Source

hash-table.lisp.

Function: store-info-p (object)
Package

cl-binary-store.

Source

codespaces.lisp.

Reader: store-info-reference-phase-code (instance)
Writer: (setf store-info-reference-phase-code) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

reference-phase-code.

Reader: store-info-storage-phase-code (instance)
Writer: (setf store-info-storage-phase-code) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

storage-phase-code.

Reader: store-info-type (instance)
Writer: (setf store-info-type) (instance)
Package

cl-binary-store.

Source

codespaces.lisp.

Target Slot

type.

Function: store-new-reference-indicator (storage)

Write an indicator that we should assign a reference id to the next object; that is place it in the restore reference-vector (and increment the ref-id counter).

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: store-object-info (object-info storage eq-refs store-object implicit-eql-refs assign-new-reference-id)
Package

cl-binary-store.

Source

objects.lisp.

Function: store-object/phase (codespace obj store-info-accessor)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: store-objects (storage &rest stuff)

Store all the objects in stuff to storage. Do not call this directly without let’ing *current-codespace* to a valid entry in *codespaces*. Prefer the functions in user.lisp which do this for you based on *write-version* and *read-version*.

Package

cl-binary-store.

Source

codespaces.lisp.

Function: store-only-fixnum (fixnum storage &optional tag)
Package

cl-binary-store.

Source

numbers.lisp.

Function: store-pathname (obj store-object)
Package

cl-binary-store.

Source

pathname.lisp.

Function: store-reference (ref-index storage)

Write a reference id to the output which will be resolved at restore time to an object. The basic-codespace implementation here reserves 6 bits of the codespace for reference ids which makes these pretty cheap.

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: store-sb16 (sb16 storage &optional tag)
Package

cl-binary-store.

Source

numbers.lisp.

Function: store-sb32 (sb32 storage &optional tag)
Package

cl-binary-store.

Source

numbers.lisp.

Function: store-sb8 (sb8 storage &optional tag)

Store an (integer -255 0) value SB8 to STORAGE. Set TAG to NIL if your deserializer will know this is a SB8 value and the value will be written without a tag byte. It’s a bit odd to have (integer -255 0) but the dispatch cost is negligible.... the tag byte is the sign bit.

Package

cl-binary-store.

Source

numbers.lisp.

Function: store-simple-base-string (string storage &optional references assign-new-reference-id)
Package

cl-binary-store.

Source

simple-array.lisp.

Function: store-simple-string (string storage &optional references assign-new-reference-id)
Package

cl-binary-store.

Source

simple-array.lisp.

Function: store-tagged-unsigned-fixnum/interior (fixnum storage)

Use this paired with restore-tagged-unsigned-fixnum if you are inside another tagged region for storing unsigned numbers. Somewhat more dense as we only need tags 0-3 for tagging unsigned numbers.

Package

cl-binary-store.

Source

numbers.lisp.

Function: store-unbound (storage)
Package

cl-binary-store.

Source

objects.lisp.

Function: strict-subtype-ordering (type-specs &key key type-groups)
Package

cl-binary-store.

Source

type-discrimination.lisp.

Function: string-and-type-= (stringa stringb)

These are not displaced strings, etc. Just simple strings.

Package

cl-binary-store.

Source

sbcl-special-hash-tables.lisp.

Function: string-hash (simple-string)
Package

cl-binary-store.

Source

sbcl-special-hash-tables.lisp.

Function: unexpected-data (message &optional data)
Package

cl-binary-store.

Source

cl-binary-store.lisp.

Function: update-reference (ref-id value references)

Used during RESTORE

Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Function: update-restore-info (current-codespace/compile-time code restore-function-signature)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: update-store-info (codespace type store-function-signature &key call-during-reference-phase check-for-ref-in write-phase-code override)
Package

cl-binary-store.

Source

codespaces.lisp.

Function: use-custom-building-function ()
Package

cl-binary-store.

Source

objects.lisp.

Function: validate-slot-names (type restored-slot-names image-slot-names)

If all of restored-slot-names are a subset of current-image-slot-names just return restored-slot-names. If not, provide restarts to allow building of a work around for the user. May return a specialized-object-constructor.

Package

cl-binary-store.

Source

objects.lisp.

Function: write-reference-count (number-of-references store-object)
Package

cl-binary-store.

Source

reference-count.lisp.

Reader: write-reference-count-code (instance)
Package

cl-binary-store.

Source

reference-count.lisp.

Target Slot

code.

Function: write-reference-count-p (object)
Package

cl-binary-store.

Source

reference-count.lisp.

Reader: write-reference-count-reference-count (instance)
Package

cl-binary-store.

Source

reference-count.lisp.

Target Slot

reference-count.

Function: write-sap-data-to-storage (sap num-bytes storage)
Package

cl-binary-store.

Source

simple-array.lisp.

Reader: write-storage-flusher (instance)
Writer: (setf write-storage-flusher) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

flusher.

Reader: write-storage-max (instance)
Writer: (setf write-storage-max) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

max.

Function: write-storage-p (object)
Package

cl-binary-store.

Source

storage.lisp.

Reader: write-storage-underlying-stream (instance)
Writer: (setf write-storage-underlying-stream) (instance)
Package

cl-binary-store.

Source

storage.lisp.

Target Slot

underlying-stream.


5.2.5 Generic functions

Generic Reader: missing-package-package-string (condition)
Package

cl-binary-store.

Methods
Reader Method: missing-package-package-string ((condition missing-package-during-restore))
Source

symbols.lisp.

Target Slot

package-string.

Generic Reader: missing-package-symbol-string (condition)
Package

cl-binary-store.

Methods
Reader Method: missing-package-symbol-string ((condition missing-package-during-restore))
Source

symbols.lisp.

Target Slot

symbol-string.

Generic Reader: missing-slot-name (condition)
Package

cl-binary-store.

Methods
Reader Method: missing-slot-name ((condition missing-slot))
Source

objects.lisp.

Target Slot

slot-name.

Generic Function: store-action (action storage store-object)

Call during the serialization phase. You can
write whatever you want to the file from here. Specialize on the structure-object you made that inherits from ‘action’

Package

cl-binary-store.

Source

actions.lisp.

Methods
Method: store-action ((action end-marker) storage store-code)
Source

end-action.lisp.

Method: store-action ((action magic-number) storage store-object)
Source

magic-numbers.lisp.

Method: store-action ((action write-reference-count) storage store-object)
Source

reference-count.lisp.

Generic Reader: too-much-data-bytes (condition)
Package

cl-binary-store.

Methods
Reader Method: too-much-data-bytes ((condition too-much-data))
Source

storage.lisp.

Target Slot

bytes-read.

Generic Reader: too-much-data-max-bytes (condition)
Package

cl-binary-store.

Methods
Reader Method: too-much-data-max-bytes ((condition too-much-data))
Source

storage.lisp.

Target Slot

max-bytes.


5.2.6 Structures

Structure: another
Package

cl-binary-store.

Source

type-discrimination.lisp.

Direct superclasses

structure-object.

Structure: blarg-td
Package

cl-binary-store.

Source

type-discrimination.lisp.

Direct superclasses

structure-object.

Direct subclasses

includes-blarg-td.

Structure: codespace
Package

cl-binary-store.

Source

codespaces.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: name
Type

string

Initform

"default"

Readers

codespace-name.

Writers

(setf codespace-name).

Slot: magic-number
Type

fixnum

Initform

0

Readers

codespace-magic-number.

Writers

(setf codespace-magic-number).

Slot: ref-tables
Initform

(make-hash-table :test (quote eql))

Readers

codespace-ref-tables.

Writers

(setf codespace-ref-tables).

Slot: store-infos
Initform

(make-hash-table :test (quote equal))

Readers

codespace-store-infos.

Writers

(setf codespace-store-infos).

Slot: restore-infos
Initform

(make-hash-table :test (quote eql))

Readers

codespace-restore-infos.

Writers

(setf codespace-restore-infos).

Slot: store-global-state-info
Initform

(make-hash-table :test (quote eql))

Readers

codespace-store-global-state-info.

Writers

(setf codespace-store-global-state-info).

Slot: restore-global-state-info
Initform

(make-hash-table :test (quote eql))

Readers

codespace-restore-global-state-info.

Writers

(setf codespace-restore-global-state-info).

Slot: restore-objects-source-code
Readers

codespace-restore-objects-source-code.

Writers

(setf codespace-restore-objects-source-code).

Slot: store-objects-source-code
Readers

codespace-store-objects-source-code.

Writers

(setf codespace-store-objects-source-code).

Slot: restore-objects
Type

(or null function)

Readers

codespace-restore-objects.

Writers

(setf codespace-restore-objects).

Slot: store-objects
Type

(or null function)

Readers

codespace-store-objects.

Writers

(setf codespace-store-objects).

Structure: end-marker
Package

cl-binary-store.

Source

end-action.lisp.

Direct superclasses

action.

Direct methods

store-action.

Direct slots
Slot: code
Type

(unsigned-byte 8)

Initform

cl-binary-store::+end-action-code+

Readers

end-marker-code.

Writers

This slot is read-only.

Structure: fixup
Package

cl-binary-store.

Source

referrers-and-fixup.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: list
Package

common-lisp.

Type

list

Readers

fixup-list.

Writers

(setf fixup-list).

Slot: ref-id
Type

fixnum

Initform

-1

Readers

fixup-ref-id.

Writers

(setf fixup-ref-id).

Structure: global-state

Something that is instantiated at the start of the store process, regardless of whether track-references is true or not. Like OBJECT-INFO, and LIST-LENGTHS.

Package

cl-binary-store.

Source

codespaces.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: name
Readers

global-state-name.

Writers

(setf global-state-name).

Slot: construction-code
Readers

global-state-construction-code.

Writers

(setf global-state-construction-code).

Slot: type
Package

common-lisp.

Readers

global-state-type.

Writers

(setf global-state-type).

Slot: dynamic-extent
Package

common-lisp.

Readers

global-state-dynamic-extent.

Writers

(setf global-state-dynamic-extent).

Structure: includes-blarg-td
Package

cl-binary-store.

Source

type-discrimination.lisp.

Direct superclasses

blarg-td.

Structure: magic-number
Package

cl-binary-store.

Source

magic-numbers.lisp.

Direct superclasses

action.

Direct methods

store-action.

Direct slots
Slot: code
Type

(unsigned-byte 8)

Initform

cl-binary-store::+magic-number-action-code+

Readers

magic-number-code.

Writers

This slot is read-only.

Slot: number
Package

common-lisp.

Type

integer

Initform

1

Readers

magic-number-number.

Writers

This slot is read-only.

Structure: read-storage

A static memory buffer (SAP) with an OFFSET, which is the offset in bytes of the first valid piece of unread data in SAP. Then MAX which is the end of valid data within the buffer. Then SIZE is the size in bytes of the SAP (used to inform chunked copying). FLUSHER is a (lambda (storage)) which when called will try to fill the buffer with new data. It will return the number of available bytes and may modify offset and max.

We also have a STORE, which *may* if it exists be a
(simple-array (unsigned-byte 8) (SIZE)) which the static memory
buffer is based on (used only to speed up utf8 encoding).
UNDERLYING-STREAM which will be a stream if we are just a buffer in
front of a stream (unused).

The flusher is responsible for updating total-read and checking against max-to-read

Package

cl-binary-store.

Source

storage.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: offset
Type

fixnum

Initform

0

Readers

read-storage-offset.

Writers

(setf read-storage-offset).

Slot: max
Package

common-lisp.

Type

fixnum

Initform

0

Readers

read-storage-max.

Writers

(setf read-storage-max).

Slot: sap
Type

system-area-pointer

Readers

read-storage-sap.

Writers

(setf read-storage-sap).

Slot: size
Type

fixnum

Initform

0

Readers

read-storage-size.

Writers

(setf read-storage-size).

Slot: flusher
Type

function

Readers

read-storage-flusher.

Writers

(setf read-storage-flusher).

Slot: store
Type

(or null (simple-array (unsigned-byte 8) (*)))

Readers

read-storage-store.

Writers

(setf read-storage-store).

Slot: underlying-stream
Type

(or null stream)

Readers

read-storage-underlying-stream.

Writers

(setf read-storage-underlying-stream).

Slot: total-read
Type

fixnum

Initform

0

Readers

read-storage-total-read.

Writers

(setf read-storage-total-read).

Slot: max-to-read
Type

fixnum

Initform

cl-binary-store:*max-to-read*

Readers

read-storage-max-to-read.

Writers

(setf read-storage-max-to-read).

Structure: ref-table

A ref-table is a hash table which is used solely to track references. It will be nil instantiated unless *track-references* is T. After the reference counting phase, only elements in it that are multiply referenced will be retained and have their value set to T

Package

cl-binary-store.

Source

codespaces.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: name
Readers

ref-table-name.

Writers

(setf ref-table-name).

Slot: construction-code
Readers

ref-table-construction-code.

Writers

(setf ref-table-construction-code).

Structure: restore-info

Information about a defrestore statement

Package

cl-binary-store.

Source

codespaces.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: restore-function-dispatch-code
Type

(or (unsigned-byte 8) list)

Readers

restore-info-restore-function-dispatch-code.

Writers

(setf restore-info-restore-function-dispatch-code).

Slot: restore-function-source-code
Readers

restore-info-restore-function-source-code.

Writers

(setf restore-info-restore-function-source-code).

Structure: store-info

Information about a defstore statement

Package

cl-binary-store.

Source

codespaces.lisp.

Direct superclasses

structure-object.

Direct slots
Slot: type
Package

common-lisp.

Readers

store-info-type.

Writers

(setf store-info-type).

Slot: reference-phase-code
Readers

store-info-reference-phase-code.

Writers

(setf store-info-reference-phase-code).

Slot: storage-phase-code
Readers

store-info-storage-phase-code.

Writers

(setf store-info-storage-phase-code).

Structure: write-reference-count
Package

cl-binary-store.

Source

reference-count.lisp.

Direct superclasses

action.

Direct methods

store-action.

Direct slots
Slot: code
Type

(unsigned-byte 8)

Initform

cl-binary-store::+set-reference-action-code+

Readers

write-reference-count-code.

Writers

This slot is read-only.

Slot: reference-count
Type

fixnum

Readers

write-reference-count-reference-count.

Writers

This slot is read-only.

Structure: write-storage

A static memory buffer (SAP) with an OFFSET, which is the offset in bytes where you should
write new data to. MAX is the size of the SAP buffer. STORE, if it exists, is an (simple-array (unsigned-byte 8) (MAX)) which is the vector on which the SAP is based.
FLUSHER is a function (lambda (write-storage)) which flushes data out of the buffer and returns the new OFFSET (and updates OFFSET). UNDERLYING-STREAM, if exists, is the stream which is is used by the flusher.

Package

cl-binary-store.

Source

storage.lisp.

Direct superclasses

structure-object.

Direct methods

print-object.

Direct slots
Slot: offset
Type

fixnum

Initform

0

Readers

write-storage-offset.

Writers

(setf write-storage-offset).

Slot: max
Package

common-lisp.

Type

fixnum

Initform

0

Readers

write-storage-max.

Writers

(setf write-storage-max).

Slot: sap
Type

system-area-pointer

Readers

write-storage-sap.

Writers

(setf write-storage-sap).

Slot: flusher
Type

function

Readers

write-storage-flusher.

Writers

(setf write-storage-flusher).

Slot: store
Type

(or null (simple-array (unsigned-byte 8) (*)))

Readers

write-storage-store.

Writers

(setf write-storage-store).

Slot: underlying-stream
Type

(or null stream)

Readers

write-storage-underlying-stream.

Writers

(setf write-storage-underlying-stream).


5.2.7 Classes

Class: class-a
Package

cl-binary-store.

Source

type-discrimination.lisp.

Direct subclasses
Class: class-b
Package

cl-binary-store.

Source

type-discrimination.lisp.

Direct superclasses

class-a.

Class: class-c
Package

cl-binary-store.

Source

type-discrimination.lisp.

Direct superclasses

class-a.


5.2.8 Types

Type: satisfies-something ()
Package

cl-binary-store.

Source

type-discrimination.lisp.


Appendix A Indexes


A.1 Concepts


A.2 Functions

Jump to:   (  
A   B   C   D   E   F   G   I   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

(
(setf codespace-magic-number): Private ordinary functions
(setf codespace-name): Private ordinary functions
(setf codespace-ref-tables): Private ordinary functions
(setf codespace-restore-global-state-info): Private ordinary functions
(setf codespace-restore-infos): Private ordinary functions
(setf codespace-restore-objects): Private ordinary functions
(setf codespace-restore-objects-source-code): Private ordinary functions
(setf codespace-store-global-state-info): Private ordinary functions
(setf codespace-store-infos): Private ordinary functions
(setf codespace-store-objects): Private ordinary functions
(setf codespace-store-objects-source-code): Private ordinary functions
(setf fixup-list): Private ordinary functions
(setf fixup-ref-id): Private ordinary functions
(setf global-state-construction-code): Private ordinary functions
(setf global-state-dynamic-extent): Private ordinary functions
(setf global-state-name): Private ordinary functions
(setf global-state-type): Private ordinary functions
(setf object-info-class): Private ordinary functions
(setf object-info-ref-id): Private ordinary functions
(setf object-info-slot-names): Public ordinary functions
(setf object-info-slot-value-filter-func): Private ordinary functions
(setf object-info-specialized-constructor): Private ordinary functions
(setf object-info-specialized-deserializer): Private ordinary functions
(setf object-info-specialized-serializer): Private ordinary functions
(setf object-info-type): Public ordinary functions
(setf object-info-use-initialize-instance): Private ordinary functions
(setf read-storage-flusher): Private ordinary functions
(setf read-storage-max): Private ordinary functions
(setf read-storage-max-to-read): Private ordinary functions
(setf read-storage-offset): Public ordinary functions
(setf read-storage-sap): Public ordinary functions
(setf read-storage-size): Private ordinary functions
(setf read-storage-store): Public ordinary functions
(setf read-storage-total-read): Private ordinary functions
(setf read-storage-underlying-stream): Private ordinary functions
(setf ref-table-construction-code): Private ordinary functions
(setf ref-table-name): Private ordinary functions
(setf references-ref-id): Private ordinary functions
(setf references-vector): Private ordinary functions
(setf restore-info-restore-function-dispatch-code): Private ordinary functions
(setf restore-info-restore-function-source-code): Private ordinary functions
(setf slot-value*): Private ordinary functions
(setf store-info-reference-phase-code): Private ordinary functions
(setf store-info-storage-phase-code): Private ordinary functions
(setf store-info-type): Private ordinary functions
(setf write-storage-flusher): Private ordinary functions
(setf write-storage-max): Private ordinary functions
(setf write-storage-offset): Public ordinary functions
(setf write-storage-sap): Public ordinary functions
(setf write-storage-store): Public ordinary functions
(setf write-storage-underlying-stream): Private ordinary functions

A
action: Public generic functions
action: Public generic functions
action: Public generic functions
action: Public generic functions
action: Public generic functions
action-code: Public ordinary functions
action-p: Private ordinary functions
analyze-references-hash-table: Private ordinary functions
another-p: Private ordinary functions
array-sap: Private macros
ask-for-new-amount: Private ordinary functions
ask-for-new-class: Private ordinary functions
ask-for-new-package-name: Private ordinary functions
ask-for-new-slot-name: Private ordinary functions

B
binned-disjoint-types: Private ordinary functions
bits->num: Private ordinary functions
blarg-td-p: Private ordinary functions
build-discriminator-tree: Private ordinary functions
build-global-state-declarations: Private ordinary functions
build-global-state-let-bindings: Private ordinary functions
build-map-reference-tables: Private ordinary functions
build-reference-tables: Private ordinary functions
build-restore-objects: Private ordinary functions
build-source-code: Private ordinary functions
build-store-objects: Private ordinary functions

C
check-if-too-much-data: Private macros
check-reference: Private ordinary functions
check/store-reference: Public ordinary functions
chunked/read: Private ordinary functions
chunked/write: Private ordinary functions
codespace-magic-number: Private ordinary functions
codespace-name: Private ordinary functions
codespace-p: Private ordinary functions
codespace-ref-tables: Private ordinary functions
codespace-restore-global-state-info: Private ordinary functions
codespace-restore-infos: Private ordinary functions
codespace-restore-objects: Private ordinary functions
codespace-restore-objects-source-code: Private ordinary functions
codespace-store-global-state-info: Private ordinary functions
codespace-store-infos: Private ordinary functions
codespace-store-objects: Private ordinary functions
codespace-store-objects-source-code: Private ordinary functions
compile-codespace: Private ordinary functions
compiled-p: Private ordinary functions
compute-object-info: Private ordinary functions
copy-action: Private ordinary functions
copy-another: Private ordinary functions
copy-blarg-td: Private ordinary functions
copy-codespace: Private ordinary functions
copy-end-marker: Private ordinary functions
copy-fixup: Private ordinary functions
copy-global-state: Private ordinary functions
copy-includes-blarg-td: Private ordinary functions
copy-magic-number: Private ordinary functions
copy-object-info: Private ordinary functions
copy-read-storage: Private ordinary functions
copy-ref-table: Private ordinary functions
copy-references: Private ordinary functions
copy-restore-info: Private ordinary functions
copy-sap: Public ordinary functions
copy-store-info: Private ordinary functions
copy-write-reference-count: Private ordinary functions
copy-write-storage: Private ordinary functions

D
decode-reference-direct: Private ordinary functions
decode-reference-one-byte: Private ordinary functions
decode-reference-tagged: Private ordinary functions
decode-reference-two-bytes: Private ordinary functions
deep-copy-codespace: Private ordinary functions
define-codespace: Public macros
defrestore: Public macros
defstore: Public macros
delete-codespace: Public ordinary functions
delete-restore: Public macros
delete-store: Public macros
double-float-=: Private ordinary functions
double-float-hash: Private ordinary functions

E
encode-reference-direct: Private ordinary functions
encode-reference-one-byte: Private ordinary functions
encode-reference-tagged: Private ordinary functions
encode-reference-two-bytes: Private ordinary functions
encoded-element-type-to-type/packing: Private ordinary functions
end-marker-code: Private ordinary functions
end-marker-p: Private ordinary functions
ensure-enough-data: Public ordinary functions
ensure-enough-room-to-write: Private ordinary functions
ensure-integer: Private ordinary functions
ensure-real: Private ordinary functions
ensure-references-vector: Private ordinary functions
ensure-string: Private ordinary functions

F
fixup: Private ordinary functions
fixup-list: Private ordinary functions
fixup-p: Private ordinary functions
fixup-ref-id: Private ordinary functions
flush-write-storage: Private ordinary functions
Function, (setf codespace-magic-number): Private ordinary functions
Function, (setf codespace-name): Private ordinary functions
Function, (setf codespace-ref-tables): Private ordinary functions
Function, (setf codespace-restore-global-state-info): Private ordinary functions
Function, (setf codespace-restore-infos): Private ordinary functions
Function, (setf codespace-restore-objects): Private ordinary functions
Function, (setf codespace-restore-objects-source-code): Private ordinary functions
Function, (setf codespace-store-global-state-info): Private ordinary functions
Function, (setf codespace-store-infos): Private ordinary functions
Function, (setf codespace-store-objects): Private ordinary functions
Function, (setf codespace-store-objects-source-code): Private ordinary functions
Function, (setf fixup-list): Private ordinary functions
Function, (setf fixup-ref-id): Private ordinary functions
Function, (setf global-state-construction-code): Private ordinary functions
Function, (setf global-state-dynamic-extent): Private ordinary functions
Function, (setf global-state-name): Private ordinary functions
Function, (setf global-state-type): Private ordinary functions
Function, (setf object-info-class): Private ordinary functions
Function, (setf object-info-ref-id): Private ordinary functions
Function, (setf object-info-slot-names): Public ordinary functions
Function, (setf object-info-slot-value-filter-func): Private ordinary functions
Function, (setf object-info-specialized-constructor): Private ordinary functions
Function, (setf object-info-specialized-deserializer): Private ordinary functions
Function, (setf object-info-specialized-serializer): Private ordinary functions
Function, (setf object-info-type): Public ordinary functions
Function, (setf object-info-use-initialize-instance): Private ordinary functions
Function, (setf read-storage-flusher): Private ordinary functions
Function, (setf read-storage-max): Private ordinary functions
Function, (setf read-storage-max-to-read): Private ordinary functions
Function, (setf read-storage-offset): Public ordinary functions
Function, (setf read-storage-sap): Public ordinary functions
Function, (setf read-storage-size): Private ordinary functions
Function, (setf read-storage-store): Public ordinary functions
Function, (setf read-storage-total-read): Private ordinary functions
Function, (setf read-storage-underlying-stream): Private ordinary functions
Function, (setf ref-table-construction-code): Private ordinary functions
Function, (setf ref-table-name): Private ordinary functions
Function, (setf references-ref-id): Private ordinary functions
Function, (setf references-vector): Private ordinary functions
Function, (setf restore-info-restore-function-dispatch-code): Private ordinary functions
Function, (setf restore-info-restore-function-source-code): Private ordinary functions
Function, (setf slot-value*): Private ordinary functions
Function, (setf store-info-reference-phase-code): Private ordinary functions
Function, (setf store-info-storage-phase-code): Private ordinary functions
Function, (setf store-info-type): Private ordinary functions
Function, (setf write-storage-flusher): Private ordinary functions
Function, (setf write-storage-max): Private ordinary functions
Function, (setf write-storage-offset): Public ordinary functions
Function, (setf write-storage-sap): Public ordinary functions
Function, (setf write-storage-store): Public ordinary functions
Function, (setf write-storage-underlying-stream): Private ordinary functions
Function, action-code: Public ordinary functions
Function, action-p: Private ordinary functions
Function, analyze-references-hash-table: Private ordinary functions
Function, another-p: Private ordinary functions
Function, ask-for-new-amount: Private ordinary functions
Function, ask-for-new-class: Private ordinary functions
Function, ask-for-new-package-name: Private ordinary functions
Function, ask-for-new-slot-name: Private ordinary functions
Function, binned-disjoint-types: Private ordinary functions
Function, bits->num: Private ordinary functions
Function, blarg-td-p: Private ordinary functions
Function, build-discriminator-tree: Private ordinary functions
Function, build-global-state-declarations: Private ordinary functions
Function, build-global-state-let-bindings: Private ordinary functions
Function, build-map-reference-tables: Private ordinary functions
Function, build-reference-tables: Private ordinary functions
Function, build-restore-objects: Private ordinary functions
Function, build-source-code: Private ordinary functions
Function, build-store-objects: Private ordinary functions
Function, check-reference: Private ordinary functions
Function, check/store-reference: Public ordinary functions
Function, chunked/read: Private ordinary functions
Function, chunked/write: Private ordinary functions
Function, codespace-magic-number: Private ordinary functions
Function, codespace-name: Private ordinary functions
Function, codespace-p: Private ordinary functions
Function, codespace-ref-tables: Private ordinary functions
Function, codespace-restore-global-state-info: Private ordinary functions
Function, codespace-restore-infos: Private ordinary functions
Function, codespace-restore-objects: Private ordinary functions
Function, codespace-restore-objects-source-code: Private ordinary functions
Function, codespace-store-global-state-info: Private ordinary functions
Function, codespace-store-infos: Private ordinary functions
Function, codespace-store-objects: Private ordinary functions
Function, codespace-store-objects-source-code: Private ordinary functions
Function, compile-codespace: Private ordinary functions
Function, compiled-p: Private ordinary functions
Function, compute-object-info: Private ordinary functions
Function, copy-action: Private ordinary functions
Function, copy-another: Private ordinary functions
Function, copy-blarg-td: Private ordinary functions
Function, copy-codespace: Private ordinary functions
Function, copy-end-marker: Private ordinary functions
Function, copy-fixup: Private ordinary functions
Function, copy-global-state: Private ordinary functions
Function, copy-includes-blarg-td: Private ordinary functions
Function, copy-magic-number: Private ordinary functions
Function, copy-object-info: Private ordinary functions
Function, copy-read-storage: Private ordinary functions
Function, copy-ref-table: Private ordinary functions
Function, copy-references: Private ordinary functions
Function, copy-restore-info: Private ordinary functions
Function, copy-sap: Public ordinary functions
Function, copy-store-info: Private ordinary functions
Function, copy-write-reference-count: Private ordinary functions
Function, copy-write-storage: Private ordinary functions
Function, decode-reference-direct: Private ordinary functions
Function, decode-reference-one-byte: Private ordinary functions
Function, decode-reference-tagged: Private ordinary functions
Function, decode-reference-two-bytes: Private ordinary functions
Function, deep-copy-codespace: Private ordinary functions
Function, delete-codespace: Public ordinary functions
Function, double-float-=: Private ordinary functions
Function, double-float-hash: Private ordinary functions
Function, encode-reference-direct: Private ordinary functions
Function, encode-reference-one-byte: Private ordinary functions
Function, encode-reference-tagged: Private ordinary functions
Function, encode-reference-two-bytes: Private ordinary functions
Function, encoded-element-type-to-type/packing: Private ordinary functions
Function, end-marker-code: Private ordinary functions
Function, end-marker-p: Private ordinary functions
Function, ensure-enough-data: Public ordinary functions
Function, ensure-enough-room-to-write: Private ordinary functions
Function, ensure-integer: Private ordinary functions
Function, ensure-real: Private ordinary functions
Function, ensure-references-vector: Private ordinary functions
Function, ensure-string: Private ordinary functions
Function, fixup: Private ordinary functions
Function, fixup-list: Private ordinary functions
Function, fixup-p: Private ordinary functions
Function, fixup-ref-id: Private ordinary functions
Function, flush-write-storage: Private ordinary functions
Function, function-designator-p: Private ordinary functions
Function, get-object-info: Private ordinary functions
Function, get-slot-names: Private ordinary functions
Function, global-state-construction-code: Private ordinary functions
Function, global-state-dynamic-extent: Private ordinary functions
Function, global-state-name: Private ordinary functions
Function, global-state-p: Private ordinary functions
Function, global-state-type: Private ordinary functions
Function, grow-references-vector: Private ordinary functions
Function, includes-blarg-td-p: Private ordinary functions
Function, invalid: Private ordinary functions
Function, is-type-specifier-p: Private ordinary functions
Function, length/detect-dotted: Private ordinary functions
Function, magic-number-code: Private ordinary functions
Function, magic-number-number: Private ordinary functions
Function, magic-number-p: Private ordinary functions
Function, make-action: Private ordinary functions
Function, make-another: Private ordinary functions
Function, make-blarg-td: Private ordinary functions
Function, make-codespace: Private ordinary functions
Function, make-end-marker: Public ordinary functions
Function, make-fixup: Private ordinary functions
Function, make-global-state: Private ordinary functions
Function, make-includes-blarg-td: Private ordinary functions
Function, make-magic-number: Private ordinary functions
Function, make-object-info: Private ordinary functions
Function, make-read-dispatch-table: Private ordinary functions
Function, make-read-into-storage/stream: Private ordinary functions
Function, make-read-storage: Private ordinary functions
Function, make-ref-table: Private ordinary functions
Function, make-references: Private ordinary functions
Function, make-restore-info: Private ordinary functions
Function, make-simple-array-from-encoded-element-type: Private ordinary functions
Function, make-store-info: Private ordinary functions
Function, make-write-into-adjustable-ub8-vector: Private ordinary functions
Function, make-write-into-storage/stream: Private ordinary functions
Function, make-write-reference-count: Private ordinary functions
Function, make-write-storage: Private ordinary functions
Function, maybe-restore-ub8: Private ordinary functions
Function, maybe-shift-data-to-beginning-of-read-storage: Private ordinary functions
Function, maybe-store-to-reference-table: Private ordinary functions
Function, memcpy: Private ordinary functions
Function, num->bits: Private ordinary functions
Function, object-info-class: Private ordinary functions
Function, object-info-p: Private ordinary functions
Function, object-info-ref-id: Private ordinary functions
Function, object-info-slot-names: Public ordinary functions
Function, object-info-slot-value-filter-func: Private ordinary functions
Function, object-info-specialized-constructor: Private ordinary functions
Function, object-info-specialized-deserializer: Private ordinary functions
Function, object-info-specialized-serializer: Private ordinary functions
Function, object-info-type: Public ordinary functions
Function, object-info-use-initialize-instance: Private ordinary functions
Function, read-storage-flusher: Private ordinary functions
Function, read-storage-max: Private ordinary functions
Function, read-storage-max-to-read: Private ordinary functions
Function, read-storage-offset: Public ordinary functions
Function, read-storage-p: Private ordinary functions
Function, read-storage-sap: Public ordinary functions
Function, read-storage-size: Private ordinary functions
Function, read-storage-store: Public ordinary functions
Function, read-storage-total-read: Private ordinary functions
Function, read-storage-underlying-stream: Private ordinary functions
Function, really-find-class: Private ordinary functions
Function, ref-table-construction-code: Private ordinary functions
Function, ref-table-name: Private ordinary functions
Function, ref-table-p: Private ordinary functions
Function, referenced-already: Private ordinary functions
Function, references-p: Private ordinary functions
Function, references-ref-id: Private ordinary functions
Function, references-vector: Private ordinary functions
Function, refill-read-storage: Private ordinary functions
Function, register-references&: Private ordinary functions
Function, register-restore-state&: Private ordinary functions
Function, register-store-state&: Private ordinary functions
Function, replace-store-sap-buffer: Public ordinary functions
Function, replacing-reference-tables: Private ordinary functions
Function, restore: Public ordinary functions
Function, restore-action&: Public ordinary functions
Function, restore-array: Public ordinary functions
Function, restore-bignum: Public ordinary functions
Function, restore-boolean: Private ordinary functions
Function, restore-complex: Public ordinary functions
Function, restore-complex-double-float: Public ordinary functions
Function, restore-complex-single-float: Public ordinary functions
Function, restore-cons/indefinite: Private ordinary functions
Function, restore-double-float: Public ordinary functions
Function, restore-double-float-zero: Private ordinary functions
Function, restore-fixnum: Private ordinary functions
Function, restore-from-file: Public ordinary functions
Function, restore-from-sap: Public ordinary functions
Function, restore-from-stream: Public ordinary functions
Function, restore-from-vector: Public ordinary functions
Function, restore-hash-table: Private ordinary functions
Function, restore-info-p: Private ordinary functions
Function, restore-info-restore-function-dispatch-code: Private ordinary functions
Function, restore-info-restore-function-source-code: Private ordinary functions
Function, restore-list/known-length: Private ordinary functions
Function, restore-new-reference-indicator: Private ordinary functions
Function, restore-nil: Private ordinary functions
Function, restore-object-info: Private ordinary functions
Function, restore-objects: Private ordinary functions
Function, restore-pathname: Private ordinary functions
Function, restore-ratio: Public ordinary functions
Function, restore-reference: Private ordinary functions
Function, restore-sb16: Private ordinary functions
Function, restore-sb32: Private ordinary functions
Function, restore-sb8: Private ordinary functions
Function, restore-simple-base-string: Private ordinary functions
Function, restore-simple-specialized-array: Public ordinary functions
Function, restore-simple-specialized-vector: Public ordinary functions
Function, restore-simple-string: Private ordinary functions
Function, restore-simple-vector: Public ordinary functions
Function, restore-single-float: Public ordinary functions
Function, restore-standard/structure-object: Public ordinary functions
Function, restore-string: Public ordinary functions
Function, restore-symbol: Public ordinary functions
Function, restore-t: Private ordinary functions
Function, restore-tagged-fixnum: Private ordinary functions
Function, restore-tagged-unsigned-fixnum: Private ordinary functions
Function, restore-tagged-unsigned-fixnum/interior: Private ordinary functions
Function, restore-ub16: Private ordinary functions
Function, restore-ub32: Private ordinary functions
Function, restore-ub8: Private ordinary functions
Function, restore-unbound: Private ordinary functions
Function, restore-uninterned-symbol: Private ordinary functions
Function, satisfies-test: Private ordinary functions
Function, search-cons: Private ordinary functions
Function, search-cons/finite: Private ordinary functions
Function, search-cons/indefinite: Private ordinary functions
Function, shift-data-to-beginning: Private ordinary functions
Function, signal-missing-package: Private ordinary functions
Function, signal-object-type-not-found: Private ordinary functions
Function, specialized-array-element-size/bits: Private ordinary functions
Function, storage-write-byte: Private ordinary functions
Function, store: Public ordinary functions
Function, store-action&: Public ordinary functions
Function, store-array: Public ordinary functions
Function, store-bignum: Public ordinary functions
Function, store-boolean: Public ordinary functions
Function, store-complex: Public ordinary functions
Function, store-complex-double-float: Public ordinary functions
Function, store-complex-single-float: Public ordinary functions
Function, store-cons: Private ordinary functions
Function, store-cons/finite: Private ordinary functions
Function, store-cons/indefinite: Private ordinary functions
Function, store-double-float: Public ordinary functions
Function, store-elts: Private ordinary functions
Function, store-fixnum: Public ordinary functions
Function, store-hash-table: Private ordinary functions
Function, store-info-p: Private ordinary functions
Function, store-info-reference-phase-code: Private ordinary functions
Function, store-info-storage-phase-code: Private ordinary functions
Function, store-info-type: Private ordinary functions
Function, store-new-reference-indicator: Private ordinary functions
Function, store-nil: Public ordinary functions
Function, store-object-info: Private ordinary functions
Function, store-object/phase: Private ordinary functions
Function, store-objects: Private ordinary functions
Function, store-only-fixnum: Private ordinary functions
Function, store-pathname: Private ordinary functions
Function, store-ratio: Public ordinary functions
Function, store-reference: Private ordinary functions
Function, store-sb16: Private ordinary functions
Function, store-sb32: Private ordinary functions
Function, store-sb8: Private ordinary functions
Function, store-simple-base-string: Private ordinary functions
Function, store-simple-specialized-array: Public ordinary functions
Function, store-simple-specialized-vector: Public ordinary functions
Function, store-simple-string: Private ordinary functions
Function, store-simple-vector: Public ordinary functions
Function, store-single-float: Public ordinary functions
Function, store-standard/structure-object: Public ordinary functions
Function, store-string: Public ordinary functions
Function, store-string/no-refs: Public ordinary functions
Function, store-symbol: Public ordinary functions
Function, store-t: Public ordinary functions
Function, store-tagged-unsigned-fixnum: Public ordinary functions
Function, store-tagged-unsigned-fixnum/interior: Private ordinary functions
Function, store-tagged-unsigned-integer: Public ordinary functions
Function, store-to-extant-vector: Public ordinary functions
Function, store-to-file: Public ordinary functions
Function, store-to-sap: Public ordinary functions
Function, store-to-stream: Public ordinary functions
Function, store-to-vector: Public ordinary functions
Function, store-ub16: Public ordinary functions
Function, store-ub32: Public ordinary functions
Function, store-ub8/no-tag: Public ordinary functions
Function, store-ub8/tag: Public ordinary functions
Function, store-unbound: Private ordinary functions
Function, strict-subtype-ordering: Private ordinary functions
Function, string-and-type-=: Private ordinary functions
Function, string-hash: Private ordinary functions
Function, unexpected-data: Private ordinary functions
Function, update-reference: Private ordinary functions
Function, update-restore-info: Private ordinary functions
Function, update-store-info: Private ordinary functions
Function, use-custom-building-function: Private ordinary functions
Function, validate-slot-names: Private ordinary functions
Function, write-reference-count: Private ordinary functions
Function, write-reference-count-code: Private ordinary functions
Function, write-reference-count-p: Private ordinary functions
Function, write-reference-count-reference-count: Private ordinary functions
Function, write-sap-data-to-storage: Private ordinary functions
Function, write-storage-flusher: Private ordinary functions
Function, write-storage-max: Private ordinary functions
Function, write-storage-offset: Public ordinary functions
Function, write-storage-p: Private ordinary functions
Function, write-storage-sap: Public ordinary functions
Function, write-storage-store: Public ordinary functions
Function, write-storage-underlying-stream: Private ordinary functions
function-designator-p: Private ordinary functions

G
Generic Function, action: Public generic functions
Generic Function, missing-package-package-string: Private generic functions
Generic Function, missing-package-symbol-string: Private generic functions
Generic Function, missing-slot-data-slots: Public generic functions
Generic Function, missing-slot-image-slots: Public generic functions
Generic Function, missing-slot-name: Private generic functions
Generic Function, missing-slot-type: Public generic functions
Generic Function, object-type-not-found-object-info: Public generic functions
Generic Function, out-of-space-current-offset: Public generic functions
Generic Function, out-of-space-wanted-bytes: Public generic functions
Generic Function, serializable-object-info: Public generic functions
Generic Function, specialized-object-constructor: Public generic functions
Generic Function, specialized-serializer/deserializer: Public generic functions
Generic Function, store-action: Private generic functions
Generic Function, too-much-data-bytes: Private generic functions
Generic Function, too-much-data-max-bytes: Private generic functions
get-object-info: Private ordinary functions
get-slot-names: Private ordinary functions
global-state-construction-code: Private ordinary functions
global-state-dynamic-extent: Private ordinary functions
global-state-name: Private ordinary functions
global-state-p: Private ordinary functions
global-state-type: Private ordinary functions
grow-references-vector: Private ordinary functions

I
includes-blarg-td-p: Private ordinary functions
invalid: Private ordinary functions
is-type-specifier-p: Private ordinary functions

L
length/detect-dotted: Private ordinary functions

M
Macro, array-sap: Private macros
Macro, check-if-too-much-data: Private macros
Macro, define-codespace: Public macros
Macro, defrestore: Public macros
Macro, defstore: Public macros
Macro, delete-restore: Public macros
Macro, delete-store: Public macros
Macro, make-writer/reader: Private macros
Macro, mask-signed: Private macros
Macro, maybe-store-local-reference-instead: Private macros
Macro, maybe-store-reference-instead: Private macros
Macro, negative-to-twos-complement/16: Private macros
Macro, negative-to-twos-complement/32: Private macros
Macro, negative-to-twos-complement/64: Private macros
Macro, negative-to-twos-complement/8: Private macros
Macro, reader: Private macros
Macro, register-global-state: Private macros
Macro, register-references: Private macros
Macro, restore-double-float-to: Public macros
Macro, restore-object-to: Public macros
Macro, sap-ref-16: Public macros
Macro, sap-ref-32: Public macros
Macro, sap-ref-64: Public macros
Macro, sap-ref-8: Public macros
Macro, sap-ref-double: Public macros
Macro, sap-ref-fixnum: Private macros
Macro, sap-ref-single: Public macros
Macro, set-sap-ref-16: Public macros
Macro, set-sap-ref-32: Public macros
Macro, set-sap-ref-64: Public macros
Macro, set-sap-ref-8: Public macros
Macro, set-sap-ref-double: Public macros
Macro, set-sap-ref-fixnum: Private macros
Macro, set-sap-ref-single: Public macros
Macro, set-signed-sap-ref-16: Private macros
Macro, set-signed-sap-ref-32: Private macros
Macro, set-signed-sap-ref-64: Public macros
Macro, set-signed-sap-ref-8: Private macros
Macro, signed-sap-ref-16: Private macros
Macro, signed-sap-ref-32: Private macros
Macro, signed-sap-ref-64: Public macros
Macro, signed-sap-ref-8: Private macros
Macro, truly-the: Private macros
Macro, vector-sap: Public macros
Macro, with-delayed-reference/fixup: Private macros
Macro, with-pinned-objects: Public macros
Macro, with-read-storage: Private macros
Macro, with-reference-tables: Private macros
Macro, with-storage/read: Private macros
Macro, with-storage/write: Private macros
Macro, with-tracking-data: Private macros
Macro, with-write-storage: Public macros
Macro, writer: Private macros
magic-number-code: Private ordinary functions
magic-number-number: Private ordinary functions
magic-number-p: Private ordinary functions
make-action: Private ordinary functions
make-another: Private ordinary functions
make-blarg-td: Private ordinary functions
make-codespace: Private ordinary functions
make-end-marker: Public ordinary functions
make-fixup: Private ordinary functions
make-global-state: Private ordinary functions
make-includes-blarg-td: Private ordinary functions
make-magic-number: Private ordinary functions
make-object-info: Private ordinary functions
make-read-dispatch-table: Private ordinary functions
make-read-into-storage/stream: Private ordinary functions
make-read-storage: Private ordinary functions
make-ref-table: Private ordinary functions
make-references: Private ordinary functions
make-restore-info: Private ordinary functions
make-simple-array-from-encoded-element-type: Private ordinary functions
make-store-info: Private ordinary functions
make-write-into-adjustable-ub8-vector: Private ordinary functions
make-write-into-storage/stream: Private ordinary functions
make-write-reference-count: Private ordinary functions
make-write-storage: Private ordinary functions
make-writer/reader: Private macros
mask-signed: Private macros
maybe-restore-ub8: Private ordinary functions
maybe-shift-data-to-beginning-of-read-storage: Private ordinary functions
maybe-store-local-reference-instead: Private macros
maybe-store-reference-instead: Private macros
maybe-store-to-reference-table: Private ordinary functions
memcpy: Private ordinary functions
Method, action: Public generic functions
Method, action: Public generic functions
Method, action: Public generic functions
Method, action: Public generic functions
Method, missing-package-package-string: Private generic functions
Method, missing-package-symbol-string: Private generic functions
Method, missing-slot-data-slots: Public generic functions
Method, missing-slot-image-slots: Public generic functions
Method, missing-slot-name: Private generic functions
Method, missing-slot-type: Public generic functions
Method, object-type-not-found-object-info: Public generic functions
Method, out-of-space-current-offset: Public generic functions
Method, out-of-space-wanted-bytes: Public generic functions
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, print-object: Public standalone methods
Method, serializable-object-info: Public generic functions
Method, specialized-object-constructor: Public generic functions
Method, specialized-serializer/deserializer: Public generic functions
Method, store-action: Private generic functions
Method, store-action: Private generic functions
Method, store-action: Private generic functions
Method, too-much-data-bytes: Private generic functions
Method, too-much-data-max-bytes: Private generic functions
missing-package-package-string: Private generic functions
missing-package-package-string: Private generic functions
missing-package-symbol-string: Private generic functions
missing-package-symbol-string: Private generic functions
missing-slot-data-slots: Public generic functions
missing-slot-data-slots: Public generic functions
missing-slot-image-slots: Public generic functions
missing-slot-image-slots: Public generic functions
missing-slot-name: Private generic functions
missing-slot-name: Private generic functions
missing-slot-type: Public generic functions
missing-slot-type: Public generic functions

N
negative-to-twos-complement/16: Private macros
negative-to-twos-complement/32: Private macros
negative-to-twos-complement/64: Private macros
negative-to-twos-complement/8: Private macros
num->bits: Private ordinary functions

O
object-info-class: Private ordinary functions
object-info-p: Private ordinary functions
object-info-ref-id: Private ordinary functions
object-info-slot-names: Public ordinary functions
object-info-slot-value-filter-func: Private ordinary functions
object-info-specialized-constructor: Private ordinary functions
object-info-specialized-deserializer: Private ordinary functions
object-info-specialized-serializer: Private ordinary functions
object-info-type: Public ordinary functions
object-info-use-initialize-instance: Private ordinary functions
object-type-not-found-object-info: Public generic functions
object-type-not-found-object-info: Public generic functions
out-of-space-current-offset: Public generic functions
out-of-space-current-offset: Public generic functions
out-of-space-wanted-bytes: Public generic functions
out-of-space-wanted-bytes: Public generic functions

P
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods
print-object: Public standalone methods

R
read-storage-flusher: Private ordinary functions
read-storage-max: Private ordinary functions
read-storage-max-to-read: Private ordinary functions
read-storage-offset: Public ordinary functions
read-storage-p: Private ordinary functions
read-storage-sap: Public ordinary functions
read-storage-size: Private ordinary functions
read-storage-store: Public ordinary functions
read-storage-total-read: Private ordinary functions
read-storage-underlying-stream: Private ordinary functions
reader: Private macros
really-find-class: Private ordinary functions
ref-table-construction-code: Private ordinary functions
ref-table-name: Private ordinary functions
ref-table-p: Private ordinary functions
referenced-already: Private ordinary functions
references-p: Private ordinary functions
references-ref-id: Private ordinary functions
references-vector: Private ordinary functions
refill-read-storage: Private ordinary functions
register-global-state: Private macros
register-references: Private macros
register-references&: Private ordinary functions
register-restore-state&: Private ordinary functions
register-store-state&: Private ordinary functions
replace-store-sap-buffer: Public ordinary functions
replacing-reference-tables: Private ordinary functions
restore: Public ordinary functions
restore-action&: Public ordinary functions
restore-array: Public ordinary functions
restore-bignum: Public ordinary functions
restore-boolean: Private ordinary functions
restore-complex: Public ordinary functions
restore-complex-double-float: Public ordinary functions
restore-complex-single-float: Public ordinary functions
restore-cons/indefinite: Private ordinary functions
restore-double-float: Public ordinary functions
restore-double-float-to: Public macros
restore-double-float-zero: Private ordinary functions
restore-fixnum: Private ordinary functions
restore-from-file: Public ordinary functions
restore-from-sap: Public ordinary functions
restore-from-stream: Public ordinary functions
restore-from-vector: Public ordinary functions
restore-hash-table: Private ordinary functions
restore-info-p: Private ordinary functions
restore-info-restore-function-dispatch-code: Private ordinary functions
restore-info-restore-function-source-code: Private ordinary functions
restore-list/known-length: Private ordinary functions
restore-new-reference-indicator: Private ordinary functions
restore-nil: Private ordinary functions
restore-object-info: Private ordinary functions
restore-object-to: Public macros
restore-objects: Private ordinary functions
restore-pathname: Private ordinary functions
restore-ratio: Public ordinary functions
restore-reference: Private ordinary functions
restore-sb16: Private ordinary functions
restore-sb32: Private ordinary functions
restore-sb8: Private ordinary functions
restore-simple-base-string: Private ordinary functions
restore-simple-specialized-array: Public ordinary functions
restore-simple-specialized-vector: Public ordinary functions
restore-simple-string: Private ordinary functions
restore-simple-vector: Public ordinary functions
restore-single-float: Public ordinary functions
restore-standard/structure-object: Public ordinary functions
restore-string: Public ordinary functions
restore-symbol: Public ordinary functions
restore-t: Private ordinary functions
restore-tagged-fixnum: Private ordinary functions
restore-tagged-unsigned-fixnum: Private ordinary functions
restore-tagged-unsigned-fixnum/interior: Private ordinary functions
restore-ub16: Private ordinary functions
restore-ub32: Private ordinary functions
restore-ub8: Private ordinary functions
restore-unbound: Private ordinary functions
restore-uninterned-symbol: Private ordinary functions

S
sap-ref-16: Public macros
sap-ref-32: Public macros
sap-ref-64: Public macros
sap-ref-8: Public macros
sap-ref-double: Public macros
sap-ref-fixnum: Private macros
sap-ref-single: Public macros
satisfies-test: Private ordinary functions
search-cons: Private ordinary functions
search-cons/finite: Private ordinary functions
search-cons/indefinite: Private ordinary functions
serializable-object-info: Public generic functions
serializable-object-info: Public generic functions
set-sap-ref-16: Public macros
set-sap-ref-32: Public macros
set-sap-ref-64: Public macros
set-sap-ref-8: Public macros
set-sap-ref-double: Public macros
set-sap-ref-fixnum: Private macros
set-sap-ref-single: Public macros
set-signed-sap-ref-16: Private macros
set-signed-sap-ref-32: Private macros
set-signed-sap-ref-64: Public macros
set-signed-sap-ref-8: Private macros
shift-data-to-beginning: Private ordinary functions
signal-missing-package: Private ordinary functions
signal-object-type-not-found: Private ordinary functions
signed-sap-ref-16: Private macros
signed-sap-ref-32: Private macros
signed-sap-ref-64: Public macros
signed-sap-ref-8: Private macros
specialized-array-element-size/bits: Private ordinary functions
specialized-object-constructor: Public generic functions
specialized-object-constructor: Public generic functions
specialized-serializer/deserializer: Public generic functions
specialized-serializer/deserializer: Public generic functions
storage-write-byte: Private ordinary functions
store: Public ordinary functions
store-action: Private generic functions
store-action: Private generic functions
store-action: Private generic functions
store-action: Private generic functions
store-action&: Public ordinary functions
store-array: Public ordinary functions
store-bignum: Public ordinary functions
store-boolean: Public ordinary functions
store-complex: Public ordinary functions
store-complex-double-float: Public ordinary functions
store-complex-single-float: Public ordinary functions
store-cons: Private ordinary functions
store-cons/finite: Private ordinary functions
store-cons/indefinite: Private ordinary functions
store-double-float: Public ordinary functions
store-elts: Private ordinary functions
store-fixnum: Public ordinary functions
store-hash-table: Private ordinary functions
store-info-p: Private ordinary functions
store-info-reference-phase-code: Private ordinary functions
store-info-storage-phase-code: Private ordinary functions
store-info-type: Private ordinary functions
store-new-reference-indicator: Private ordinary functions
store-nil: Public ordinary functions
store-object-info: Private ordinary functions
store-object/phase: Private ordinary functions
store-objects: Private ordinary functions
store-only-fixnum: Private ordinary functions
store-pathname: Private ordinary functions
store-ratio: Public ordinary functions
store-reference: Private ordinary functions
store-sb16: Private ordinary functions
store-sb32: Private ordinary functions
store-sb8: Private ordinary functions
store-simple-base-string: Private ordinary functions
store-simple-specialized-array: Public ordinary functions
store-simple-specialized-vector: Public ordinary functions
store-simple-string: Private ordinary functions
store-simple-vector: Public ordinary functions
store-single-float: Public ordinary functions
store-standard/structure-object: Public ordinary functions
store-string: Public ordinary functions
store-string/no-refs: Public ordinary functions
store-symbol: Public ordinary functions
store-t: Public ordinary functions
store-tagged-unsigned-fixnum: Public ordinary functions
store-tagged-unsigned-fixnum/interior: Private ordinary functions
store-tagged-unsigned-integer: Public ordinary functions
store-to-extant-vector: Public ordinary functions
store-to-file: Public ordinary functions
store-to-sap: Public ordinary functions
store-to-stream: Public ordinary functions
store-to-vector: Public ordinary functions
store-ub16: Public ordinary functions
store-ub32: Public ordinary functions
store-ub8/no-tag: Public ordinary functions
store-ub8/tag: Public ordinary functions
store-unbound: Private ordinary functions
strict-subtype-ordering: Private ordinary functions
string-and-type-=: Private ordinary functions
string-hash: Private ordinary functions

T
too-much-data-bytes: Private generic functions
too-much-data-bytes: Private generic functions
too-much-data-max-bytes: Private generic functions
too-much-data-max-bytes: Private generic functions
truly-the: Private macros

U
unexpected-data: Private ordinary functions
update-reference: Private ordinary functions
update-restore-info: Private ordinary functions
update-store-info: Private ordinary functions
use-custom-building-function: Private ordinary functions

V
validate-slot-names: Private ordinary functions
vector-sap: Public macros

W
with-delayed-reference/fixup: Private macros
with-pinned-objects: Public macros
with-read-storage: Private macros
with-reference-tables: Private macros
with-storage/read: Private macros
with-storage/write: Private macros
with-tracking-data: Private macros
with-write-storage: Public macros
write-reference-count: Private ordinary functions
write-reference-count-code: Private ordinary functions
write-reference-count-p: Private ordinary functions
write-reference-count-reference-count: Private ordinary functions
write-sap-data-to-storage: Private ordinary functions
write-storage-flusher: Private ordinary functions
write-storage-max: Private ordinary functions
write-storage-offset: Public ordinary functions
write-storage-p: Private ordinary functions
write-storage-sap: Public ordinary functions
write-storage-store: Public ordinary functions
write-storage-underlying-stream: Private ordinary functions
writer: Private macros


A.3 Variables

Jump to:   *   +  
B   C   D   F   I   L   M   N   O   P   R   S   T   U   V   W  
Index Entry  Section

*
*allow-codespace-switching*: Public special variables
*codespaces*: Public special variables
*current-codespace*: Public special variables
*current-codespace/compile-time*: Private special variables
*double-float-refs-table-size*: Public special variables
*eq-refs-table-size*: Public special variables
*good-top-levels*: Private special variables
*load/save-progress-indicator*: Private special variables
*many-types*: Private special variables
*max-to-read*: Public special variables
*max-to-write*: Public special variables
*num-eq-refs-table-size*: Public special variables
*output-end-marker*: Public special variables
*output-magic-number*: Public special variables
*preferred-dispatch-order*: Private special variables
*read-version*: Public special variables
*store-class-slots*: Private special variables
*support-shared-list-structures*: Public special variables
*track-references*: Public special variables
*version-being-read*: Public special variables
*write-version*: Public special variables

+
+action-code+: Public constants
+array-code+: Private constants
+basic-codespace+: Public constants
+bignum-code+: Private constants
+complex-code+: Private constants
+complex-double-float-code+: Private constants
+complex-single-float-code+: Private constants
+cons-code+: Private constants
+double-float-code+: Private constants
+double-float-zero-code+: Private constants
+end-action-code+: Private constants
+finite-length-list-code+: Private constants
+first-direct-reference-id-code+: Private constants
+first-direct-unsigned-integer+: Private constants
+first-direct-unsigned-integer-interior-code+: Private constants
+first-one-byte-reference-id-code+: Private constants
+first-small-integer-code+: Private constants
+first-two-byte-reference-id-code+: Private constants
+first-user-code+: Private constants
+fixnum-code+: Private constants
+hash-table-code+: Private constants
+interior-coded-max-integer+: Private constants
+last-direct-reference-id-code+: Private constants
+last-one-byte-reference-id-code+: Private constants
+last-small-integer-code+: Private constants
+last-two-byte-reference-id-code+: Private constants
+last-user-code+: Private constants
+magic-number-action-code+: Private constants
+max-direct-encoded-unsigned-integer+: Private constants
+maximum-untagged-unsigned-integer+: Private constants
+minimum-untagged-signed-integer+: Private constants
+new-reference-indicator-code+: Private constants
+nil-code+: Private constants
+object-info-code+: Private constants
+pathname-code+: Private constants
+ratio-code+: Private constants
+reference-direct-max-ref-id+: Private constants
+reference-direct-min-ref-id+: Private constants
+reference-one-byte-max-ref-id+: Private constants
+reference-one-byte-min-ref-id+: Private constants
+reference-two-byte-max-ref-id+: Private constants
+reference-two-byte-min-ref-id+: Private constants
+sb16-code+: Private constants
+sb32-code+: Private constants
+sb8-code+: Private constants
+set-reference-action-code+: Private constants
+simple-base-string-code+: Private constants
+simple-specialized-array-code+: Private constants
+simple-specialized-vector-code+: Private constants
+simple-string-code+: Private constants
+simple-vector-code+: Private constants
+single-float-code+: Private constants
+small-integer-zero-code+: Private constants
+standard/structure-object-code+: Private constants
+symbol-code+: Private constants
+t-code+: Private constants
+tagged-reference-code+: Private constants
+ub16-code+: Private constants
+ub32-code+: Private constants
+ub8-code+: Private constants
+unbound-code+: Private constants
+uninterned-symbol-code+: Private constants

B
bytes-read: Public conditions

C
class: Public structures
code: Public structures
code: Private structures
code: Private structures
code: Private structures
Constant, +action-code+: Public constants
Constant, +array-code+: Private constants
Constant, +basic-codespace+: Public constants
Constant, +bignum-code+: Private constants
Constant, +complex-code+: Private constants
Constant, +complex-double-float-code+: Private constants
Constant, +complex-single-float-code+: Private constants
Constant, +cons-code+: Private constants
Constant, +double-float-code+: Private constants
Constant, +double-float-zero-code+: Private constants
Constant, +end-action-code+: Private constants
Constant, +finite-length-list-code+: Private constants
Constant, +first-direct-reference-id-code+: Private constants
Constant, +first-direct-unsigned-integer+: Private constants
Constant, +first-direct-unsigned-integer-interior-code+: Private constants
Constant, +first-one-byte-reference-id-code+: Private constants
Constant, +first-small-integer-code+: Private constants
Constant, +first-two-byte-reference-id-code+: Private constants
Constant, +first-user-code+: Private constants
Constant, +fixnum-code+: Private constants
Constant, +hash-table-code+: Private constants
Constant, +interior-coded-max-integer+: Private constants
Constant, +last-direct-reference-id-code+: Private constants
Constant, +last-one-byte-reference-id-code+: Private constants
Constant, +last-small-integer-code+: Private constants
Constant, +last-two-byte-reference-id-code+: Private constants
Constant, +last-user-code+: Private constants
Constant, +magic-number-action-code+: Private constants
Constant, +max-direct-encoded-unsigned-integer+: Private constants
Constant, +maximum-untagged-unsigned-integer+: Private constants
Constant, +minimum-untagged-signed-integer+: Private constants
Constant, +new-reference-indicator-code+: Private constants
Constant, +nil-code+: Private constants
Constant, +object-info-code+: Private constants
Constant, +pathname-code+: Private constants
Constant, +ratio-code+: Private constants
Constant, +reference-direct-max-ref-id+: Private constants
Constant, +reference-direct-min-ref-id+: Private constants
Constant, +reference-one-byte-max-ref-id+: Private constants
Constant, +reference-one-byte-min-ref-id+: Private constants
Constant, +reference-two-byte-max-ref-id+: Private constants
Constant, +reference-two-byte-min-ref-id+: Private constants
Constant, +sb16-code+: Private constants
Constant, +sb32-code+: Private constants
Constant, +sb8-code+: Private constants
Constant, +set-reference-action-code+: Private constants
Constant, +simple-base-string-code+: Private constants
Constant, +simple-specialized-array-code+: Private constants
Constant, +simple-specialized-vector-code+: Private constants
Constant, +simple-string-code+: Private constants
Constant, +simple-vector-code+: Private constants
Constant, +single-float-code+: Private constants
Constant, +small-integer-zero-code+: Private constants
Constant, +standard/structure-object-code+: Private constants
Constant, +symbol-code+: Private constants
Constant, +t-code+: Private constants
Constant, +tagged-reference-code+: Private constants
Constant, +ub16-code+: Private constants
Constant, +ub32-code+: Private constants
Constant, +ub8-code+: Private constants
Constant, +unbound-code+: Private constants
Constant, +uninterned-symbol-code+: Private constants
construction-code: Private structures
construction-code: Private structures
current-offset: Public conditions

D
data-slots: Public conditions
dynamic-extent: Private structures

F
flusher: Private structures
flusher: Private structures

I
image-slots: Public conditions

L
list: Private structures

M
magic-number: Private structures
max: Private structures
max: Private structures
max-bytes: Public conditions
max-to-read: Private structures

N
name: Private structures
name: Private structures
name: Private structures
number: Private structures

O
object-info: Public conditions
offset: Private structures
offset: Private structures

P
package-string: Public conditions

R
ref-id: Public structures
ref-id: Public structures
ref-id: Private structures
ref-tables: Private structures
reference-count: Private structures
reference-phase-code: Private structures
restore-function-dispatch-code: Private structures
restore-function-source-code: Private structures
restore-global-state-info: Private structures
restore-infos: Private structures
restore-objects: Private structures
restore-objects-source-code: Private structures

S
sap: Private structures
sap: Private structures
size: Private structures
Slot, bytes-read: Public conditions
Slot, class: Public structures
Slot, code: Public structures
Slot, code: Private structures
Slot, code: Private structures
Slot, code: Private structures
Slot, construction-code: Private structures
Slot, construction-code: Private structures
Slot, current-offset: Public conditions
Slot, data-slots: Public conditions
Slot, dynamic-extent: Private structures
Slot, flusher: Private structures
Slot, flusher: Private structures
Slot, image-slots: Public conditions
Slot, list: Private structures
Slot, magic-number: Private structures
Slot, max: Private structures
Slot, max: Private structures
Slot, max-bytes: Public conditions
Slot, max-to-read: Private structures
Slot, name: Private structures
Slot, name: Private structures
Slot, name: Private structures
Slot, number: Private structures
Slot, object-info: Public conditions
Slot, offset: Private structures
Slot, offset: Private structures
Slot, package-string: Public conditions
Slot, ref-id: Public structures
Slot, ref-id: Public structures
Slot, ref-id: Private structures
Slot, ref-tables: Private structures
Slot, reference-count: Private structures
Slot, reference-phase-code: Private structures
Slot, restore-function-dispatch-code: Private structures
Slot, restore-function-source-code: Private structures
Slot, restore-global-state-info: Private structures
Slot, restore-infos: Private structures
Slot, restore-objects: Private structures
Slot, restore-objects-source-code: Private structures
Slot, sap: Private structures
Slot, sap: Private structures
Slot, size: Private structures
Slot, slot-name: Public conditions
Slot, slot-names: Public structures
Slot, slot-value-filter-func: Public structures
Slot, specialized-constructor: Public structures
Slot, specialized-deserializer: Public structures
Slot, specialized-serializer: Public structures
Slot, storage-phase-code: Private structures
Slot, store: Private structures
Slot, store: Private structures
Slot, store-global-state-info: Private structures
Slot, store-infos: Private structures
Slot, store-objects: Private structures
Slot, store-objects-source-code: Private structures
Slot, symbol-string: Public conditions
Slot, total-read: Private structures
Slot, type: Public conditions
Slot, type: Public structures
Slot, type: Private structures
Slot, type: Private structures
Slot, underlying-stream: Private structures
Slot, underlying-stream: Private structures
Slot, use-initialize-instance: Public structures
Slot, vector: Public structures
Slot, wanted-bytes: Public conditions
slot-name: Public conditions
slot-names: Public structures
slot-value-filter-func: Public structures
Special Variable, *allow-codespace-switching*: Public special variables
Special Variable, *codespaces*: Public special variables
Special Variable, *current-codespace*: Public special variables
Special Variable, *current-codespace/compile-time*: Private special variables
Special Variable, *double-float-refs-table-size*: Public special variables
Special Variable, *eq-refs-table-size*: Public special variables
Special Variable, *good-top-levels*: Private special variables
Special Variable, *load/save-progress-indicator*: Private special variables
Special Variable, *many-types*: Private special variables
Special Variable, *max-to-read*: Public special variables
Special Variable, *max-to-write*: Public special variables
Special Variable, *num-eq-refs-table-size*: Public special variables
Special Variable, *output-end-marker*: Public special variables
Special Variable, *output-magic-number*: Public special variables
Special Variable, *preferred-dispatch-order*: Private special variables
Special Variable, *read-version*: Public special variables
Special Variable, *store-class-slots*: Private special variables
Special Variable, *support-shared-list-structures*: Public special variables
Special Variable, *track-references*: Public special variables
Special Variable, *version-being-read*: Public special variables
Special Variable, *write-version*: Public special variables
specialized-constructor: Public structures
specialized-deserializer: Public structures
specialized-serializer: Public structures
storage-phase-code: Private structures
store: Private structures
store: Private structures
store-global-state-info: Private structures
store-infos: Private structures
store-objects: Private structures
store-objects-source-code: Private structures
symbol-string: Public conditions

T
total-read: Private structures
type: Public conditions
type: Public structures
type: Private structures
type: Private structures

U
underlying-stream: Private structures
underlying-stream: Private structures
use-initialize-instance: Public structures

V
vector: Public structures

W
wanted-bytes: Public conditions


A.4 Data types

Jump to:   A   B   C   E   F   G   H   I   M   N   O   P   R   S   T   U   W  
Index Entry  Section

A
action: Public structures
actions.lisp: The cl-binary-store/actions․lisp file
another: Private structures
array.lisp: The cl-binary-store/array․lisp file

B
basic-codespace-codes.lisp: The cl-binary-store/basic-codespace-codes․lisp file
basic-codespace.lisp: The cl-binary-store/basic-codespace․lisp file
blarg-td: Private structures

C
cl-binary-store: The cl-binary-store system
cl-binary-store: The cl-binary-store package
cl-binary-store-user: The cl-binary-store-user package
cl-binary-store-user.lisp: The cl-binary-store/cl-binary-store-user․lisp file
cl-binary-store.asd: The cl-binary-store/cl-binary-store․asd file
cl-binary-store.lisp: The cl-binary-store/cl-binary-store․lisp file
Class, class-a: Private classes
Class, class-b: Private classes
Class, class-c: Private classes
class-a: Private classes
class-b: Private classes
class-c: Private classes
codespace: Private structures
codespaces.lisp: The cl-binary-store/codespaces․lisp file
Condition, invalid-input-data: Public conditions
Condition, maybe-expected-error: Public conditions
Condition, missing-package-during-restore: Public conditions
Condition, missing-slot: Public conditions
Condition, object-type-not-found: Public conditions
Condition, out-of-data: Public conditions
Condition, out-of-space: Public conditions
Condition, too-much-data: Public conditions
cons.lisp: The cl-binary-store/cons․lisp file

E
end-action.lisp: The cl-binary-store/end-action․lisp file
end-marker: Private structures

F
features.lisp: The cl-binary-store/features․lisp file
File, actions.lisp: The cl-binary-store/actions․lisp file
File, array.lisp: The cl-binary-store/array․lisp file
File, basic-codespace-codes.lisp: The cl-binary-store/basic-codespace-codes․lisp file
File, basic-codespace.lisp: The cl-binary-store/basic-codespace․lisp file
File, cl-binary-store-user.lisp: The cl-binary-store/cl-binary-store-user․lisp file
File, cl-binary-store.asd: The cl-binary-store/cl-binary-store․asd file
File, cl-binary-store.lisp: The cl-binary-store/cl-binary-store․lisp file
File, codespaces.lisp: The cl-binary-store/codespaces․lisp file
File, cons.lisp: The cl-binary-store/cons․lisp file
File, end-action.lisp: The cl-binary-store/end-action․lisp file
File, features.lisp: The cl-binary-store/features․lisp file
File, hash-table.lisp: The cl-binary-store/hash-table․lisp file
File, magic-numbers.lisp: The cl-binary-store/magic-numbers․lisp file
File, numbers.lisp: The cl-binary-store/numbers․lisp file
File, object-info.lisp: The cl-binary-store/object-info․lisp file
File, objects.lisp: The cl-binary-store/objects․lisp file
File, pathname.lisp: The cl-binary-store/pathname․lisp file
File, reference-coding.lisp: The cl-binary-store/reference-coding․lisp file
File, reference-count.lisp: The cl-binary-store/reference-count․lisp file
File, referrers-and-fixup.lisp: The cl-binary-store/referrers-and-fixup․lisp file
File, sap-ref.lisp: The cl-binary-store/sap-ref․lisp file
File, sbcl-special-hash-tables.lisp: The cl-binary-store/sbcl-special-hash-tables․lisp file
File, sbcl-utilities.lisp: The cl-binary-store/sbcl-utilities․lisp file
File, simple-array.lisp: The cl-binary-store/simple-array․lisp file
File, simple-vector.lisp: The cl-binary-store/simple-vector․lisp file
File, storage.lisp: The cl-binary-store/storage․lisp file
File, symbols.lisp: The cl-binary-store/symbols․lisp file
File, type-discrimination.lisp: The cl-binary-store/type-discrimination․lisp file
File, unsigned-bytes.lisp: The cl-binary-store/unsigned-bytes․lisp file
File, user.lisp: The cl-binary-store/user․lisp file
fixup: Private structures

G
global-state: Private structures

H
hash-table.lisp: The cl-binary-store/hash-table․lisp file

I
includes-blarg-td: Private structures
invalid-input-data: Public conditions

M
magic-number: Private structures
magic-numbers.lisp: The cl-binary-store/magic-numbers․lisp file
maybe-expected-error: Public conditions
missing-package-during-restore: Public conditions
missing-slot: Public conditions

N
numbers.lisp: The cl-binary-store/numbers․lisp file

O
object-info: Public structures
object-info.lisp: The cl-binary-store/object-info․lisp file
object-type-not-found: Public conditions
objects.lisp: The cl-binary-store/objects․lisp file
out-of-data: Public conditions
out-of-space: Public conditions

P
Package, cl-binary-store: The cl-binary-store package
Package, cl-binary-store-user: The cl-binary-store-user package
pathname.lisp: The cl-binary-store/pathname․lisp file

R
read-storage: Private structures
ref-table: Private structures
reference-coding.lisp: The cl-binary-store/reference-coding․lisp file
reference-count.lisp: The cl-binary-store/reference-count․lisp file
references: Public structures
referrers-and-fixup.lisp: The cl-binary-store/referrers-and-fixup․lisp file
restore-info: Private structures

S
sap-ref.lisp: The cl-binary-store/sap-ref․lisp file
satisfies-something: Private types
sbcl-special-hash-tables.lisp: The cl-binary-store/sbcl-special-hash-tables․lisp file
sbcl-utilities.lisp: The cl-binary-store/sbcl-utilities․lisp file
simple-array.lisp: The cl-binary-store/simple-array․lisp file
simple-vector.lisp: The cl-binary-store/simple-vector․lisp file
storage.lisp: The cl-binary-store/storage․lisp file
store-info: Private structures
Structure, action: Public structures
Structure, another: Private structures
Structure, blarg-td: Private structures
Structure, codespace: Private structures
Structure, end-marker: Private structures
Structure, fixup: Private structures
Structure, global-state: Private structures
Structure, includes-blarg-td: Private structures
Structure, magic-number: Private structures
Structure, object-info: Public structures
Structure, read-storage: Private structures
Structure, ref-table: Private structures
Structure, references: Public structures
Structure, restore-info: Private structures
Structure, store-info: Private structures
Structure, write-reference-count: Private structures
Structure, write-storage: Private structures
symbols.lisp: The cl-binary-store/symbols․lisp file
System, cl-binary-store: The cl-binary-store system

T
too-much-data: Public conditions
Type, satisfies-something: Private types
type-discrimination.lisp: The cl-binary-store/type-discrimination․lisp file

U
unsigned-bytes.lisp: The cl-binary-store/unsigned-bytes․lisp file
user.lisp: The cl-binary-store/user․lisp file

W
write-reference-count: Private structures
write-storage: Private structures