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
jjgarcia
8417f93d2e
FORMATTER implemented. FORMAT ported from CMUCL and optionally included when --with-cmuformat is used at configuration time.
2003-07-31 16:37:46 +00:00
jjgarcia
45d863b054
Change the order in which variables of a MULTIPLE-VALUE-SETQ form are assigned.
2003-04-10 17:38:17 +00:00
jjgarcia
41c0868469
Bunch of fixes. See CHANGELOG.
2003-03-17 10:39:08 +00:00
jjgarcia
5f6f65b407
Bunch of fixes inspired by the ANSI test suite of GCL.
2003-03-10 09:10:13 +00:00
jjgarcia
9771e91572
+ New implementation of DESTRUCTURING-BIND
...
+ The bytecodes compiler now alloes a lambda list with &key and no keywords
+ WITH-HASHTABLE-ITERATOR implemented
+ QUIT is now silent
+ In MAKE-PATHNAME, values supplied with a value of NIL would be overwritten
by the content of :DEFAULTS.
2003-03-04 16:35:03 +00:00
jjgarcia
b0ce08d0ea
Changes towards 0.7b comprise naming and calling conventions. See CHANGELOG.
2002-11-04 14:08:24 +00:00
jjgarcia
39539e5714
Add new operator OP_LFUNCTION and remove OP_CALL/OP_PCALL. This results in
...
a simplification of the code for OP_FUNCTION, which may assume that the
function to be searched is a global.
2002-10-13 17:13:25 +00:00
jjgarcia
0912497863
Simplify use of local variables, eliminating the redundant symbol from the
...
bytecodes.
2002-10-13 17:05:40 +00:00
jjgarcia
cd6d1e61ef
Simplify the bytecodes a bit and add comments describing their use.
2002-10-13 16:57:24 +00:00
jjgarcia
c9b91f9618
Minimal patches for C++ compatibility
2001-12-20 09:17:51 +00:00