Juan Jose Garcia Ripoll
17fc75fcc1
Fixed typo.
2010-02-07 14:54:16 +01:00
Juan Jose Garcia Ripoll
9165901f6d
Fixed a typo in EXT:GC-STATS that left statistics printing activated.
2010-02-07 12:17:35 +01:00
Juan Jose Garcia Ripoll
20d4a35287
Symbols SI:+{IO,ECL}-SYNTAX-PROGV-LIST+ were not declared constants.
2010-02-07 10:36:16 +01:00
Juan Jose Garcia Ripoll
11a6f89a70
Internal variable SI:*ALLOW-WITH-INTERRUPTS* not declared special.
2010-02-07 01:39:11 +01:00
Juan Jose Garcia Ripoll
2dd21b7cd1
(EXT:GC-STATS :FULL) now tells the garbage collector to produce full statistics.
2010-02-07 00:02:52 +01:00
Juan Jose Garcia Ripoll
bda247e139
Improve previous change.
2010-02-06 23:57:49 +01:00
Juan Jose Garcia Ripoll
d5dda8ff8e
Mingw defines 'environ' to be a macro instead of a global variable.
2010-02-06 23:51:25 +01:00
Juan Jose Garcia Ripoll
5fd309897b
Use __builtin_expect() in the dispatch functions.
2010-02-04 21:25:17 +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
337819233d
Replace use of __builtin_expect() with two macros, ecl_{likely,unlikely}
2010-02-04 16:54:05 +01:00
Juan Jose Garcia Ripoll
7d9fb8bbc7
Mark FEprogram_error as noreturn.
2010-02-04 00:31:03 +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
40ee2b29eb
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.
2010-02-03 23:30:16 +01:00
Juan Jose Garcia Ripoll
d73502b8f3
CLOS::*NEXT-METHODS* and CLOS::.COMBINED-METHOD-ARGS. are now globally declared special.
2010-02-03 23:29:08 +01:00
Juan Jose Garcia Ripoll
2908aabbbc
Undo previous garbage collector change.
2010-02-03 22:43:04 +01:00
Juan Jose Garcia Ripoll
6c77033ad6
When marking the environment, only mark pages that are dirty.
2010-02-03 21:01:05 +01:00
Juan Jose Garcia Ripoll
6ddf0a5c4c
Fixed typo.
2010-02-02 19:39:35 +01:00
Juan Jose Garcia Ripoll
a5f254cb13
Own marking routine for garbage collection.
2010-02-02 16:53:53 +01:00
Juan Jose Garcia Ripoll
2da3cb5af2
Dispatch allocation to functions using pointers.
2010-02-02 10:30:07 +01:00
Juan Jose Garcia Ripoll
c0c339510b
Do not define the free list and new kind unless needed.
2010-02-02 00:05:50 +01:00
Juan Jose Garcia Ripoll
e30ccfaec9
We are using __builtin_expect() which is not portable. Define a macro for non-GCC compilers.
2010-02-02 00:04:38 +01:00
Juan Jose Garcia Ripoll
8f51774f56
Activated code for inline allocation.
2010-02-02 00:00:14 +01:00
Juan Jose Garcia Ripoll
1e4f19a631
Group the precise marking code so that it builds also without --enable-precisegc.
2010-02-01 16:47:27 +01:00
Juan Jose Garcia Ripoll
78ff9930cc
Implemented precise marking of objects using Boehm's typed objects.
2010-02-01 14:54:59 +01:00
Juan Jose Garcia Ripoll
20f4c8931e
Do not shrink bignum registers.
2010-01-29 14:10:49 +01:00
Juan Jose Garcia Ripoll
b351955296
Moved more uses of _ecl_big_register*() out of sources into big.d. Introduced _ecl_big_gcd().
2010-01-28 23:36:01 +01:00
Juan Jose Garcia Ripoll
83eddf11f9
Intoduced _ecl_fix_times_fix, _ecl_big_ceiling and _ecl_big_floor.
2010-01-28 23:08:16 +01:00
Juan Jose Garcia Ripoll
5e32e797c9
Created _ecl_fix_times_fix and used it in num_arith.d
2010-01-28 22:13:40 +01:00
Juan Jose Garcia Ripoll
d274206693
Reactivate allocating compact bignums.
2010-01-28 21:42:34 +01:00
Juan Jose Garcia Ripoll
c393747283
Introduced _ecl_big_negate.
2010-01-28 18:14:04 +01:00
Juan Jose Garcia Ripoll
101569dc8f
Fixed and used _ecl_fix_minus_big and _ecl_big_minus_big.
2010-01-28 18:03:59 +01:00
Juan Jose Garcia Ripoll
11a1ffb74f
Fixed and used _ecl_big_plus_{fix,big}
2010-01-28 17:57:43 +01:00
Juan Jose Garcia Ripoll
4b4e17ac03
New functions for adding, subtracting and multiplying bignums.
2010-01-28 17:25:59 +01:00
Juan Jose Garcia Ripoll
c8f14d68a6
Fixed typo in big.d
2010-01-27 13:52:41 +01:00
Juan Jose Garcia Ripoll
1d7a3c5309
In 'dpp.c', the value of the environment is reused in the @(return) statements.
2010-01-27 13:18:17 +01:00
Juan Jose Garcia Ripoll
1f8e6dd3bb
Replaced ecl_symbol_slot and ecl_set_symbol with ecl_bds_read and ecl_bds_set.
2010-01-26 23:14:33 +01:00
Juan Jose Garcia Ripoll
13bb96b627
In critical circumstances, a newly bound special variable that causes the thread-local stack to grow could result in the variable not being bound.
2010-01-26 14:23:15 +01:00
Juan Jose Garcia Ripoll
dcb68018c3
Changes to make the MSVC port work again, including fixes for EXT:RUN-PROGRAM and EXT:EXTERNAL-PROCESS-WAIT.
2010-01-25 22:58:06 +01:00
Juan Jose Garcia Ripoll
183cdb1d94
Sometimes, in external-process-wait, the value of code was undetermined.
2010-01-25 21:25:56 +01:00
Juan Jose Garcia Ripoll
2a27dc6404
Introduced EXT:EXTERNAL-PROCESS structure. RUN-PROCESS creates that structure. New function EXT:EXTERNAL-PROCESS-WAIT.
2010-01-25 20:51:36 +01:00
Juan Jose Garcia Ripoll
4e35a718e5
MP:PROCESS-ENABLE did not return the process object.
2010-01-24 23:39:20 +01:00
Juan Jose Garcia Ripoll
63393f7c40
EXT:RUN-PROGRAM now accepts an :ENVIRON argument.
2010-01-24 23:09:28 +01:00
Juan Jose Garcia Ripoll
65cf8c51f6
New function EXT:ENVIRON
2010-01-24 22:37:43 +01:00
Juan Jose Garcia Ripoll
eb25ef6f63
Use inline functions also for the single threaded version
2010-01-24 09:49:36 +01:00
Juan Jose Garcia Ripoll
33d07a52bb
The code for binding special variables is now in inline functions.
2010-01-23 23:45:21 +01:00
Juan Jose Garcia Ripoll
943d65ec12
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.
2010-01-23 23:29:57 +01:00
Juan Jose Garcia Ripoll
7e89c249ab
Inline ecl_bds_push() and simplify ecl_symbol_slot(), which will never be called on Cnil.
2010-01-23 01:35:17 +01:00
Juan Jose Garcia Ripoll
b3a5eff059
Remove unused variables in stacks.d
2010-01-22 19:37:57 +01:00
Juan Jose Garcia Ripoll
2d8dbea456
Save another few bytes by redefining ecl_bds_overflow() to return a pointer.
2010-01-22 19:15:52 +01:00
Juan Jose Garcia Ripoll
c97757467f
Another variant in which the memory address of the bindings and their size is stored in the environment itself.
2010-01-22 19:07:18 +01:00