Juan Jose Garcia Ripoll
825fc8cbd3
Cnil and Ct are now part of legacy
2012-06-30 23:01:40 +02:00
Juan Jose Garcia Ripoll
52512c15a4
Rename the stp_* and aet_* enumeration names with the ecl_ prefix
2012-06-08 00:12:48 +02:00
Juan Jose Garcia Ripoll
64a9168434
CHARACTERP, BASE_CHAR_P, BASE_CHAR_CODE_P, CODE_CHAR, CHAR_CODE, REAL_TYPE, IMMEDIATE, IMMEDIATE_TAG, FIXNUM_TAG, FIXNUM_MINUSP, FIXNUM_PLUSP, FIXNUMP and fix get the ecl_ prefix
2012-06-06 11:19:55 +02:00
Juan Jose Garcia Ripoll
036cb55928
Fixes to remove warnings about unused variables. Replaced some uses of @(return) with ecl_return*()
2012-04-10 23:20:40 +02:00
Juan Jose Garcia Ripoll
5909bb0621
Removed debug statement.
2012-02-09 23:37:01 +01:00
Juan Jose Garcia Ripoll
f873e36de1
Fixed typo in disassemble (Jerry James)
2012-02-06 22:13:50 +01:00
Juanjo Garcia-Ripoll
a3726a2ecc
Changed the bytecodes compiler so that constants are stored in a vector and are shared by the main form and all its children (functions)
2012-02-06 17:06:14 +01:00
Juan Jose Garcia Ripoll
20d5b17948
Disassembler for missing code OP_EXIT_PROGV
2011-03-27 23:36:55 +02:00
Juan Jose Garcia Ripoll
4fd77c7963
Fixed disassembly of OP_CSET
2011-02-27 16:21:01 +01:00
Juan Jose Garcia Ripoll
0a7f39449a
Added the possibility of compiling load-time forms in the interpreter, when :load-toplevel is active.
2011-02-26 23:56:57 +01:00
Juan Jose Garcia Ripoll
c83303354c
Wrong size of bytecodes when splitting the bytecodes
2011-02-04 22:56:37 +01:00
Juan Jose Garcia Ripoll
1a775ca835
SI:BC-SPLIT and SI:BC-JOIN now as means to deconstruct and join a bytecodes object.
2011-02-04 21:52:05 +01:00
Juan Jose Garcia Ripoll
f682dda3f4
Functions can now carry information about the source file and its position.
2009-06-07 01:14:16 +02:00
Juan Jose Garcia Ripoll
77cde5c2f8
Several fixes for various compiler warnings.
2009-06-07 00:02:49 +02:00
Juan Jose Garcia Ripoll
03ed288a85
New bytecodes for parsing the arguments of an interpreted function.
2009-02-21 00:07:16 +01:00
Juan Jose Garcia Ripoll
70c64f9652
The macros/functions for accessing and changing symbol values require an environment value.
2008-10-12 16:44:29 +02:00
Juan Jose Garcia Ripoll
5a41a55a2d
Since dpp now generates code that uses 'the_env', it has to be defined in functions that use @(return)
2008-10-11 23:47:40 +02:00
Juan Jose Garcia Ripoll
98b4e216e8
Split an opcode for actual frame creation from those for frame identification.
2008-06-22 16:44:34 +02:00
Juan Jose Garcia Ripoll
38d4306a09
si::bc-disassemble did not know about OP_[P]INT
2008-06-22 11:13:54 +02:00
Juan Jose Garcia Ripoll
29c45b2c89
Extend c_new_env as a step towards changing the lexical environments.
2008-06-18 10:43:34 +02:00
Juan Jose Garcia Ripoll
a8c7c95ef0
Simplify the interpreter code for calling functions
2008-06-17 19:46:18 +02:00
Juan Jose Garcia Ripoll
cb9939d6c0
Separate lisp objects for functions with fixed and variable # arguments
2008-06-16 23:09:21 +02:00
Juan Jose Garcia Ripoll
34c363cc9f
Avoid using FORMAT when it has not been defined.
2008-06-15 23:05:29 +02:00
Juan Jose Garcia Ripoll
5ef5df4135
Turn the macros in bytecodes.h into standalone forms that output no value. This restriction allows us to have more complex code in them.
2008-06-15 19:17:42 +02:00
Juan Jose Garcia Ripoll
9e210529e8
Split OP_MSETQ into OP_VSETQ and OP_VSETQS.
2008-06-15 10:50:32 +02:00
Juan Jose Garcia Ripoll
846d79dce3
Implement bytecodes for calling functions with 1 and 2 arguments.
2008-06-15 00:35:21 +02:00
Juan Jose Garcia Ripoll
2020fe6966
Optimize some common lisp functions
2008-06-14 22:07:20 +02:00
Juan Jose Garcia Ripoll
21fafd42dc
Introduce bytecode closure objects to save space in FLET/LABELS forms
2008-06-11 23:49:38 +02:00
Juan Jose Garcia Ripoll
b208e43f34
Revert to the old code for multiple-value-setq
2008-06-11 20:15:14 +02:00
Juan Jose Garcia Ripoll
3453e6d56c
More compact format for bytecodes OP_FLET/LABELS
2008-06-10 19:50:21 +02:00
Juan Jose Garcia Ripoll
33861197f3
Split operator MSETQ into VSETQ and VSETQS.
2008-06-09 19:19:25 +02:00
Juan Jose Garcia Ripoll
2ac39d71bb
Removed global environment field cl_env.lex_env
2008-06-08 20:30:35 +02:00
jgarcia
e418eeb8e7
Improved presentation of interpreted forms in the backtraces. These forms can now be inspected.
2008-05-22 11:15:58 +00:00
jgarcia
b4e1916be1
Let interpreted forms remember the file they come from
2008-04-22 12:29:44 +00:00
jgarcia
5ef5d32e74
Enforce indent and mode conditions on files
2008-01-26 10:30:41 +00:00
jgarcia
aa3dfe4058
Prefix most functions with 'ecl_' to avoid name collisions when embedding ECL in other libraries
2007-01-18 11:46:07 +00:00
jgarcia
fa937337f8
Some lisp functions with non-standard names (base-char-p, base-string) are renamed and moved to the SYS package. socket.lsp fixed to understand base strings. limited support for arbitrary strings in string streams.
2006-05-29 08:51:28 +00:00
jgarcia
ff0be77070
Support for unicode strings as data structure (no clever handling of characters yet) contributed by Brian Spilsbury.
2006-05-29 08:51:21 +00:00
jjgarcia
936b7fb6f6
Header files are now kept in a directory named 'ecl', so as to avoid name clashes with other headers.
2006-02-28 14:05:47 +00:00
jjgarcia
5643e40059
Implemented DOLIST/DOTIMES as macros, without magic in the interpreter.
2005-10-24 08:33:32 +00:00
jjgarcia
7b762a99c4
New functions for performing type inference.
...
Arithmetic operators *,+,/,- now have simple optimizers.
Fixed several "bugs" in the C code to let ECL compile with GCC 4.0
2005-08-12 15:23:10 +00:00
jjgarcia
ea7b544af3
Xmas fixes. See CHANGELOG for list of changes.
2005-01-07 11:51:23 +00:00
jjgarcia
3246405dcc
Imported the PRETTY-PRINTER from CMUCL and integrated it with the previously commited format.lsp. The old pretty printer remains merged in and is used by default.
2004-05-12 08:07:53 +00:00
jjgarcia
58cf3c6b9d
Fixed problems with STEP and forms that have to be evaluated at compilation time, such as toplevel PROGN, EVAL-WHEN, etc.
2003-11-26 18:40:46 +00:00
jjgarcia
72a90f9e90
Stepper implemented
2003-11-26 08:51:52 +00:00
jjgarcia
02fddd850d
TRACE now handles the new bytecodes format, and SI::BC-SPLIT now outputs an array with the data of a bytecodes function.
2003-11-25 15:56:21 +00:00
jjgarcia
4eac79774e
Preliminary support for POSIX threads.
2003-11-18 11:23:07 +00:00
jjgarcia
4b11900381
By default, bytecodes are built using 16-bits integers. This avoids SIGBUS due to pointer misalignment in Alpha and SPARC architectures.
2003-10-30 10:30:37 +00:00
jjgarcia
df97ca1b92
Fixed bug that prevented compilation under windows. ECL is now built as a single shared library on systems which support it. The compiler is being rewritten using higher level, more expressive functions.
2003-09-08 16:53:29 +00:00
jjgarcia
ee391629b6
New bytecodes compiler and interpreter, which use 8-bits large bytecodes and
...
16-bits large arguments.
Macros are implemented as two-argument functions, leaving argument checking
to funcall() and apply() and thus saving space.
AND, WHEN and OR are plain macros. No optimizer is required in the bytecodes
compiler.
2003-08-05 10:01:57 +00:00