[LispM] odd Explorer behavior - interpreted vs. compiled

r.stricklin bear at typewritten.org
Wed Oct 12 19:52:36 PDT 2016


On Oct 12, 2016, at 7:30 PM, Brad Parker wrote:

> If it were me, I'd disassemble the compiled function on genera 8 and the explorer.  And, just for grins I'd disassemble it on the CADR as well.  I would think the CADR compiler and the explorer compiler are pretty similar (I'd like to think they had common ancestry but I don't know how much LMI did before TI got to it)

It occurred to me to try the same on the Explorer. Now I have a half an answer. 

> (disassemble 'divp)
   6 PUSH-LOC       LOCAL|0
   7 PUSH           ARG|1     ; LIST
   8 POP            LOCAL|2
   9 POP            LOCAL|1
  10 BR         28            ; here is the bug.
  11 PUSH           LOCAL|1
  12 PUSH-CAR       LOCAL|2
  13 POP            LOCAL|3   ; P
  14 PUSH           ARG|0     ; N
  15 PUSH           LOCAL|3   ; P
  16 (MISC) PUSH FLOOR-2
[...]
  26 (MISC) TEST RPLACD
  27 SETE-CDR       LOCAL|2
  28 TEST           LOCAL|2
  29 BR-NOT-NULL  11
  30 (AUX) RETURN-NIL
DIVP
> 

The weird thing is I can (uncompile 'divp) and it starts working again. I thought I saw something in the doc about providing optimization parameters to the compiler, but I can't find it now.


ok
bear.

-- 
until further notice



More information about the LispM mailing list