[Openmcl-devel] TRAP-UNLESS-LISPTAG= fixnum on ppc64

James Bielman jamesjb at jamesjb.com
Fri Jul 15 09:40:41 UTC 2005


I think I've bootstrapped everything cleanly from the latest test
image---while writing some LAP functions I ran into the following:

  (in-package :ccl)

  (defppclapfunction fixnum-trap-test ((n arg_z))
    (trap-unless-lisptag= arg_z target::tag-fixnum)
    (blr))

  (fixnum-trap-test nil)


> Error in process listener(1): Unknown trap: #xB030000
>                               xp: #<A Mac Pointer #xF0135798>, fn: #<Compiled-function FIXNUM-TRAP-TEST #x1047B5C6C>, pc: #x10
> While executing: FIXNUM-TRAP-TEST
> Type :POP to abort.
Type :? for other options.
1 > (lisp-implementation-version)
"Version (Alpha: DarwinPPC64) 0.14.3-050714"

(Is this the proper way to require a fixnum in a LAP function?
There's a few level-0 LAP functions that do this that also signal an
unknown trap error:)

  (%get-object (%null-ptr) nil)

This came up while writing some LAP functions to do 32-bit rotates,
loosely based on the PPC VOPs from SB-ROTATE-BYTE.  If anyone is
curious the code is at (with an untested ARM version!):

  http://slacknet.com/~jamesjb/rotate.lisp

James



More information about the Openmcl-devel mailing list