returns the five type bits of the Object as a fixnum.
returns the two space bits of Object as a fixnum.
returns an object whose type bits are the integer A and whose other bits come from the immediate object or pointer X. A should be an immediate type code.
X must be a system area pointer, returns the I’th byte of X, indexing into X directly. I must be a fixnum.
X must be a system area pointer, sets the I’th element of X to V, indexing into X directly.
X must be a system area pointer, returns the I’th 16-bit word of X, indexing into X directly.
X must be a system area pointer, returns the I’th 16-bit word of X extending the high order bit as the sign bit.
X must be a system area pointer, sets the I’th element of X to V, indexing into X directly.
X must be a system area pointer and I an even fixnum, returns the I/2’th 32 bit word as a signed quantity.
X must be a system area pointer and I an even fixnum, returns the I/2’th 32 bit word as an unsigned quantity.
X must be a system area pointer, I an even fixnum, and V an integer, sets the I/2’th element of X to V.
X must be a system area pointer and I and even fixnum, returns the I/2’th element of X as a system area pointer.
X and V must be a system area pointers and I an even fixnum, sets the I/2’th element of X to V.
X must be a system area pointer, I an even fixnum, and V a pointer (either system area pointer or Lisp pointer), sets the I/2’th element of X to the pointer V. If the pointer is a Lisp pointer, the pointer stored is to the first word of data (i.e., the header word(s) are bypassed).
X should be a system area pointer, returns a Lisp integer containing the system area pointer. This miscop is useful when it is necessary to do arithmetic on system area pointers.
X should be an integer (fixnum or bignum), returns a system area pointer. This miscop performs the inverse operation of sap-int.
checks to make sure that X is less than or equal to Y. If not, then check-<= signals an error, otherwise it just returns.
causes a stop-and-copy GC to be performed.
is similar to collect-garbage, except it copies Lisp objects into static or read-only space. This miscop needs Lisp level code to get the process started by putting some root structures into the correct space.
returns 0 if newspace is currently space 0 or 1 if it is 1.
Save takes a snap short of the current state of the Lisp computation. The value of the symbol *Current-alien-free-pointer* must be passed to save, so that it can save the static alien data structures. The parameter checksum specifies whether a checksum should be generated for the saved image. Currently, this parameter is ignored and no checksum is generated. The parameter memory should be be a pointer to a block of memory where the saved core image will be stored. Save returns the size of the core image generated.
is for making syscalls to the Mach kernel. The argument number should be the number of the syscall. Syscall0 accepts no arguments to the syscall; syscall1 accepts one argument to the syscall, etc. Syscall accepts five or more arguments to the syscall.
performs a Unix write syscall to the file descriptor fd. Buffer should contain the data to be written; Offset should be an offset into buffer from which to start writing; and length is the number of bytes of data to write.
performs a Unix fork operation returning one or two values. If an error occurred, the value -1 and the error code is returned. If no error occurred, 0 is returned in the new process and the process id of the child process is returned in the parent process.
N is a fixnum, F is a control stack pointer as returned by the Active-Call-Frame miscop. It returns the item in slot N of the args-and-locals area of call frame F.
returns a control-stack pointer to the start of the currently active call frame. This will be of type Control-Stack-Pointer.
returns the control-stack pointer to the start of the currently active catch frame. This is Nil if there is no active catch.
P must be a control stack pointer. This becomes the current active call frame pointer.
returns the Control-Stack-Pointer that points to the current top of the stack (before the result of this operation is pushed). Note: by definition, this points to the to the last thing pushed.
returns a Binding-Stack-Pointer that points to the first word above the current top of the binding stack.
F must be a control stack pointer. Returns the Lisp object that resides at this location. If the addressed object is totally outside the current stack, this is an error.
F is a stack pointer, V is any Lisp object. Writes V into the location addressed. If the addressed cell is totally outside the current stack, this is an error. Obviously, this should only be used by carefully written and debugged system code, since you can destroy the world by using this miscop.
B must be a binding stack pointer. Reads and returns the Lisp object at this location. An error if the location specified is outside the current binding stack.
B must be a binding stack pointer. Writes V into the specified location. An error if the location specified is outside the current binding stack.