| Allegro CL version 10.0 Unrevised from 9.0 to 10.0. 9.0 version |
Arguments: type allocation object &rest slot-names
The arguments to this function are like those of fslot-value-typed, but this function returns a Lisp integer that represents the address of the slot instead of the value in the slot.
The value of the allocation argument can be a
keyword specifying the storage class (the values are described below)
or nil
, in which case the allocation will be
computed from the object argument (but see the
warning about allocation values which are not recommended).
If the allocation of the object is
:foreign-static-gc
or :c
, then
the integer address may be used to access the interior of the
object. If allocation is
not nil
and all the slot names are constants,
then this function will be open coded by the compiler if
the optimize-fslot-value-switch
is true.
Other accepted values for allocation are
:foreign
, :lisp
, and
:lisp-short
, but specifying those values is not
recommended because the returned address may already be or may become
invalid since the referenced object may be moved by the garbage
collector after the address has been computed (and even before it is
returned by this function), making the address meaningless. If the
returned integer is used as an address in a memory reference, it is
possible to reference non-existent memory, or to damage a random
unrelated location in memory.
See ftype.htm for information on foreign types in Allegro CL and foreign-functions.htm for general information on foreign functions in Allegro CL.
Copyright (c) 1998-2019, Franz Inc. Oakland, CA., USA. All rights reserved.
This page was not revised from the 9.0 page.
Created 2015.5.21.
| Allegro CL version 10.0 Unrevised from 9.0 to 10.0. 9.0 version |