Juan Jose Garcia Ripoll
69ca2d586d
Only use long double when the special functions are available
2010-10-29 22:29:05 +02:00
Juan Jose Garcia Ripoll
86329e0aad
_ecl_stream_or_default_output did not check their output.
2010-10-29 21:35:26 +02:00
Juan Jose Garcia Ripoll
17b611b580
Adjust buffer size in write_stream
2010-10-28 23:51:21 +02:00
Juan Jose Garcia Ripoll
d1ef5a13b1
In si_write_ugly_object dispatch is based on a pointer table.
2010-10-28 23:49:12 +02: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
4eee8dce57
Simplify and reorganize RENAME-PACKAGE
2010-10-25 22:43:04 +02:00
Juan Jose Garcia Ripoll
c86c8bd5c0
Move packages to read/write locks
2010-10-24 17:53:44 +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
1f10848129
SI::LOAD-BINARY no longer needs a global lock
2010-10-24 00:04:37 +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
f5da73b361
Always include rwlock, even when we just use plain locks.
2010-10-23 23:12:58 +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
3dfb2d6dcb
Split the threads code into separate files.
2010-10-23 21:43:46 +02:00
Juan Jose Garcia Ripoll
e27974cf76
Unknown FUNCALL forms must be tagged as side-effect full
2010-10-23 00:53:35 +02:00
Juan Jose Garcia Ripoll
e563b560f9
At the toplevel, do not attemp to print readably processes
2010-10-23 00:48:20 +02:00
Juan Jose Garcia Ripoll
e8275b64dc
Loading of libraries is now thread safe independently of the load-compile lock
2010-10-23 00:47:42 +02:00
Juan Jose Garcia Ripoll
549f35f94e
The global lock is now recursive
2010-10-23 00:47:39 +02:00
Juan Jose Garcia Ripoll
04ae0f3401
New macros for handling the global lock
2010-10-23 00:47:29 +02:00
Juan Jose Garcia Ripoll
026623824b
Removed a bug related to replaced values in LET forms.
2010-10-19 23:58:07 +02:00
Juan Jose Garcia Ripoll
166bbfd8f1
Remove / disable the code similarity routines. They simply do not work.
2010-10-19 23:02:14 +02:00
Juan Jose Garcia Ripoll
e18fdb426a
Fixed typo
2010-10-19 22:51:14 +02:00
Juan Jose Garcia Ripoll
5a9989288c
FEerror and cl_error abort if the handler returns
2010-10-19 21:34:39 +02:00
Juan Jose Garcia Ripoll
cb490d86fa
Offer restarts when the command line options fail.
2010-10-19 19:50:16 +02:00
Juan Jose Garcia Ripoll
0ad2895b8d
Eliminate SI:*BREAK-ENABLE*, which is not really needed: if you want to suppress the debugger, use HANDLER-BIND.
2010-10-19 19:50:01 +02:00
Juan Jose Garcia Ripoll
1ea5ad800e
Reset the IO environment when entering the debugger
2010-10-19 17:36:37 +02:00
Juan Jose Garcia Ripoll
a3b639e2fe
RESTART-PRINT and PRINT-OBJECT did not always return the printed object
2010-10-19 17:36:24 +02:00
Juan Jose Garcia Ripoll
ce5a04bc37
Fixed broken use of ecl_copy_subarray
2010-10-19 17:35:57 +02:00
Juan Jose Garcia Ripoll
af1bb228dc
The standard IO syntax also resets the print circle
2010-10-19 17:35:33 +02:00
Juan Jose Garcia Ripoll
3d0637bd06
ECL mistakenly allowed the rational denominator to carry a sign, as in 1/-2.
2010-10-19 00:12:13 +02:00
Juan Jose Garcia Ripoll
7df0f1af3d
Wrap the &whole argument in a temporary variable to avoid warnings when the argument is declared ignorable
2010-10-19 00:07:01 +02:00
Juan Jose Garcia Ripoll
c591f61d3e
The nosignal argument to SOCKET-SEND works now also in BSD systems
2010-10-17 16:50:11 +02:00
Juan Jose Garcia Ripoll
43dd4b50fa
In C-INLINE forms, ## is replaced with a single hash # character.
2010-10-17 16:49:45 +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
bd0fba96fc
The new reader and printer routines are incorporated into the MSVC port
2010-10-17 14:45:10 +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
Juan Jose Garcia Ripoll
f8c9558a5d
SI:ARRAY-ELEMENT-TYPE-BYTE-SIZE now accepts an array instead of a type (A Gavrilov)
2010-10-14 09:50:45 +02:00
Juan Jose Garcia Ripoll
98c08821c6
Simplify the decision on when to inline -/+/*... fixing a problem with single-argument negation
2010-10-11 11:20:54 +02:00
Juan Jose Garcia Ripoll
e1d0e28890
Fixed typo in expansion of AREF for (SIGNED-BYTE 64)
2010-10-10 22:55:28 +02:00
Juan Jose Garcia Ripoll
7fae69de9d
Include the current directory in the list of search paths for the C compiler
2010-10-06 09:48:35 +02:00
Juan Jose Garcia Ripoll
06759cf68f
Fixed typo
2010-10-04 23:28:42 +02:00
Juan Jose Garcia Ripoll
6fd15dac1b
The names of the programs ranlib and ar are no longer hardcoded in ECL (Gabriel Dos Reis). Names of C files, headers and other files are output in brief form using enough-namestring.
2010-10-04 21:49:46 +02:00
Juan Jose Garcia Ripoll
29f46d0387
Added contributed cl-simd module by Alexander Gavrilov
2010-10-03 23:49:58 +02:00
Alexander Gavrilov
0b0c437281
Add a contrib module with SSE intrinsic definitions.
...
Define wrappers for SSE intrinsics that make sense for
lisp usage. Also implement a set of convenience macros
to fill holes in the coverage of operations like bitwise
not or unary negation.
2010-10-03 23:45:49 +02:00
Alexander Gavrilov
12fb30c0a9
Make unboxed SSE pack variables visible in the debugger.
...
Add location type tags and make the compiler use them.
2010-10-03 23:45:02 +02:00
Alexander Gavrilov
1c3d729ef5
Add a special variable to control printing of SSE packs.
...
Valid values: NIL, :int, :float, :double.
Non-NIL values override the type tag carried by the pack.
2010-10-03 23:44:31 +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
Alexander Gavrilov
8f835233d6
Enable automatic coercion of SSE subtypes via _mm_cast* intrinsics.
...
Assume that any sse-pack subtype matches any other one in inline
expansion matcher, and insert casts when required.
This uses intrinsics that are present only in the recent versions
of compilers, so add fallback inline definitions to a header file.
2010-10-03 23:42:57 +02:00
Alexander Gavrilov
2f4723012e
Open-code array-row-major-index too if enabled for aref/aset.
...
This should make manually expanded index computations faster.
2010-10-03 23:41:33 +02:00
Juan Jose Garcia Ripoll
46785eafe9
Fixed substitution of SSE2 in msvc/ecl/config.h.msvc6
2010-10-03 23:40:10 +02:00