[Ecls-list] Progress in bytecodes compiler

Juan Jose Garcia-Ripoll juanjose.garciaripoll at googlemail.com
Sat Jul 30 13:58:26 UTC 2011


The effort to make ECL more independent of the C compiler seems to progress
nicely. The bytecodes compiler now can produce compiled files, COMPILE
works, DISASSEMBLE does too, and even some of quicklisp's components do as
well (See below).

The trickiest thing is managing compilation of constants and eval-when, two
things that were much simpler in the previous version of the bytecodes
compiler, which did not have to output the compiled bytecodes into a text
file.

Right now this component is shipped by default with all versions of ECL. If
ECL was built with --disable-shared it is also the default compiler.
Otherwise you may try it using (si::install-bytecodes-compiler). Once the
bytecodes compiler is active, ECL's ASDF is designed to work with it and it
is not needed to do a (require :cmp). The extension of bytecodes compiled
files is *.fasc.

I will keep testing for errors.

Juanjo

Sample session:

$ ecl -norc
ECL (Embeddable Common-Lisp) 11.1.1
Copyright (C) 1984 Taiichi Yuasa and Masami Hagiya
Copyright (C) 1993 Giuseppe Attardi
Copyright (C) 2000 Juan J. Garcia-Ripoll
ECL is free software, and you are welcome to redistribute it
under certain conditions; see file 'Copyright' for details.
Type :h for Help.
Top level.
> *features*

(:FLEXI-STREAMS :CL-PPCRE :QUICKLISP :ASDF2 :ASDF *:ECL-BYTECMP* :DARWIN
 :FORMATTER :LONG-LONG :UINT64-T :UINT32-T :UINT16-T :RELATIVE-PACKAGE-NAMES
 :LONG-FLOAT :UNICODE :DFFI :CLOS-STREAMS :CMU-FORMAT :ECL-PDE :CLOS
:BOEHM-GC
 :ANSI-CL :COMMON-LISP :IEEE-FLOATING-POINT :PREFIXED-API :FFI :I686 :COMMON
 :ECL)
> (load "quicklisp/setup.lisp")

;;; Loading "/Users/jjgarcia/quicklisp/setup.lisp"
;;; Loading #P"/Users/jjgarcia/lib/ecl-11.1.1/asdf.fasc"
#P"/Users/jjgarcia/quicklisp/setup.lisp"
> (ql:quickload "cl-ppcre-test")
To load "cl-ppcre-test":
  Load 1 ASDF system:
    cl-ppcre-test
; Loading "cl-ppcre-test"
[package cl-ppcre]................................
..................................................
[package trivial-gray-streams]....................
[package flexi-streams]...........................
..................................................
..................................................
..................................................
..................................................
..................................................
[package cl-ppcre-test]..
("cl-ppcre-test")
> (cl-ppcre-test:run-all-tests)

Test: Running tests in file "perltestdata"
..........
..........
..........
..........
..........
..........
...
Test: Optimized test functions - this might take some time...
Test: Simple tests from file "simple"
....
[... same errors as with C compiler ...]
...

Some tests failed.
NIL


-- 
Instituto de Física Fundamental, CSIC
c/ Serrano, 113b, Madrid 28006 (Spain)
http://juanjose.garciaripoll.googlepages.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mailman.common-lisp.net/pipermail/ecl-devel/attachments/20110730/d6c7265e/attachment.html>


More information about the ecl-devel mailing list