Juan Jose Garcia Ripoll
14abe649fa
ECL implements CDR 5
2011-08-05 00:16:34 +02:00
Juan Jose Garcia Ripoll
7278358db3
Change SI:CATCH-SIGNAL to accept a keyword argument :LOCAL and have only thread-local influence (only works in POSIX)
2011-08-02 22:01:06 +02:00
Juan Jose Garcia Ripoll
599f8017e1
Function read_VV is renamed to ecl_init_module()
2011-08-01 15:39:46 +02:00
Juan Jose Garcia Ripoll
e6bb812e38
Protect the GET/SET-SYSPROP hash using the same global lock as packages, which is now called cl_core.global_env read/write-lock
2011-07-31 17:03:24 +02:00
Juan Jose Garcia Ripoll
cc2b0901f9
Hash tables are no longer implicitly locked
2011-07-31 15:24:50 +02:00
Juan Jose Garcia Ripoll
e0d89daf02
Added the possibility of linking ECL's compiled data as binary data at the end of the compiled files, instead of C constants.
2011-06-23 21:28:58 +02:00
Juan Jose Garcia Ripoll
2693093c7d
Added functions to MMAP files into memory (Unix only).
2011-06-19 17:08:08 +02:00
Juan Jose Garcia Ripoll
1801c64bff
Dedicated function for loaded bytecompiled files
2011-06-05 12:35:35 +02:00
Juan Jose Garcia Ripoll
853ec3ebc5
Errors in array/sequence indexes are now a bit more uniform. Eliminated FEillegal_index. Changed prototype for FEtype_error_index. Fixed typo in FEwrong_index.
2011-04-03 10:03:50 +02:00
Juan Jose Garcia Ripoll
a7000ca0f9
Reimplementation of the SIGCHLD handler -- avoids race conditions using the signal handling thread.
2011-03-13 21:59:36 +01:00
Juan Jose Garcia Ripoll
c2935cbb4f
New function ecl_delete_eq
2011-03-13 21:58:41 +01:00
Juan Jose Garcia Ripoll
1523ae8a5c
EXT package created containing the original set of symbols (not yet filtered) and re-exported from SYS
2011-02-27 23:20:12 +01:00
Juan Jose Garcia Ripoll
bc4469906f
Trap and use SIGCHLD to update the status of running processes
2011-02-27 16:57:46 +01:00
Juan Jose Garcia Ripoll
ad18f713c4
The bytecodes compiler may now compile constant values using make-load-forms
2011-02-27 10:58:09 +01:00
Juan Jose Garcia Ripoll
a136b663bd
Embed the Unicode database in the C library as a sequence of C arrays.
2011-02-20 23:52:24 +00:00
Juan Jose Garcia Ripoll
40146b3fd3
The TRACE mechanism no longer inspects the bytecodes, but rather relies on the central database *TRACE-LIST* (Still not thread safe)
2011-02-06 20:04:35 +01:00
Juan Jose Garcia Ripoll
87a7b900b2
New function SI:PROPER-LIST-P
2011-02-06 19:57:29 +01:00
Juan Jose Garcia Ripoll
1a775ca835
SI:BC-SPLIT and SI:BC-JOIN now as means to deconstruct and join a bytecodes object.
2011-02-04 21:52:05 +01:00
Juan Jose Garcia Ripoll
e6d180e7df
The socket functions now accept an optional :ELEMENT-TYPE keyword argument, in addition to :EXTERNAL-FORMAT
2011-01-24 23:03:14 +01:00
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
93b904b1e6
Implicit conversion in make_constant_base_string prevented compilation with C++ compiler
2011-01-16 15:12:59 +01:00
Juan Jose Garcia Ripoll
4a83432e01
ecl_make_simple_base_string() replaces make_simple_base_string() and allows fixing the length.
2011-01-13 23:28:44 +01:00
Juan Jose Garcia Ripoll
f0793de5b4
New function ecl_signbit()
2010-12-19 20:06:15 +01:00
Juan Jose Garcia Ripoll
c952641c43
Added C backtraces (EXT:DUMP-C-BACKTRACE) and used them at boot time, when the error handler is not set up.
2010-11-07 12:49:55 +01:00
Juan Jose Garcia Ripoll
70a045f667
Split out 1+, 1-, conjugate, negate
2010-11-02 18:28:23 +01:00
Juan Jose Garcia Ripoll
79d8e9b569
Split printer into separate files, factorizing those for unreadable printing
2010-10-28 23:05:25 +02:00
Juan Jose Garcia Ripoll
1e3eb5b62a
Global locking is done through three different locks, cl_core.global_lock, error_lock and package_lock.
2010-10-24 17:53:29 +02:00
Juan Jose Garcia Ripoll
89ad07fefc
The list of packages to be created is now thread-local and its manipulation is thus thread safe.
2010-10-24 00:00:22 +02:00
Juan Jose Garcia Ripoll
8c42f280c8
Added support for POSIX read/write locks
2010-10-23 23:03:02 +02:00
Juan Jose Garcia Ripoll
24b9f04161
ECL captures SIGPIPE
2010-10-17 16:49:13 +02:00
Juan Jose Garcia Ripoll
69f87e41d3
ECL now waits for its signal handling thread to start so that quitting becomes safe.
2010-10-17 15:14:20 +02:00
Juan Jose Garcia Ripoll
4f23ce577c
Ported SBCL's FLONUM-TO-STRING to ECL's core (in C).
...
New function INTEGER-TO-STRING added to ECL's core.
Both FLOAT-TO-STRING and INTEGER-TO-STRING are used in ECL's printer.
FORMAT uses ECL's new FLOAT-TO-STRING.
2010-10-17 14:38:47 +02:00
Alexander Gavrilov
03049ee7e2
Make boxed SSE packs untyped for all purposes but printing.
...
Now the following rules hold:
- (type-of pack) = SSE-PACK
- (typep pack '*-SSE-PACK) = T
The compiler is tweaked to unbox unidentified packs as
__m128i (integer), assuming that a cast would be inserted
later if that is not what was needed.
2010-10-03 23:43:52 +02:00
Juan Jose Garcia Ripoll
1af0162b6f
The compiler package is now part of the ones that are built in
2010-09-12 09:58:33 +02:00
Juan Jose Garcia Ripoll
c4dd32ca96
Third iteration at the problem with packages_to_be_created. Now this variable is associated to a flag that deactivates its use outside read_VV's reader.
2010-09-05 22:43:49 +02:00
Juan Jose Garcia Ripoll
6e90253faf
Fixed compiler warnings
2010-08-24 17:32:22 +02:00
Juan Jose Garcia Ripoll
5c63cd8345
When compiling for the Windows API, define ECL_MS_WINDOWS_HOST instead of checking for mingw or _MSC_VER separately (Gabriel Dos Reis)
2010-08-22 22:29:21 +02:00
Juan Jose Garcia Ripoll
b9b648e16e
The default rehash size and threshold are now static constants.
2010-08-21 11:53:33 +02:00
Alexander Gavrilov
8ed8a8e807
Add a function for retrieving the array element size in bytes.
...
This information is necessary for various alignment needs and
other low-level memory manipulation. For bit it returns a ratio.
2010-08-20 20:29:04 +02:00
Alexander Gavrilov
7c7a40e4bd
Add a function for computing the pointer to a row-major-aref item.
...
This is necessary for open-coding the actual array access, while
keeping the array object type and index bound check. The array
element type is not checked; instead the function ensures that the
specified number of bytes at the returned ptr are within bounds.
2010-08-20 20:29:03 +02:00
Alexander Gavrilov
5088dd10b5
Implement compilation of SSE packed vector constants.
...
The constants are dumped as static C constants, with
data represented as integer byte values. This should
provide optimal performance and exact equality.
2010-08-20 20:29:03 +02:00
Alexander Gavrilov
c348b6f948
Implement boxing and unboxing of SSE values in the compiler.
...
This makes the SSE types marginally usable via c-inline:
(defun foo (xx yy)
(let ((sum (ffi:c-inline
(xx yy) (:float-sse-pack :float-sse-pack)
:float-sse-pack
"_mm_add_ps(#0,#1)" :one-liner t)))
(ffi:c-inline (sum) (:float-sse-pack) :float-sse-pack
"_mm_mul_ps(#0,_mm_set1_ps(3.0))" :one-liner t)))
2010-08-20 20:29:03 +02:00
Alexander Gavrilov
ce2badff90
Add the boxed SSE packed vector types.
...
Boxing SSE values is useless performance-wise, but necessary
to provide continuity between compiled and interpreted code.
This set of types is peculiar in that while the actual CPU
instruction set mostly does not care about the data types
(although mixing commands for ints and floats leads to
some performance degradation), the C intrinsic function
interface does distinguish the types to some extent.
Thus it also has to be represented in the ECL compiler.
2010-08-20 20:29:03 +02:00
Juan Jose Garcia Ripoll
e83bd3dfb4
Unboxed type SHORT-FLOAT removed from the core.
2010-08-17 19:47:14 +02:00
Juan Jose Garcia Ripoll
117eae2810
Export POSIX function getuid()
2010-06-30 21:31:31 +02:00
Juan Jose Garcia Ripoll
7956d93bb1
Add declaration for FEwrong_index
2010-06-20 00:30:43 +02:00
Juan Jose Garcia Ripoll
a49dad3e6d
cl_cos/cl_sin/... now have a slightly cheaper working function ecl_cos/ecl_sin/... that can be directly called
2010-06-19 17:48:33 +02:00
Juan Jose Garcia Ripoll
2e1b5463e0
Logical pathnames are now uppercased
2010-06-03 20:41:21 +02:00
Juan Jose Garcia Ripoll
a7a221e136
Optimized COPY-SUBARRAY and used it for improving REPLACE
2010-05-28 23:46:00 +02:00
Juan Jose Garcia Ripoll
b5d5cacbde
Use a hash to seek the compilation strategies in the interpreter
2010-05-25 19:42:44 +02:00