Commit graph

3078 commits

Author SHA1 Message Date
Juan Jose Garcia Ripoll
39d9ee467d Implemented C function for inlining ARRAY-DIMENSION 2009-07-04 19:54:23 +02:00
Juan Jose Garcia Ripoll
06c3b848d9 Fix the inline expansion of array-dimension. 2009-07-04 19:23:17 +02:00
Juan Jose Garcia Ripoll
0ea425866c Organize the code in INLINE-ARGS, factoring out parts that can be used in call-global-loc and allowing the use of temporary variables which are not of type :cl-object. 2009-07-04 17:17:50 +02:00
Juan Jose Garcia Ripoll
6446cde7c3 An attempt at providing a unifor and simpler framework for optimizing array access. 2009-07-04 17:17:46 +02:00
Juan Jose Garcia Ripoll
509166541b New error functions that will be used in compiled code 2009-07-04 17:17:23 +02:00
Juan Jose Garcia Ripoll
1b33714752 Better inline expansions of ELT/(SETF ELT) (M. Kocic) 2009-07-03 19:15:20 +02:00
Juan Jose Garcia Ripoll
72b1843963 Reintroduce bounds checks in ecl_elt/ecl_elt_set 2009-07-03 18:51:54 +02:00
Juan Jose Garcia Ripoll
f78b7ad8fc ecl_elttype_to_symbol() uses now a name table instead of dispatching with switch. 2009-07-03 14:48:56 +02:00
Juan Jose Garcia Ripoll
4ef65fa6cc Reordering statements in ecl_{aset,aref} gives 25% speedup 2009-07-03 14:34:24 +02:00
Juan Jose Garcia Ripoll
8a3c9cea2c Remove the call to ecl_array_elttype() in ecl_aset_unsafe 2009-07-03 09:35:35 +02:00
Juan Jose Garcia Ripoll
2dc460e7a5 Implement new error functions for array and vector types. 2009-07-03 09:35:06 +02:00
Juan Jose Garcia Ripoll
535863ff57 Consistently with SBCL, array type errors are not recoverable 2009-07-03 09:19:21 +02:00
Juan Jose Garcia Ripoll
42d387c300 Improve the inline definitions of arrayp and vectorp. 2009-07-03 08:54:59 +02:00
Juan Jose Garcia Ripoll
95fc3c6413 Create really unchecked versions of aref/aset 2009-07-03 00:25:38 +02:00
Juan Jose Garcia Ripoll
866d8c8604 The array element type is stored in the arrays, vectors and strings, thus simplifying identification and code. Slight speedup in ecl_aref. 2009-07-02 23:48:20 +02:00
Juan Jose Garcia Ripoll
bb2c54296d Ack was already defined. 2009-07-02 23:12:10 +02:00
Juan Jose Garcia Ripoll
e0d4aea4e8 Additional character names, for compatibility with older versions. 2009-07-02 23:08:33 +02:00
Juan Jose Garcia Ripoll
1531a8b36e Move the definition of _XOPEN_SOURCE out of ecl.h so that we can use MAP_ANON. 2009-07-02 17:55:56 +02:00
Juan Jose Garcia Ripoll
da26e27de1 Extend the previous change to C++ builds. 2009-07-02 11:09:24 +02:00
Juan Jose Garcia Ripoll
a44afe8b19 New configure option --with-profile-cflags, to build a profiled ECL 2009-07-02 11:07:41 +02:00
Juan Jose Garcia Ripoll
2501807b2d Remove unused macro definitions. 2009-07-02 10:31:29 +02:00
Juan Jose Garcia Ripoll
1b98007713 ECL no longer uses non portable pthreads attributes (*_NP), moving to the standard names also in Linux. Threads are created in a detached state to avoid leaking resources (M. Mondor). Thread and mutex attributes are created only once (M. Mondor). 2009-07-02 10:29:20 +02:00
Juan Jose Garcia Ripoll
7becd5f3dd The value of process.parent has to be set _before_ the thread starts. 2009-07-02 00:39:59 +02:00
Juan Jose Garcia Ripoll
70a281909a Protect sysfun.lsp from a nasty user that changes the readtable. 2009-07-02 00:13:21 +02:00
Juan Jose Garcia Ripoll
8d06d5b7fa Fix yet another typo in cmpwt.lsp. 2009-07-01 14:02:32 +02:00
Juan Jose Garcia Ripoll
79d6eb5873 Fix typo in previous patch 2009-07-01 13:57:02 +02:00
Juan Jose Garcia Ripoll
1f0289c5c6 cmpwt.lsp would add one extra space after every statically generated string constant. 2009-07-01 13:55:18 +02:00
Juan Jose Garcia Ripoll
9382296aa8 The code profile.lsp still used an SBCL-propietary function. 2009-06-30 19:42:20 +02:00
Juan Jose Garcia Ripoll
a5d610105a Replace #' with ' to allow tracing the compiler handlers for different special forms (cmptop.lsp) 2009-06-29 14:41:34 +02:00
Juan Jose Garcia Ripoll
144d25367d Instead of replacing all DEFCONSTANT with DEFPARAMETER, use LET statements to prevent evaluation of the c-inline forms in profile, sockets and serve-event 2009-06-29 14:41:04 +02:00
Juan Jose Garcia Ripoll
19cbcd5a7c Replace DEFCONSTANT with DEFPARAMETER because it constains a call to C-INLINE 2009-06-28 21:44:06 +02:00
Juan Jose Garcia Ripoll
f6ff6e4ffc Again, DEFCONSTANT statements cannot contain C-INLINE forms. 2009-06-28 21:43:26 +02:00
Juan Jose Garcia Ripoll
ebefe248a0 Replace DEFCONSTANT with DEFPARAMETER because it constains a call to C-INLINE 2009-06-28 21:41:01 +02:00
Juan Jose Garcia Ripoll
307ae3853a profile.lsp contained a DEFCONSTANT statement that could not be evaluated in the compiler. 2009-06-28 21:36:12 +02:00
Juan Jose Garcia Ripoll
cd89447eec DEFCONSTANT must also define the constant at compile time. 2009-06-28 19:36:24 +02:00
Juan Jose Garcia Ripoll
0bced09c13 Note the latest changes 2009-06-26 17:28:00 +02:00
Juan Jose Garcia Ripoll
f4b6162dbf Remove an annoying compiler note 2009-06-26 17:27:48 +02:00
Juan Jose Garcia Ripoll
d1fc852e15 File positions and forms were not recorded for c1forms created with make-c1form*. Use that information during the c2 phase 2009-06-25 23:31:09 +02:00
Juan Jose Garcia Ripoll
0fa3d1651f The routine compiler-output-values and compile-file still thought that compiler-error < error and that compilation process could not be aborted. 2009-06-25 23:14:51 +02:00
Juan Jose Garcia Ripoll
f7fb503b0c Errors in evaluation and macroexpansion are intercepted by the compiler and re-signaled as compiler errors. 2009-06-25 23:03:31 +02:00
Juan Jose Garcia Ripoll
609ba59ffe Syntax errors in lambda list are intercepted and resignaled as compiler errors (cmplam.lsp) 2009-06-25 23:03:01 +02:00
Juan Jose Garcia Ripoll
53d79a8636 Changed the compiler errors hierarchy, so that they are not serious-conditions and do not launch the debugger, and also changed the handlers so that they better honor outer-established handlers first. 2009-06-25 15:54:48 +02:00
Juan Jose Garcia Ripoll
0a804a3b5b The toplevel should only trap the SERIOUS-CONDITIONs 2009-06-25 15:54:03 +02:00
Juan Jose Garcia Ripoll
d73d12ae35 Replaced some calls to ERROR with CMPERR so that they can be trapped by the user. Changed the implementation of WITH-COMPILER-ENV to avoid that all COMPILER-ERRORs are re-signaled as compiler internal errors. 2009-06-25 11:01:41 +02:00
Juan Jose Garcia Ripoll
36119c352e WITH-ECL-IO-SYNTAX also binds *pprint-dispatch-table* 2009-06-22 13:19:36 +02:00
Juan Jose Garcia Ripoll
72a003a392 WITH-STANDARD-IO-SYNTAX now also rebinds *print-pprint-dispatch*. 2009-06-22 13:16:16 +02:00
Juan Jose Garcia Ripoll
34a1ec234b The *package* in standard-io-syntax is CL-USER not CL. 2009-06-22 13:03:07 +02:00
Juan Jose Garcia Ripoll
e8de79cac5 ECL now has two sets of reader/printer settings, si:+io-syntax-progv-list+ and si:+ecl-syntax-progv-list+. The latter is used both by the compiler and by the FASL file loader, and allows for lest interference from the user side -- i.e. it is not affected by changes in the readtable, such as case preservation, etc. 2009-06-22 13:00:18 +02:00
Juan Jose Garcia Ripoll
d966444f8d The compiler must use the standard readtable to not be affected by users's choice. 2009-06-22 12:24:02 +02:00
Juan Jose Garcia Ripoll
0bfd64a3d9 Updated the announcement 2009-06-22 12:23:41 +02:00