Juan Jose Garcia Ripoll [Sat, 13 Feb 2010 14:35:42 +0000 (15:35 +0100)]
When using threads and sockets, the stream is a two-way streams and its components must be closed separately.
Juan Jose Garcia Ripoll [Sat, 13 Feb 2010 14:29:41 +0000 (15:29 +0100)]
Extend the set of types supported by UFFI (Matthew Mondor).
Juan Jose Garcia Ripoll [Sat, 13 Feb 2010 13:56:54 +0000 (14:56 +0100)]
Finalize CHANGELOG for the 10.2.1 release.
Juan Jose Garcia Ripoll [Fri, 12 Feb 2010 17:33:04 +0000 (18:33 +0100)]
Socket streams are now two-way streams.
Juan Jose Garcia Ripoll [Mon, 8 Feb 2010 22:20:29 +0000 (23:20 +0100)]
Reorganize the code for OP_LABELS/OP_FLET in ecl_interpret() to occupy less space and get faster.
Juan Jose Garcia Ripoll [Mon, 8 Feb 2010 21:05:57 +0000 (22:05 +0100)]
Factor out some error conditions from the interpreter loop.
Juan Jose Garcia Ripoll [Mon, 8 Feb 2010 20:49:31 +0000 (21:49 +0100)]
Mark in stacks.h the error conditions with ecl_unlikely().
Juan Jose Garcia Ripoll [Mon, 8 Feb 2010 13:26:52 +0000 (14:26 +0100)]
Remove bogus inline forms for FLOOR and TRUNCATE
Juan Jose Garcia Ripoll [Mon, 8 Feb 2010 12:01:45 +0000 (13:01 +0100)]
Avoid using ecl_internal_error() also in ecl_bds_overflow and ecl_frs_oveflow.
Juan Jose Garcia Ripoll [Mon, 8 Feb 2010 11:46:13 +0000 (12:46 +0100)]
ecl_cs_overflow() and SIGSEGV handler now share the same strategy: jump to the outermost frame when the error can not be cured.
Juan Jose Garcia Ripoll [Mon, 8 Feb 2010 10:47:30 +0000 (11:47 +0100)]
ECL accepts FTYPE proclamations for SETF-functions.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 22:22:26 +0000 (23:22 +0100)]
Avoid using _ecl_big_register_normalize() in alloc_2.d
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 22:02:29 +0000 (23:02 +0100)]
Number of allocated bytes was didn't have to be multiplied by anything. Reset GC counters every time we call GC-STATS.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 20:05:15 +0000 (21:05 +0100)]
Turn warnings about ECL not being able to cope with certain types into compiler notes.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 19:56:36 +0000 (20:56 +0100)]
Until we merge in the new code for type handling, we turn all warnings about types into notes.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 19:42:29 +0000 (20:42 +0100)]
Implemented SBCL's extension EXT:*INVOKE-DEBUGGER-HOOK*
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 15:31:06 +0000 (16:31 +0100)]
In compiler-debugger, do not muffle errors because they might be caused by user handlers. Ideally internal errors should have been already muffled by handle-compiler-internal-error
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 15:05:32 +0000 (16:05 +0100)]
Simplified the SETF expansion of GETF: it no longer produces an ignored variable when the default value is not supplied
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 14:48:19 +0000 (15:48 +0100)]
Solved a problem with packages to be created in a compiled file not being recognized as having been created -- the value of cl_core.packages_to_be_created was not properly updated.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 13:54:16 +0000 (14:54 +0100)]
Fixed typo.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 11:47:01 +0000 (12:47 +0100)]
Export *SUPPRESS-COMPILER-{NOTES,WARNINGS,MESSAGES}*
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 11:26:39 +0000 (12:26 +0100)]
Variables in the PPRINT-LOGICAL-BLOCK macro must be marked as ignorable.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 11:17:53 +0000 (12:17 +0100)]
Decrease verbosity in compiler note printing.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 11:17:35 +0000 (12:17 +0100)]
Fixed a typo in EXT:GC-STATS that left statistics printing activated.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 11:04:38 +0000 (12:04 +0100)]
Added an ignorable dclaration to the expansion of HANDLER-CASE.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 10:57:34 +0000 (11:57 +0100)]
In compiler messages, print the actual toplevel form, not the macroexpanded version
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 10:20:41 +0000 (11:20 +0100)]
Remove useless compiler note about keywords being reused
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 10:13:37 +0000 (11:13 +0100)]
Fixed typo in the implementation of THE.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 10:08:35 +0000 (11:08 +0100)]
Remove debug statement
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 10:08:09 +0000 (11:08 +0100)]
The compiler now uses THE forms with a VALUES type.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 09:50:38 +0000 (10:50 +0100)]
When parsing a function type that contained &optional, the compiler did not eliminate this word before parsing the next argument.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 09:36:16 +0000 (10:36 +0100)]
Symbols SI:+{IO,ECL}-SYNTAX-PROGV-LIST+ were not declared constants.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 00:39:11 +0000 (01:39 +0100)]
Internal variable SI:*ALLOW-WITH-INTERRUPTS* not declared special.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 00:29:20 +0000 (01:29 +0100)]
Fixed typo in CHANGELOG
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 00:21:26 +0000 (01:21 +0100)]
Variables declared ignorable no longer produce a warning when removed from LET/LET* forms.
Juan Jose Garcia Ripoll [Sun, 7 Feb 2010 00:21:09 +0000 (01:21 +0100)]
When inlining an APPLY form, the variable for processing the argument list may be declared ignorable, in order to prevent warnings.
Juan Jose Garcia Ripoll [Sat, 6 Feb 2010 23:02:52 +0000 (00:02 +0100)]
(EXT:GC-STATS :FULL) now tells the garbage collector to produce full statistics.
Juan Jose Garcia Ripoll [Sat, 6 Feb 2010 22:57:49 +0000 (23:57 +0100)]
Improve previous change.
Juan Jose Garcia Ripoll [Sat, 6 Feb 2010 22:51:25 +0000 (23:51 +0100)]
Mingw defines 'environ' to be a macro instead of a global variable.
Juan Jose Garcia Ripoll [Fri, 5 Feb 2010 18:26:12 +0000 (19:26 +0100)]
Upgraded to ASDF 1.604 to solve a problem with restarts.
Juan Jose Garcia Ripoll [Thu, 4 Feb 2010 22:27:12 +0000 (23:27 +0100)]
Upgraded ASDF to 1.603.
Juan Jose Garcia Ripoll [Thu, 4 Feb 2010 20:25:17 +0000 (21:25 +0100)]
Use __builtin_expect() in the dispatch functions.
Juan Jose Garcia Ripoll [Thu, 4 Feb 2010 20:18:24 +0000 (21:18 +0100)]
Reduce the size of the core using GCC's __attribute__((noreturn))
Juan Jose Garcia Ripoll [Thu, 4 Feb 2010 15:54:05 +0000 (16:54 +0100)]
Replace use of __builtin_expect() with two macros, ecl_{likely,unlikely}
Juan Jose Garcia Ripoll [Wed, 3 Feb 2010 23:31:03 +0000 (00:31 +0100)]
Mark FEprogram_error as noreturn.
Juan Jose Garcia Ripoll [Wed, 3 Feb 2010 23:05:01 +0000 (00:05 +0100)]
FEinvalid_function and FEundefined_function marked as __attribute((noreturn)).
Juan Jose Garcia Ripoll [Wed, 3 Feb 2010 22:30:16 +0000 (23:30 +0100)]
Use of __builtin_expect() to mark rare error conditions. Use of __attribute__((noreturn)) on error functions which are used at the beginning of a function and do not have possibility of triggering a longjmp int the same function.
Juan Jose Garcia Ripoll [Wed, 3 Feb 2010 22:29:08 +0000 (23:29 +0100)]
CLOS::*NEXT-METHODS* and CLOS::.COMBINED-METHOD-ARGS. are now globally declared special.
Juan Jose Garcia Ripoll [Wed, 3 Feb 2010 21:43:04 +0000 (22:43 +0100)]
Undo previous garbage collector change.
Juan Jose Garcia Ripoll [Wed, 3 Feb 2010 21:21:45 +0000 (22:21 +0100)]
Pushed version number forward.
Juan Jose Garcia Ripoll [Wed, 3 Feb 2010 21:14:07 +0000 (22:14 +0100)]
New variables c:*user-ld-flags* and c:*user-cc-flags*
Juan Jose Garcia Ripoll [Wed, 3 Feb 2010 20:01:05 +0000 (21:01 +0100)]
When marking the environment, only mark pages that are dirty.
Juan Jose Garcia Ripoll [Wed, 3 Feb 2010 20:00:39 +0000 (21:00 +0100)]
ECL now ships with ASDF version 1.596
Juan Jose Garcia Ripoll [Wed, 3 Feb 2010 20:00:23 +0000 (21:00 +0100)]
ECL now ships with ASDF version 1.596
Juan Jose Garcia Ripoll [Tue, 2 Feb 2010 18:39:35 +0000 (19:39 +0100)]
Fixed typo.
Juan Jose Garcia Ripoll [Tue, 2 Feb 2010 15:53:53 +0000 (16:53 +0100)]
Own marking routine for garbage collection.
Juan Jose Garcia Ripoll [Tue, 2 Feb 2010 09:30:07 +0000 (10:30 +0100)]
Dispatch allocation to functions using pointers.
Juan Jose Garcia Ripoll [Mon, 1 Feb 2010 23:05:50 +0000 (00:05 +0100)]
Do not define the free list and new kind unless needed.
Juan Jose Garcia Ripoll [Mon, 1 Feb 2010 23:04:38 +0000 (00:04 +0100)]
We are using __builtin_expect() which is not portable. Define a macro for non-GCC compilers.
Juan Jose Garcia Ripoll [Mon, 1 Feb 2010 23:00:14 +0000 (00:00 +0100)]
Activated code for inline allocation.
Juan Jose Garcia Ripoll [Mon, 1 Feb 2010 22:56:21 +0000 (23:56 +0100)]
Changed header so that we can use GC_arrays from ECL.
Juan Jose Garcia Ripoll [Mon, 1 Feb 2010 15:47:27 +0000 (16:47 +0100)]
Group the precise marking code so that it builds also without --enable-precisegc.
Juan Jose Garcia Ripoll [Mon, 1 Feb 2010 13:54:59 +0000 (14:54 +0100)]
Implemented precise marking of objects using Boehm's typed objects.
Juan Jose Garcia Ripoll [Fri, 29 Jan 2010 13:10:49 +0000 (14:10 +0100)]
Do not shrink bignum registers.
Juan Jose Garcia Ripoll [Thu, 28 Jan 2010 22:36:01 +0000 (23:36 +0100)]
Moved more uses of _ecl_big_register*() out of sources into big.d. Introduced _ecl_big_gcd().
Juan Jose Garcia Ripoll [Thu, 28 Jan 2010 22:08:16 +0000 (23:08 +0100)]
Intoduced _ecl_fix_times_fix, _ecl_big_ceiling and _ecl_big_floor.
Juan Jose Garcia Ripoll [Thu, 28 Jan 2010 21:13:40 +0000 (22:13 +0100)]
Created _ecl_fix_times_fix and used it in num_arith.d
Juan Jose Garcia Ripoll [Thu, 28 Jan 2010 20:42:34 +0000 (21:42 +0100)]
Reactivate allocating compact bignums.
Juan Jose Garcia Ripoll [Thu, 28 Jan 2010 17:14:04 +0000 (18:14 +0100)]
Introduced _ecl_big_negate.
Juan Jose Garcia Ripoll [Thu, 28 Jan 2010 17:03:59 +0000 (18:03 +0100)]
Fixed and used _ecl_fix_minus_big and _ecl_big_minus_big.
Juan Jose Garcia Ripoll [Thu, 28 Jan 2010 16:57:43 +0000 (17:57 +0100)]
Fixed and used _ecl_big_plus_{fix,big}
Juan Jose Garcia Ripoll [Thu, 28 Jan 2010 16:25:59 +0000 (17:25 +0100)]
New functions for adding, subtracting and multiplying bignums.
Juan Jose Garcia Ripoll [Wed, 27 Jan 2010 12:52:41 +0000 (13:52 +0100)]
Fixed typo in big.d
Juan Jose Garcia Ripoll [Wed, 27 Jan 2010 12:18:17 +0000 (13:18 +0100)]
In 'dpp.c', the value of the environment is reused in the @(return) statements.
Juan Jose Garcia Ripoll [Tue, 26 Jan 2010 22:14:33 +0000 (23:14 +0100)]
Replaced ecl_symbol_slot and ecl_set_symbol with ecl_bds_read and ecl_bds_set.
Juan Jose Garcia Ripoll [Tue, 26 Jan 2010 21:29:53 +0000 (22:29 +0100)]
No bds check is needed in compiled functions, since this is included in the ecl_bds_bind routine.
Juan Jose Garcia Ripoll [Tue, 26 Jan 2010 13:23:15 +0000 (14:23 +0100)]
In critical circumstances, a newly bound special variable that causes the thread-local stack to grow could result in the variable not being bound.
Juan Jose Garcia Ripoll [Mon, 25 Jan 2010 21:58:06 +0000 (22:58 +0100)]
Changes to make the MSVC port work again, including fixes for EXT:RUN-PROGRAM and EXT:EXTERNAL-PROCESS-WAIT.
Juan Jose Garcia Ripoll [Mon, 25 Jan 2010 20:26:19 +0000 (21:26 +0100)]
Fixed typo in ext:external-process-status
Juan Jose Garcia Ripoll [Mon, 25 Jan 2010 20:25:56 +0000 (21:25 +0100)]
Sometimes, in external-process-wait, the value of code was undetermined.
Juan Jose Garcia Ripoll [Mon, 25 Jan 2010 19:51:36 +0000 (20:51 +0100)]
Introduced EXT:EXTERNAL-PROCESS structure. RUN-PROCESS creates that structure. New function EXT:EXTERNAL-PROCESS-WAIT.
Juan Jose Garcia Ripoll [Mon, 25 Jan 2010 19:50:31 +0000 (20:50 +0100)]
Missing argument for a warning
Juan Jose Garcia Ripoll [Mon, 25 Jan 2010 08:09:10 +0000 (09:09 +0100)]
Missing arguments to several warnings (S. Bourakev).
Juan Jose Garcia Ripoll [Sun, 24 Jan 2010 22:39:20 +0000 (23:39 +0100)]
MP:PROCESS-ENABLE did not return the process object.
Juan Jose Garcia Ripoll [Sun, 24 Jan 2010 22:09:28 +0000 (23:09 +0100)]
EXT:RUN-PROGRAM now accepts an :ENVIRON argument.
Juan Jose Garcia Ripoll [Sun, 24 Jan 2010 21:37:43 +0000 (22:37 +0100)]
New function EXT:ENVIRON
Juan Jose Garcia Ripoll [Sun, 24 Jan 2010 08:49:36 +0000 (09:49 +0100)]
Use inline functions also for the single threaded version
Juan Jose Garcia Ripoll [Sat, 23 Jan 2010 22:45:21 +0000 (23:45 +0100)]
The code for binding special variables is now in inline functions.
Juan Jose Garcia Ripoll [Sat, 23 Jan 2010 22:29:57 +0000 (23:29 +0100)]
In alloc_2.d, when recycling a symbol binding index we cannot cons inside
a THREAD_OP_LOCK() region because this may be interrupted by a garbage
collection process - instead perform the allocation outside and then
do an atomic update of the indices list.
Juan Jose Garcia Ripoll [Sat, 23 Jan 2010 00:35:17 +0000 (01:35 +0100)]
Inline ecl_bds_push() and simplify ecl_symbol_slot(), which will never be called on Cnil.
Juan Jose Garcia Ripoll [Fri, 22 Jan 2010 18:37:57 +0000 (19:37 +0100)]
Remove unused variables in stacks.d
Juan Jose Garcia Ripoll [Fri, 22 Jan 2010 18:15:52 +0000 (19:15 +0100)]
Save another few bytes by redefining ecl_bds_overflow() to return a pointer.
Juan Jose Garcia Ripoll [Fri, 22 Jan 2010 18:07:18 +0000 (19:07 +0100)]
Another variant in which the memory address of the bindings and their size is stored in the environment itself.
Juan Jose Garcia Ripoll [Fri, 22 Jan 2010 17:47:55 +0000 (18:47 +0100)]
Remove one test from the implementation of ecl_bds_bind().
Juan Jose Garcia Ripoll [Fri, 22 Jan 2010 16:47:10 +0000 (17:47 +0100)]
Special variable bindings using a thread-local array instead of a hash table.
Juan Jose Garcia Ripoll [Thu, 21 Jan 2010 14:56:44 +0000 (15:56 +0100)]
Some comments on thread_entry_point().
Juan Jose Garcia Ripoll [Thu, 21 Jan 2010 14:39:41 +0000 (15:39 +0100)]
The environment of a thread is now allocated and managed by the parent thread. This decreases the time that passes since a thread is started till it is interruptible.
Juan Jose Garcia Ripoll [Thu, 21 Jan 2010 13:31:56 +0000 (14:31 +0100)]
ecl_init_env() split into ecl_init_env and ecl_cs_set_org() so that the former does not need to be executed in the same thread where it is going to be used.
Juan Jose Garcia Ripoll [Wed, 20 Jan 2010 21:55:53 +0000 (22:55 +0100)]
New macro _hash_eq
Juan Jose Garcia Ripoll [Wed, 20 Jan 2010 21:55:14 +0000 (22:55 +0100)]
Reorganize the code for variable binding for better caching.