Cannot set SB-EXT:*EVALUATOR-MODE* to :INTERPRET when using the sb-fasteval interpreter

Bug #1882582 reported by Jeronimo Pellegrini
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Invalid
Undecided
Unassigned

Bug Description

After compiling SBCL with

sh make.sh --dynamic-space-size=16Gb --with-sb-fast-eval --without-sb-eval

I tried to set SB-EXT:*EVALUATOR-MODE* to :INTERPRET.

* SB-EXT:*EVALUATOR-MODE*
:COMPILE
* (setf SB-EXT:*EVALUATOR-MODE* :INTERPRET)
; in: SETF *EVALUATOR-MODE*
; (SETF *EVALUATOR-MODE* :INTERPRET)
; --> SETQ
; ==>
; (THE (MEMBER :COMPILE) :INTERPRET)
;
; caught WARNING:
; Constant :INTERPRET conflicts with its asserted type (MEMBER :COMPILE).
; See also:
; The SBCL Manual, Node "Handling of Types"
;
; compilation unit finished
; caught 1 WARNING condition

debugger invoked on a SIMPLE-TYPE-ERROR in thread
#<THREAD "main thread" RUNNING {10008A0083}>:
  Value of :INTERPRET in
  (THE (MEMBER :COMPILE) :INTERPRET)
  is
    :INTERPRET,
  not a
    (MEMBER :COMPILE).

Type HELP for debugger help, or (SB-EXT:EXIT) to exit from SBCL.

restarts (invokable by number or by possibly-abbreviated name):
  0: [ABORT] Exit debugger, returning to top level.

(SB-C::%COMPILE-TIME-TYPE-ERROR (:INTERPRET) (MEMBER :COMPILE) #<unused argument> (:INTERPRET) "(THE (MEMBER :COMPILE) :INTERPRET)" NIL)
0]

But src/interpreter/README tells me that

" As with sb-eval, the SB-EXT:*EVALUATOR-MODE* variable can be
  set to :INTERPRET or :COMPILE."

I'm not sure what went wrong, but the generated SBCL code doesn't seem to behave
according to what is documented (it requires (member :compile) when using the fast
evaluator?)

J.

Revision history for this message
Stas Boukarev (stassats) wrote :

That's because it's spelled sb-fasteval.

Changed in sbcl:
status: New → Invalid
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.