Juan Jose Garcia Ripoll
|
99cfc87f96
|
Inline stack_pop operation
|
2008-06-13 00:55:23 +02:00 |
|
Juan Jose Garcia Ripoll
|
3c3a2699be
|
OP_MSETQ does not use the VALUES register
|
2008-06-13 00:41:03 +02:00 |
|
Juan Jose Garcia Ripoll
|
d4c36ab18f
|
Inline funcalls and fix problem with multiple-value-prog1 and macrolet + declarations
|
2008-06-12 20:00:30 +02:00 |
|
Juan Jose Garcia Ripoll
|
a5ab938485
|
Fixed typo in COMPILED-FUNCTION-NAME.
|
2008-06-12 14:37:31 +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
|
900bb98f37
|
No need to check when searching environments
|
2008-06-10 18:57:14 +02:00 |
|
Juan Jose Garcia Ripoll
|
ad2c7d2825
|
Slightly leaner code for searching environment
|
2008-06-09 19:36:34 +02:00 |
|
Juan Jose Garcia Ripoll
|
da0f6a2e64
|
SETQS does not check whether argument is constant, just as in SBCL.
|
2008-06-09 19:20:43 +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
|
93586f613c
|
Only use OP_VBIND[S] for values other than 0-th
|
2008-06-09 18:40:23 +02:00 |
|
Juan Jose Garcia Ripoll
|
7bdc8ce4cd
|
ecl_interpret returns the first value
|
2008-06-09 18:30:58 +02:00 |
|
Juan Jose Garcia Ripoll
|
a8ba969759
|
Inline the stack push operation
|
2008-06-09 16:20:02 +02:00 |
|
Juan Jose Garcia Ripoll
|
c782245fc6
|
Save a pointer to the current environment in the interpreter.
|
2008-06-09 16:00:51 +02:00 |
|
Juan Jose Garcia Ripoll
|
5c82dc7e80
|
COND and PROG1 now operate using only REG0 and the stack
|
2008-06-09 14:28:26 +02:00 |
|
Juan Jose Garcia Ripoll
|
2ff8435086
|
OP_JT/JNIL need not set NVALUES
|
2008-06-09 12:07:11 +02:00 |
|
Juan Jose Garcia Ripoll
|
bbf7c9dea6
|
Allow COND forms to use REG0 to store computations, instead of forcing use of VALUES.
|
2008-06-09 11:54:52 +02:00 |
|
Juan Jose Garcia Ripoll
|
ee88cc241e
|
Since OP_JT/JNIL check reg0, we can simplify the bytecodes for WHILE
|
2008-06-09 11:38:34 +02:00 |
|
Juan Jose Garcia Ripoll
|
abea2b728b
|
Given that reg0 contains always VALUES(0), we can simplify OP_JT and OP_JNIL.
|
2008-06-09 11:37:36 +02:00 |
|
Juan Jose Garcia Ripoll
|
e400b3fb46
|
Simplify bytecodes compiler by rewriting IF as a COND.
|
2008-06-09 11:27:34 +02:00 |
|
Juan Jose Garcia Ripoll
|
027dae5686
|
Use the local IHS frame for storing the lexical environment.
|
2008-06-09 09:21:47 +02:00 |
|
Juan Jose Garcia Ripoll
|
6d1f4e8c15
|
Inline OP_PROGV.
|
2008-06-08 23:10:41 +02:00 |
|
Juan Jose Garcia Ripoll
|
53005f7068
|
The IHS record is not created in apply lambda but in ecl_interpret
|
2008-06-08 22:21:59 +02:00 |
|
Juan Jose Garcia Ripoll
|
18d0ffb0f4
|
The lexical environment of a function is stored in the same IHS record as its name.
|
2008-06-08 22:13:45 +02:00 |
|
Juan Jose Garcia Ripoll
|
2ac39d71bb
|
Removed global environment field cl_env.lex_env
|
2008-06-08 20:30:35 +02:00 |
|
Juan Jose Garcia Ripoll
|
84c9902ed0
|
Remove useless field frs_lex from the frame stack records.
|
2008-06-08 19:59:25 +02:00 |
|
Juan Jose Garcia Ripoll
|
847e937183
|
Inline OP_MSETQ
|
2008-06-08 19:44:30 +02:00 |
|
Juan Jose Garcia Ripoll
|
5e31d6ed4e
|
Inline OP_FLET/LABELS and let them access cl_env.lex_env less often.
|
2008-06-08 19:32:25 +02:00 |
|
Juan Jose Garcia Ripoll
|
9430fa5f87
|
OP_PROTECT also pushes the environment onto the stack.
|
2008-06-08 19:13:51 +02:00 |
|
Juan Jose Garcia Ripoll
|
0f0bf2b4e2
|
OP_TAGBODY also pushes the environment to be saved
|
2008-06-08 19:04:36 +02:00 |
|
Juan Jose Garcia Ripoll
|
82332d0523
|
Avoid using field lex_env in frame stack records, at least for blocks
|
2008-06-08 18:54:11 +02:00 |
|
Juan Jose Garcia Ripoll
|
2d77670383
|
ecl_interpret() now takes an explicit lexical environment argument.
|
2008-06-08 18:38:38 +02:00 |
|
Juan Jose Garcia Ripoll
|
30cb0fe1f5
|
lambda_bind_var() now takes also a generic environment as argument
|
2008-06-08 18:18:31 +02:00 |
|
Juan Jose Garcia Ripoll
|
27a9fa082d
|
All functions that operate on the lexical environment take a generic environment as argument, not inspecting cl_env.
|
2008-06-08 18:05:18 +02:00 |
|
Juan Jose Garcia Ripoll
|
d9fc012432
|
The interpreter is rewritten using indirect threaded code
|
2008-06-08 00:48:31 +02:00 |
|
Juan Jose Garcia Ripoll
|
c02df756cc
|
Export a condition for detected user interrupts (SIGINT)
|
2008-06-04 23:07:55 +02:00 |
|
Juan Jose Garcia Ripoll
|
212fbd1d22
|
In methods function's type declarations, the type and the name were swapped
|
2008-06-04 22:59:49 +02:00 |
|
Juan Jose Garcia Ripoll
|
54dc598232
|
Import version 1.118 of ASDF
|
2008-06-04 22:58:56 +02:00 |
|
Juan Jose Garcia Ripoll
|
8cac166b98
|
We need sys/time.h for struct timeval.
|
2008-05-31 15:27:04 +02:00 |
|
Juan Jose Garcia Ripoll
|
5cac5c6595
|
Merge branch 'master' of http://ecls.sourceforge.net/git/ecl/
|
2008-05-31 15:15:16 +02:00 |
|
jjgarcia
|
92152c66ee
|
When using the generational garbage collector, do not use dlopen/dlclose wrapper
s, which deactivate the garbage collector. In this case, we need not explicit ca
lls to si_gc(Ct) in si_load_binary()
|
2008-05-31 13:14:05 +00:00 |
|
Juan Jose Garcia Ripoll
|
0ce0eaf8b1
|
Merge branch 'master' of http://ecls.sourceforge.net/git/ecl/
|
2008-05-31 15:11:59 +02:00 |
|
jjgarcia
|
f42ca59c92
|
Accessors for low-level socket timeout attributes (by G. Carncross).
|
2008-05-31 13:04:07 +00:00 |
|
jjgarcia
|
af6c551e80
|
When using the generational garbage collector, do not use dlopen/dlclose wrappers, which deactivate the garbage collector. In this case, we need not explicit calls to si_gc(Ct) in si_load_binary()
|
2008-05-31 12:58:01 +00:00 |
|
jjgarcia
|
70c30b8ef9
|
In compile-file, ensure that :output-file is appended the proper file extension
|
2008-05-30 23:55:54 +00:00 |
|
jjgarcia
|
a63f6a5bda
|
Allow depth to be infinite (coded as depth=0) in _hash_equal[p]
|
2008-05-30 23:52:32 +00:00 |
|
jjgarcia
|
abec6e581f
|
Stronger hashing for C files initialization names
|
2008-05-30 23:52:16 +00:00 |
|
jjgarcia
|
7677ee8ce6
|
When computing the hash key of a pathname, since they are not circular structures, reset the depth parameter.
|
2008-05-30 23:51:57 +00:00 |
|
jjgarcia
|
75a324fbbe
|
The last 12 bytes of a string were not used for the hash
|
2008-05-30 23:51:44 +00:00 |
|