From: Douglas K. <do...@go...> - 2014-03-07 21:25:28
|
Ah yes, alluding to what I said about the ppc file being "not like the others" - that clears it up for me. Since this particular format has no reference to the field-spec-alist, I can just move it up. Thanks. On Fri, Mar 7, 2014 at 4:22 PM, Stas Boukarev <sta...@gm...> wrote: > Douglas Katzman <do...@go...> writes: > > > That's weird because the entire point of the change was to take the > > accessors *outside* of the eval-when. > > It even looks right: > > > > (macroexpand '(sb!disassem:define-instruction-format (xinstr 32 > > :default-printer '(:name :tab data)) > > (op-to-a :field (byte 16 16)) > > (data :field (byte 16 0) :reader xinstr-data))) > > > > (PROGN > > (EVAL-WHEN (:COMPILE-TOPLEVEL :EXECUTE) > > (LET ((#:G626 32)) > > (SETF (GETHASH 'XINSTR SB-DISASSEM::*DISASSEM-INST-FORMATS*) > > (SB-DISASSEM::MAKE-INST-FORMAT 'XINSTR > > (SB-DISASSEM::BITS-TO-BYTES #:G626) > > '(:NAME :TAB DATA) > > (LIST > > (SB-DISASSEM::MAKE-ARG 0 > > #:G626 'OP-TO-A :FIELD > > (BYTE > > 16 16)) > > (SB-DISASSEM::MAKE-ARG 1 > > #:G626 'DATA :FIELD > > (BYTE > > 16 0))))))) > > (DECLAIM (INLINE XINSTR-DATA)) > > (DEFUN XINSTR-DATA (SB-DISASSEM:DCHUNK SB-DISASSEM::DSTATE) > > (DECLARE (IGNORABLE SB-DISASSEM:DCHUNK SB-DISASSEM::DSTATE)) > > (SB-DISASSEM::ARG-ACCESS-MACRO DATA XINSTR SB-DISASSEM:DCHUNK > > SB-DISASSEM::DSTATE))) > > > > Is that function definitely not in the image? (vs I made a typo when > > changing 'unimp-control')? > > The ppc instruction file uses an especially weird paradigm where most of > > the define-instruction's are themselves inside other macros, but it > should > > have been enough that the define-format said it wanted a :READER. > > > > Any guidance on this would be appreciated while I think about it. > It's definitely not in the image, since when I evaluate > sb!disassem:define-instruction-format DISASSEMBLE no longer fails. > > And by eval-when I meant that the whole define-instruction-format is > wrapped in it, along with other things. I would have expected the INLINE > proclamation to be sufficient, but apparently it's not. > > -- > With best regards, Stas. > |