[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