[Openmcl-devel] TRAP-UNLESS-LISPTAG= fixnum on ppc64
James Bielman
jamesjb at jamesjb.com
Fri Jul 15 02:40:41 PDT 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