jjgarcia
|
8fca58aec5
|
OP_JT/JNIL need not set NVALUES
|
2008-06-19 15:01:35 +00:00 |
|
jjgarcia
|
ecd1053c26
|
Allow COND forms to use REG0 to store computations, instead of forcing use of VALUES.
|
2008-06-19 15:01:23 +00:00 |
|
jjgarcia
|
37022df5d6
|
Since OP_JT/JNIL check reg0, we can simplify the bytecodes for WHILE
|
2008-06-19 15:01:05 +00:00 |
|
jjgarcia
|
64ca376393
|
Given that reg0 contains always VALUES(0), we can simplify OP_JT and OP_JNIL.
|
2008-06-19 15:00:50 +00:00 |
|
jjgarcia
|
aa6b20fad1
|
Simplify bytecodes compiler by rewriting IF as a COND.
|
2008-06-19 15:00:20 +00:00 |
|
jjgarcia
|
8e2237108e
|
Use the local IHS frame for storing the lexical environment.
|
2008-06-19 15:00:01 +00:00 |
|
jjgarcia
|
5668d23f2b
|
Inline OP_PROGV.
|
2008-06-19 14:59:49 +00:00 |
|
jjgarcia
|
9d3d2b34fe
|
The IHS record is not created in apply lambda but in ecl_interpret
|
2008-06-19 14:59:37 +00:00 |
|
jjgarcia
|
6870a9753f
|
The lexical environment of a function is stored in the same IHS record as its name.
|
2008-06-19 14:59:24 +00:00 |
|
jjgarcia
|
c1f08a04e6
|
Removed global environment field cl_env.lex_env
|
2008-06-19 14:59:11 +00:00 |
|
jjgarcia
|
8ae45ee30e
|
Remove useless field frs_lex from the frame stack records.
|
2008-06-19 14:58:57 +00:00 |
|
jjgarcia
|
200ec27464
|
Inline OP_MSETQ
|
2008-06-19 14:58:44 +00:00 |
|
jjgarcia
|
327b6b9640
|
Inline OP_FLET/LABELS and let them access cl_env.lex_env less often.
|
2008-06-19 14:58:32 +00:00 |
|
jjgarcia
|
ff083d3511
|
OP_PROTECT also pushes the environment onto the stack.
|
2008-06-19 14:58:20 +00:00 |
|
jjgarcia
|
45b24c328e
|
OP_TAGBODY also pushes the environment to be saved
|
2008-06-19 14:58:07 +00:00 |
|
jjgarcia
|
2c3a2f33a6
|
Avoid using field lex_env in frame stack records, at least for blocks
|
2008-06-19 14:57:45 +00:00 |
|
jjgarcia
|
33a53695cf
|
ecl_interpret() now takes an explicit lexical environment argument.
|
2008-06-19 14:57:12 +00:00 |
|
jjgarcia
|
6833a3cf0a
|
lambda_bind_var() now takes also a generic environment as argument
|
2008-06-19 14:56:59 +00:00 |
|
jjgarcia
|
734d3edadb
|
All functions that operate on the lexical environment take a generic environment as argument, not inspecting cl_env.
|
2008-06-19 14:56:47 +00:00 |
|
jjgarcia
|
980b6d68b4
|
The interpreter is rewritten using indirect threaded code
|
2008-06-19 14:56:24 +00:00 |
|
jjgarcia
|
9788340759
|
Export a condition for detected user interrupts (SIGINT)
|
2008-06-05 12:45:02 +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
|
a63f6a5bda
|
Allow depth to be infinite (coded as depth=0) in _hash_equal[p]
|
2008-05-30 23:52:32 +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 |
|
jjgarcia
|
d93be391f9
|
Seems we need to call the garbage collector in order to stabilize loading of binary files
|
2008-05-30 21:00:17 +00:00 |
|
jjgarcia
|
fe3af8d9a2
|
The Boehm-Weiser garbage collector needs to use SIGSEGV for the generational garbage collector algorithm.
|
2008-05-30 17:01:06 +00:00 |
|
jjgarcia
|
eadbb9cf11
|
Make the incremenal garbage collector optional until we solve why some platforms break with it.
|
2008-05-30 15:33:07 +00:00 |
|
jjgarcia
|
956af5c246
|
Do not force a full garbage collection every time a binary file is loaded
|
2008-05-30 12:29:01 +00:00 |
|
jjgarcia
|
b6e8622682
|
Enable incremental garbage collection
|
2008-05-30 12:28:49 +00:00 |
|
jjgarcia
|
512462cecd
|
Exported the hashing functions
|
2008-05-29 06:48:44 +00:00 |
|
jjgarcia
|
79a4547523
|
Close the library before the error handler changes the block.
|
2008-05-29 06:48:19 +00:00 |
|
jjgarcia
|
83d3be00ea
|
Call upgraded-array-element-type directly instead of using cl_funcall.
|
2008-05-29 06:45:53 +00:00 |
|
jjgarcia
|
5c387aa367
|
*print-circle* and other variables interfered and slowed gentemp/gensym
|
2008-05-29 06:45:28 +00:00 |
|
jjgarcia
|
2515dc55c8
|
No GC_* function can be called before GC_init
|
2008-05-29 06:44:55 +00: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
|
a30a214e47
|
Garbage collection statistics was broken for libraries other than the one ECL is shipped with
|
2008-05-20 12:10:25 +00:00 |
|
jgarcia
|
164f811d7f
|
Serious warning about the old garbage collector.
|
2008-05-20 08:21:22 +00:00 |
|
jgarcia
|
2630eed983
|
No need to memset the freed memory.
|
2008-05-19 07:55:53 +00:00 |
|
jgarcia
|
6389b49e88
|
VVtemp might be uninitialized if there is no data
|
2008-05-19 07:54:18 +00:00 |
|
jgarcia
|
c642a2e789
|
Update sources to accomodate the new cl_dealloc() macro
|
2008-05-19 07:44:09 +00:00 |
|
jgarcia
|
8f28327ddf
|
Simplifed MAKE-ARRAY. Deactivated the old garbage collector. New optimizers for MAKE-ARRAY and VECTOR-PUSH*. Declarations are now held in *cmp-env* instead of in global variables.
|
2008-05-18 20:08:39 +00:00 |
|
jgarcia
|
bdbcdefd6a
|
Fixed typo.
|
2008-05-14 08:15:20 +00:00 |
|
jgarcia
|
d247aab1ed
|
Only compile log1pl when using long double.
|
2008-05-13 13:55:51 +00:00 |
|
jgarcia
|
8c4c191552
|
Remove unused statements
|
2008-05-12 15:59:23 +00:00 |
|
jgarcia
|
62afc11775
|
Remove nested comments.
|
2008-05-12 09:14:54 +00:00 |
|
jgarcia
|
ebb90916de
|
Missing pointer required by MSC build
|
2008-05-12 09:13:49 +00:00 |
|
jgarcia
|
dc82ea9117
|
In SUBST and the like, the call frames for :KEY functions were not set up correctly
|
2008-05-12 08:17:45 +00:00 |
|
jgarcia
|
2fc586f3ec
|
More errors factored into separate functions
|
2008-05-12 08:14:19 +00:00 |
|
jgarcia
|
ad6f1f7f10
|
In cl_va_start(), factor the code for the worst case (narg > 64) in a separate function, so that the default case does not reference cl_env
|
2008-05-12 08:13:53 +00:00 |
|