Commit graph

4310 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
deaef70e52 Fixed use of AC_CONFIG_AUX_DIR 2010-10-03 22:17:22 +02:00
Juan Jose Garcia Ripoll
0270afbb05 Rounding routines ratio_to_double, ratio_to_long_double, were missing code for the situation when the argument is not a fixnum 2010-10-03 15:54:29 +02:00
Samium Gromoff
ef0b0add8f Fix configure not picking up win32 threads on MinGW 2010-10-03 10:21:28 +02:00
Samium Gromoff
b999a2c8fb Fix gc.h stomping over _beginthread() declaration and other MinGW issues 2010-10-03 10:18:26 +02:00
Juan Jose Garcia Ripoll
c2d8e70d1b In LET/LET* forms, a local binding did not shadow a special variable binding.
> (defun test ()
   (let ((a 5))
     (declare (special a))
     (flet ((x () a))
       (let ((a 10))
         (x)))))
> (test)
5
> (compile 'test)
> (test)
10
2010-09-28 23:42:15 +02:00
Juan Jose Garcia Ripoll
0180c8b0a7 Optimized LOOP-REPEAT to have the same quality of code as in LOOP-FOR-IN 2010-09-27 10:25:22 +02:00
Juan Jose Garcia Ripoll
33a9087056 Optimization policies were overwritten by its own code, not being available in a fresh new image. 2010-09-27 10:24:48 +02:00
Juan Jose Garcia Ripoll
145e0e6ec2 The C inliner always inlined forms whose return type matched exactly, even when POLICY-ASSUME-RIGHT-TYPE was false 2010-09-27 10:24:04 +02:00
Juan Jose Garcia Ripoll
04c2a210b3 ecl_parse_number and ecl_parse_integer are splitted into separate files and do not rely on the C library (atoi, strtod, ...) because these functions are affected by the locale. 2010-09-27 10:23:13 +02:00
Juan Jose Garcia Ripoll
655809781a Rounding of bignums in ecl_to_double() did not work (GMP truncates). 2010-09-27 00:35:02 +02:00
Juan Jose Garcia Ripoll
f53e1fc768 After recompiling cmppolicy the declaration specifiers were lost. 2010-09-22 00:03:23 +02:00
Juan Jose Garcia Ripoll
a14a97e9b7 In LOOP REPEAT avoid using DECF 2010-09-21 09:42:20 +02:00
Juan Jose Garcia Ripoll
8046f644dd LOOP REPEAT recognizes the type of the iterator variable 2010-09-21 09:31:15 +02:00
Juan Jose Garcia Ripoll
09ae1f43c0 Fixed type warning in macroexpansion of sequece iterators 2010-09-21 09:25:26 +02:00
Juan Jose Garcia Ripoll
bd4f3597ed Unix signals reported as continuable errors 2010-09-21 09:18:22 +02:00
Juan Jose Garcia Ripoll
c2661518a9 The compiler no longer interferes with the debugger hooks. 2010-09-21 09:12:52 +02:00
Juan Jose Garcia Ripoll
294a4280c6 MAKE-ARRAY did not check the type of its first argument 2010-09-12 15:06:38 +02:00
Juan Jose Garcia Ripoll
2ff3ebe751 Fixing file name cases to work with Wine (G. Dos Reis) 2010-09-12 15:00:00 +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
9904da236e When computing the init name of a compiled module, use the physical namestring 2010-09-12 09:57:48 +02:00
Juan Jose Garcia Ripoll
1245e5e8a0 Allow embedding ASDF in monolithic executables 2010-09-12 09:57:32 +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
e42b76c2f7 Another iteration in the reader package handling 2010-09-04 16:04:41 +02:00
Juan Jose Garcia Ripoll
c4af381d02 Detection of missing packages in the reader was accidentally deactivated. 2010-08-30 11:20:07 +02:00
Juan Jose Garcia Ripoll
1ec501768e Initial support for WIN64 2010-08-28 23:52:23 +02:00
Juan Jose Garcia Ripoll
6e90253faf Fixed compiler warnings 2010-08-24 17:32:22 +02:00
Juan Jose Garcia Ripoll
bee95fc949 Small typo in windows thread status detection that only affects WIN64. 2010-08-23 12:54:28 +02:00
Juan Jose Garcia Ripoll
2e0b4d2135 More places where ECL_MS_WINDOWS_HOST should be used instead of _MSC_VER 2010-08-22 23:50:41 +02:00
Juan Jose Garcia Ripoll
d429aa28f3 windows.h is needed also for mingw in alloc_2.d 2010-08-22 23:15:20 +02:00
Juan Jose Garcia Ripoll
f4f846b928 In some files windows.h was included before ecl.h 2010-08-22 23:02:52 +02:00
Juan Jose Garcia Ripoll
ab6f5dc64e Add the definition of ECL_MS_WINDOWS_HOST to MSVC's config.h 2010-08-22 22:30:14 +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
fb2c950202 Use GMP_CPPFLAGS in src/util/ecl-config 2010-08-22 22:29:18 +02:00
Juan Jose Garcia Ripoll
03fd191528 Fixed --with-gmp-prefix, which should modify CPPFLAGS not CFLAGS. 2010-08-22 22:28:24 +02:00
Juan Jose Garcia Ripoll
e4262ab3d8 Fixed declaration for _ecl_big_set_fixnum/index (Gabriel Dos Reis). Added those functions to the core in all cases. 2010-08-22 21:53:50 +02:00
Juan Jose Garcia Ripoll
a9a412d1b4 Fixed typo in condition initarg name. 2010-08-22 20:35:38 +02:00
Juan Jose Garcia Ripoll
4518b18892 Rewrite var-changed-in... because it was missing special variables without explicit references 2010-08-22 01:07:32 +02:00
Juan Jose Garcia Ripoll
a677a3b0c0 Rename features.h -> ecl_features.h because Linux has a header with the same name 2010-08-21 22:46:03 +02:00
Juan Jose Garcia Ripoll
321356dadf cl_core is now mostly filled statically in main.d 2010-08-21 16:31:42 +02:00
Juan Jose Garcia Ripoll
ca6e9168cb Fixed two small typos 2010-08-21 16:31:23 +02:00
Juan Jose Garcia Ripoll
bac154bc98 More of the string constants that are used in main.d are now statically allocated. 2010-08-21 13:25:16 +02:00
Juan Jose Garcia Ripoll
b400db086b Avoid consing when creating the package names. 2010-08-21 12:08:48 +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
Juan Jose Garcia Ripoll
b54f17085c New condition for Unix signals. 2010-08-20 23:41:30 +02:00
Juan Jose Garcia Ripoll
dc2ce379ec Make the SSE2 feature optional. 2010-08-20 21:07:01 +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
dcf08cd6c0 Warn about automatic boxing of SSE values in the compiler.
Since the whole point of SSE is high performance, boxing
defeats the purpose and should be immediately flagged.
Also enable marking functions so that the compiler warns
if they are not inlined.
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