jjgarcia
|
1813aa8e6c
|
Reuse code for long function calls
|
2008-06-28 18:14:00 +00:00 |
|
jjgarcia
|
07e49ba844
|
Simplify code slightly by removing all direct references to VALUES and NVALUES.
|
2008-06-28 18:13:40 +00:00 |
|
jjgarcia
|
982a31133a
|
Fixed the flags for the statically linked ECL
|
2008-06-28 08:36:21 +00:00 |
|
jjgarcia
|
90e936d85c
|
There is not finitel(), so just use coercion.
|
2008-06-28 08:22:14 +00:00 |
|
jjgarcia
|
0e657faf79
|
Complete the fix for LONG_FLOAT.
|
2008-06-28 07:57:39 +00:00 |
|
jjgarcia
|
aa099a332a
|
Implement SI:MAKE-PIPE (By S. Gromoff). Eliminate OPEN-PIPE / CLOSE-PIPE.
|
2008-06-27 20:18:12 +00:00 |
|
jjgarcia
|
faa259203e
|
Automatic initialization of GC library uses ECL's usual flags
|
2008-06-26 21:06:09 +00:00 |
|
jjgarcia
|
0c4c43b052
|
When ECL_OFFSET_TABLE is empty, there is a syntax error in C
|
2008-06-26 21:05:48 +00:00 |
|
jjgarcia
|
a7465e94ba
|
Fixed optimization of MAPL and MAPC: output value was wrong.
|
2008-06-23 20:39:26 +00:00 |
|
jjgarcia
|
03c9c55e1c
|
Do not use constants for OP_GO labels
|
2008-06-23 20:39:12 +00:00 |
|
jjgarcia
|
a49e3f7475
|
Simplify the lexical environment record for local functions
|
2008-06-23 20:38:56 +00:00 |
|
jjgarcia
|
9ef1a4b026
|
Introduce bind_frame() abstraction
|
2008-06-23 20:38:44 +00:00 |
|
jjgarcia
|
df9aacf3db
|
Split an opcode for actual frame creation from those for frame identification.
|
2008-06-23 20:38:32 +00:00 |
|
jjgarcia
|
7a43b9738f
|
BLOCK and TAGBODY share exit code
|
2008-06-23 20:38:17 +00:00 |
|
jjgarcia
|
5d98623c8a
|
Restructure code so that OP_DO admits a location
|
2008-06-23 20:38:05 +00:00 |
|
jjgarcia
|
a427f1e0e5
|
Remove useless bds_unwind statement from OP_EXIT_FRAME
|
2008-06-23 20:37:54 +00:00 |
|
jjgarcia
|
fb59889206
|
si::bc-disassemble did not know about OP_[P]INT
|
2008-06-23 20:37:42 +00:00 |
|
jjgarcia
|
fec1c3a8f2
|
Fixed two typos
|
2008-06-23 20:37:29 +00:00 |
|
jjgarcia
|
719b6ecd9d
|
ECL_LONG_DOUBLE was not defined
|
2008-06-23 20:37:16 +00:00 |
|
jjgarcia
|
1a7041c0f5
|
More rigorous parsing of character names.
|
2008-06-23 20:37:04 +00:00 |
|
jjgarcia
|
3df72c1d30
|
Introduce location objects
|
2008-06-23 20:36:50 +00:00 |
|
jjgarcia
|
0953e12582
|
Extend c_new_env as a step towards changing the lexical environments.
|
2008-06-23 20:36:37 +00:00 |
|
jjgarcia
|
da0452752b
|
Failure in checking for integer constants.
|
2008-06-19 16:41:15 +00:00 |
|
jjgarcia
|
7a1fd864e1
|
Update IHS environment also when using optimized function calls in interpreter
|
2008-06-19 16:26:48 +00:00 |
|
jjgarcia
|
cea621fc7a
|
Tag changes to the interpreter
|
2008-06-19 15:10:10 +00:00 |
|
jjgarcia
|
d003cc91fc
|
More consistent undoing of variable bindings in compiler.
|
2008-06-19 15:09:28 +00:00 |
|
jjgarcia
|
38bbf43237
|
Opcodes for small integers
|
2008-06-19 15:09:12 +00:00 |
|
jjgarcia
|
3654ccf8b4
|
Replace ecl_apply_{lambda|bclosure} with calls to ecl_interpret.
|
2008-06-19 15:08:52 +00:00 |
|
jjgarcia
|
e65ebd076c
|
Simplify the interpreter code for calling functions
|
2008-06-19 15:08:38 +00:00 |
|
jjgarcia
|
aa50e7ef4c
|
Separate lisp objects for functions with fixed and variable # arguments
|
2008-06-19 15:08:03 +00:00 |
|
jjgarcia
|
4475760597
|
Fixed typo.
|
2008-06-19 15:07:50 +00:00 |
|
jjgarcia
|
7732ada63b
|
Avoid using FORMAT when it has not been defined.
|
2008-06-19 15:07:37 +00:00 |
|
jjgarcia
|
aa920784b4
|
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-19 15:07:24 +00:00 |
|
jjgarcia
|
8ad5c52f70
|
Split OP_MSETQ into OP_VSETQ and OP_VSETQS.
|
2008-06-19 15:07:10 +00:00 |
|
jjgarcia
|
8bdaba7f11
|
Implement bytecodes for calling functions with 1 and 2 arguments.
|
2008-06-19 15:06:57 +00:00 |
|
jjgarcia
|
a2b260c24d
|
Optimize some common lisp functions
|
2008-06-19 15:06:43 +00:00 |
|
jjgarcia
|
d8122d6c61
|
Eliminate all direct references to stack_top
|
2008-06-19 15:06:31 +00:00 |
|
jjgarcia
|
12986c134c
|
The interpreter now keeps VALUES(0) always in REG0
|
2008-06-19 15:06:16 +00:00 |
|
jjgarcia
|
28eb316b88
|
Avoid using STACK_PUSH in loops
|
2008-06-19 15:05:51 +00:00 |
|
jjgarcia
|
665505205e
|
Inline stack_pop operation
|
2008-06-19 15:05:36 +00:00 |
|
jjgarcia
|
108a76ed13
|
OP_MSETQ does not use the VALUES register
|
2008-06-19 15:05:21 +00:00 |
|
jjgarcia
|
71ed18e2db
|
Inline funcalls and fix problem with multiple-value-prog1 and macrolet + declarations
|
2008-06-19 15:05:08 +00:00 |
|
jjgarcia
|
90370c96d0
|
Fixed typo in COMPILED-FUNCTION-NAME.
|
2008-06-19 15:04:54 +00:00 |
|
jjgarcia
|
9a5f1a7751
|
Introduce bytecode closure objects to save space in FLET/LABELS forms
|
2008-06-19 15:04:27 +00:00 |
|
jjgarcia
|
77d53061eb
|
Revert to the old code for multiple-value-setq
|
2008-06-19 15:04:12 +00:00 |
|
jjgarcia
|
b2d1a996b3
|
More compact format for bytecodes OP_FLET/LABELS
|
2008-06-19 15:03:56 +00:00 |
|
jjgarcia
|
590129c767
|
No need to check when searching environments
|
2008-06-19 15:03:40 +00:00 |
|
jjgarcia
|
271d33ee3f
|
Slightly leaner code for searching environment
|
2008-06-19 15:03:28 +00:00 |
|
jjgarcia
|
83c35e01c2
|
SETQS does not check whether argument is constant, just as in SBCL.
|
2008-06-19 15:03:12 +00:00 |
|
jjgarcia
|
ce724349c5
|
Split operator MSETQ into VSETQ and VSETQS.
|
2008-06-19 15:02:58 +00:00 |
|