Juan Jose Garcia Ripoll
|
a86bbd3605
|
Fixed various warnings to allow compiling ECL with CLang
|
2011-01-23 16:06:47 +01:00 |
|
Juan Jose Garcia Ripoll
|
86c211a6a1
|
Optimize ecl-inl.h for small cons and use of ecl_unlikely. New macros ECL_CONSP, ECL_LISTP, ECL_ATOM, ECL_SYMBOLP
|
2010-02-27 09:47:05 +01:00 |
|
Juan Jose Garcia Ripoll
|
f07ae97158
|
Replace some uses of FEtype_error_list with FEwrong_type_nth_arg
|
2010-02-25 22:32:08 +01:00 |
|
Juan Jose Garcia Ripoll
|
0bd19734d7
|
Replaced most uses of FEtype_error_cons with FEwrong_type_*_arg
|
2010-02-25 17:17:00 +01:00 |
|
Juan Jose Garcia Ripoll
|
e0a268376f
|
Normalize names after @(defun tags so that the appear in the TAGS file.
|
2010-02-24 08:17:37 +01:00 |
|
Juan Jose Garcia Ripoll
|
d500289efa
|
Reorganize the code for OP_LABELS/OP_FLET in ecl_interpret() to occupy less space and get faster.
|
2010-02-08 23:20:29 +01:00 |
|
Juan Jose Garcia Ripoll
|
94f889e7b8
|
Factor out some error conditions from the interpreter loop.
|
2010-02-08 22:05:57 +01:00 |
|
Juan Jose Garcia Ripoll
|
790d466cec
|
Reduce the size of the core using GCC's __attribute__((noreturn))
|
2010-02-04 21:18:24 +01:00 |
|
Juan Jose Garcia Ripoll
|
a2337a4d93
|
FEinvalid_function and FEundefined_function marked as __attribute((noreturn)).
|
2010-02-04 00:05:01 +01:00 |
|
Juan Jose Garcia Ripoll
|
0bf0cfbbae
|
Factor out the guts of PROGV into a function ecl_progv() shared by the interpreter and the compiler.
|
2009-06-19 14:49:29 +02:00 |
|
Juan Jose Garcia Ripoll
|
dcfa4d2247
|
Forgot to save the interpreter environment before unoptimized calls (found out by JCB)
|
2009-06-07 18:27:44 +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
|
ecf055bc5a
|
Fixes for the Windows port, including a flag to make ANSI C streams the default file type.
|
2009-03-30 14:42:16 +02:00 |
|
Juan Jose Garcia Ripoll
|
529e12a1ed
|
Replaced some stack frame functions by internal and faster macros.
|
2009-02-28 13:14:41 +01:00 |
|
Juan Jose Garcia Ripoll
|
702dafcf94
|
Use bytecodes to undo the special bindings before exiting an interpreted function, not by keeping a copy of the bds_top pointer.
|
2009-02-27 23:40:39 +01:00 |
|
Juan Jose Garcia Ripoll
|
44190f4390
|
We cannot dealloc the interpreter stack, because there might be references from varargs.
|
2009-02-27 22:34:40 +01:00 |
|
Juan Jose Garcia Ripoll
|
d71a16daac
|
Remove an unused argument from ecl_interpret()
|
2009-02-26 00:14:07 +01:00 |
|
Juan Jose Garcia Ripoll
|
9ea37f0266
|
ecl_stack_pop_n is no longer used. Simplified different parts of the stack frames and interpreter.
|
2009-02-25 23:51:35 +01:00 |
|
Juan Jose Garcia Ripoll
|
22b070d0ac
|
Removed ecl_stack_{push,pop,set_index}. Fixed ECL_STACK_SET_INDEX.
|
2009-02-25 20:52:48 +01:00 |
|
Juan Jose Garcia Ripoll
|
4ffa8552ae
|
The ECL_STACK* macros were not hygienic and caused problems due to the duplication of the 'env' name.
|
2009-02-25 20:15:33 +01:00 |
|
Juan Jose Garcia Ripoll
|
8fe85d2e7c
|
Introduce ECL_STACK_INDEX macro
|
2009-02-25 19:11:28 +01:00 |
|
Juan Jose Garcia Ripoll
|
80127a2f01
|
Exported macros for manipulating the lisp stack
|
2009-02-24 23:23:57 +01:00 |
|
Juan Jose Garcia Ripoll
|
18767d76ae
|
Slight optimizations in the code for lisp stacks + values
|
2009-02-22 00:39:51 +01:00 |
|
Juan Jose Garcia Ripoll
|
17a3ba8acc
|
Removed unused function.
|
2009-02-21 23:29:42 +01:00 |
|
Juan Jose Garcia Ripoll
|
c6fe981f87
|
The generation of new block ids is now thread safe.
|
2009-02-21 23:26:42 +01:00 |
|
Juan Jose Garcia Ripoll
|
8004e7e027
|
Removed the entry_fixed pointer because we are not using it.
|
2009-02-21 22:51:36 +01:00 |
|
Juan Jose Garcia Ripoll
|
246e562141
|
Fixed the optimization of parsing &allow-other-keys.
|
2009-02-21 22:31:30 +01:00 |
|
Juan Jose Garcia Ripoll
|
1215375d0a
|
Slight optimizations of C code for OP_POPREST/PUSHKEYS
|
2009-02-21 00:52:44 +01: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
|
69bdd4f3ff
|
Slight simplification of the ecl_stack_frame structure, with changes associated to interpreter, gfun and apply
|
2009-02-19 00:04:31 +01:00 |
|
Juan Jose Garcia Ripoll
|
44d23d1cdf
|
Factor the code for creating stack frames from varargs. Removed some arguments from ecl_apply_from_stack_frame and _ecl_standard_dispatch.
|
2009-02-17 23:40:27 +01:00 |
|
Juan Jose Garcia Ripoll
|
a4b7fca01b
|
Removed debug statement
|
2009-02-16 16:03:25 +01:00 |
|
Juan Jose Garcia Ripoll
|
a1bc92b05c
|
Changed the way closures are invoked, to make them similar to generic functions and bytecodes
|
2009-02-15 12:05:56 +01:00 |
|
Juan Jose Garcia Ripoll
|
e4870189d2
|
All function objects now have function pointers.
|
2009-02-14 21:44:16 +01:00 |
|
Juan Jose Garcia Ripoll
|
9f42309fbd
|
Finished the new dispatch code.
|
2009-02-14 00:01:57 +01:00 |
|
Juan Jose Garcia Ripoll
|
f096fdac51
|
Initial changes for a common dispatch function
|
2009-02-13 17:05:21 +01:00 |
|
Juan Jose Garcia Ripoll
|
609e1b8396
|
Fix support for unicode characters in readtables
|
2008-10-24 23:10:49 +02:00 |
|
Juan Jose Garcia Ripoll
|
7452875f32
|
ihs_push now requires the lisp environment.
|
2008-10-13 22:48:37 +02:00 |
|
Juan Jose Garcia Ripoll
|
46aa17b1d9
|
frs_push, frs_pop and ecl_unwind tak an environment as arg
|
2008-10-13 22:34:18 +02: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
|
4d11eaa81a
|
ecl_cs_check() now takes an environment parameter.
|
2008-10-12 13:00:53 +02:00 |
|
Juan Jose Garcia Ripoll
|
ed584a62c5
|
Deprecate name: cl_dealloc (-> ecl_dealloc)
|
2008-10-11 23:14:54 +02:00 |
|
Juan Jose Garcia Ripoll
|
7c5ab4f1fb
|
Some functions now take a cl_env_ptr argument, becoming better isolated.
|
2008-10-11 22:32:54 +02:00 |
|
Juan Jose Garcia Ripoll
|
8bf59c96ad
|
When resizing the stack, enclose the update in an interrupts-free region
|
2008-10-10 22:56:15 +02:00 |
|
Juan Jose Garcia Ripoll
|
5bda4b4f61
|
All allocation functions are now in the ECL library and they now have the ecl_* prefix. Old names are kept in macro form.
|
2008-10-10 22:36:15 +02:00 |
|
Juan Jose Garcia Ripoll
|
45ab6f72fe
|
New signal handlers which delay signals until an interruptible safe point is reached.
|
2008-10-07 23:59:57 +02:00 |
|
Juan Jose Garcia Ripoll
|
c0a1638b99
|
Added stack checks to ecl_interpret
|
2008-10-02 12:03:40 +02:00 |
|
Juan Jose Garcia Ripoll
|
89a5283927
|
Implemented an interface for setting/querying options with numeric values and used it for stack sizes and limits.
|
2008-10-02 11:11:58 +02:00 |
|
jjgarcia
|
8b1c69589a
|
ECL now signals a STACK-OVERFLOW condition when the binding stack grows too much
|
2008-09-28 20:11:38 +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 |
|