Juan Jose Garcia Ripoll
e0e9eb731e
Don't create extra strings on platforms without limitation on the string size.
2013-04-14 22:27:21 +02:00
Juan Jose Garcia Ripoll
c603e57ef3
In *.data we have to add a final newline character to ensure that the compiler does not complain.
2013-04-14 21:47:17 +02:00
Juan Jose Garcia Ripoll
fff744af79
Removed empty line from *.data
2013-04-13 00:15:40 +02:00
Juan Jose Garcia Ripoll
b47b1869c6
New way of creating lisp data, using an array of string streams
2013-04-07 13:50:07 +02:00
Juan Jose Garcia Ripoll
64a9168434
CHARACTERP, BASE_CHAR_P, BASE_CHAR_CODE_P, CODE_CHAR, CHAR_CODE, REAL_TYPE, IMMEDIATE, IMMEDIATE_TAG, FIXNUM_TAG, FIXNUM_MINUSP, FIXNUM_PLUSP, FIXNUMP and fix get the ecl_ prefix
2012-06-06 11:19:55 +02:00
Juan Jose Garcia Ripoll
10dea13a51
Unicode strings were not properly saved in C compiled code.
2012-01-15 19:54:06 +01:00
Juan Jose Garcia Ripoll
7a2d30770b
Add IGNORE declarations and remove some unused variables.
2011-12-23 15:38:37 +01:00
Juan Jose Garcia Ripoll
25d655d159
Remove debuggin statement from cmp/cmpwt.lsp
2011-11-19 00:03:22 +01:00
Juan Jose Garcia Ripoll
e5de9aa7b1
DATA-C-DUMP did not produce an empty text array (data_text = NULL) when compiling functions (not FASL).
2011-11-18 23:58:02 +01:00
Juan Jose Garcia Ripoll
704964093f
If a file does not use MMAPed data, allow it.
2011-11-14 23:35:45 +01: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
3bf2bda467
Separate dumping of data into a C file from creating the dumped array.
2011-06-21 22:04:19 +02:00
Juan Jose Garcia Ripoll
6087829574
Always compile SSE numbers as static constants
2011-03-05 17:36:06 +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
2fdec49c69
Remove slightly annoying compiler note about optimized away constant values.
2011-02-06 20:00:57 +01:00
Juan Jose Garcia Ripoll
2668b414cb
Do not use static constants when compiling Lisp code other than ECL's core
2011-01-23 21:43:37 +01:00
Juan Jose Garcia Ripoll
c3d234a149
Changed cmpwt.lsp to match the new ecl_def_ct* macros
2010-11-06 15:01:25 +01: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
Juan Jose Garcia Ripoll
54cb5493e8
When omitting redundant or unused constants, emit a bit more clear warning in cmpwt.lsp and make this a compiler note, not a warning.
2010-06-20 15:21:06 +02:00
Juan Jose Garcia Ripoll
bd0bd20f98
First steps towards an implementation of the compiler that uses SERIALIZABLE
2010-06-06 23:03:08 +02:00
Juan Jose Garcia Ripoll
0abe27afb1
The object associated to the VV location is now stored in it
2010-06-05 23:16:17 +02:00
Juan Jose Garcia Ripoll
54e09d8acf
VV and VV-TEMP merged into the same object
2010-06-05 22:15:18 +02:00
Juan Jose Garcia Ripoll
a1bccd39ef
Do not produce textual representations for unused objects
2010-06-05 22:00:32 +02:00
Juan Jose Garcia Ripoll
524f0792a5
VV/VV-TEMP locations are now structures
2010-06-05 21:39:20 +02:00
Juan Jose Garcia Ripoll
69d77767bd
Added the possibility of statically generated rational and complex constants in the compiler
2010-06-04 16:40:13 +02:00
Juan Jose Garcia Ripoll
2c68c6f008
Activated the use of statically defined floating point constants in compiled code
2010-06-04 15:21:39 +02:00
Juan Jose Garcia Ripoll
6d82235b1b
Fixed typo in VT-LOC-VALUE
2010-05-18 12:25:11 +02:00
Juan Jose Garcia Ripoll
a01e56cf83
VT-LOC-VALUE, used to retrieve the constant value of C locations, did not handle statically allocated constants
2010-05-18 11:08:37 +02:00
Juan Jose Garcia Ripoll
c90d6ed6bb
In cmploc/cmpwt, we are now capable of determining the constant value of a location
2010-05-15 21:54:27 +02:00
Juan Jose Garcia Ripoll
6a91d3b45a
Refactored code so that it is shared by cmp and new-cmp:
...
* Use the new proclamations/sysfun.lsp files from the new compiler.
* We split src/cmp/cmpdefs.lsp into cmpdefs, cmppackage, cmptypes and cmpglobals
* Split cmpform.lsp out of cmpmac.lsp
* Merged in {cmp,new-cmp}/cmpc-wt.lsp some of the cmpmac wt routines
* Use functions instead of macros for the WT-* operations
* Split out from *cmp/cmpenv.lsp a file cmppolicy.lsp
* A single file, cmpenv-api.lsp for the manipulation of environments.
* The type comparison functions go into cmptype-arith.lsp and are cached.
* The code that propagates types in function calls goes into cmptype-prop.lsp.
* The remainings of cmpenv go into cmpenv-{declare,proclaim,declaim}.
Associated fixes:
* Fixed typo and wrong proclamation for SI:GET-SYSPROP.
* Fixed typo in SIMPLIFY-ARITHMETIC.
* Explicitely set the debug level when building ECL
* All declarations are stored in the compiler environment.
* Each function and form stores the compilation environment.
* Declaration POLICY-DEBUG-IHS-FRAME is acts only on the function environment.
* Make the definition if ihs_env only happen when it is used.
* Eliminated *notinline*, *inline-functions* and *function-declarations*
* Slightly more efficient creation of accessors in kernel.lsp
* Remove the proxy C2DECL-BODY
* Fix the order of declarations in SI:PROCESS-DECLARATIONS
* Reimplemented C1BODY using SI:PROCESS-DECLARATIONS
* DECLAIM's proclamation do not propagate beyond the compiled file.
2010-05-05 17:36:19 +02:00
Juan Jose Garcia Ripoll
c72aaa5723
Remove useless compiler note about keywords being reused
2010-02-07 11:20:41 +01:00
Juan Jose Garcia Ripoll
92d5aac5eb
We cannot build MSVC with debug information on variables because the compiler does not allow us to statically initialize arrays/vectors of the ecl_array/ecl_vector type
2009-07-24 20:26:09 +02:00
Juan Jose Garcia Ripoll
7a08ed15ab
We cannot build statically allocated arrays with the Microsoft compiler.
2009-07-24 19:55:57 +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
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
d169863877
The compiler can now generate some Lisp constants as static C expressions (based on patches by JC Beaudoin)
2009-06-07 18:18:27 +02:00
Juan Jose Garcia Ripoll
47d594912f
Create two functions for writing comments in and out-of-line, and use them to write the compiled file header (compiler, date, etc).
2009-05-02 15:14:27 +02:00
Juan Jose Garcia Ripoll
87e95b9909
FILE-STRING-LENGTH only works with file streams. The code compiles again with --disable-unicode.
2009-01-04 13:57:50 +01:00
Juan Jose Garcia Ripoll
d2a8385f7d
Basic support for multibyte external formats
2008-10-23 23:17:35 +02:00
Juan Jose Garcia Ripoll
edb7390a0f
Implemented compiler conditions
2008-08-19 23:57:36 +02:00
Juan Jose Garcia Ripoll
037e2776b6
Added support for long double types in the compiler
2008-08-02 20:29:27 +02:00
jgarcia
284ceaf244
Bytecode compiled functions can now be externalized in C compiled files
2008-04-22 13:43:03 +00:00
jgarcia
a59f90871a
Emacs modelines for better editing
2008-02-02 19:14:05 +00:00
jgarcia
24cfa8cfdf
Use a hashing algorithm combined with a time stamp to name initialization functions in object files
2008-02-01 11:41:34 +00:00
jgarcia
12799c7305
Move from short/long-float to single/double-float (by L. Brinkhoff)
2006-09-01 15:15:57 +00:00
jgarcia
6b406c1d83
Now the compiler can externalize constants with circular references
2006-05-17 15:17:29 +00:00
jgarcia
ee50a03ea4
Use MAKE-LOAD-FORM to compile constants that do not have a readable printed representation (Brian Spilsbury)
2006-05-16 16:18:39 +00:00