Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Merge intl-branch 2010-03-18 to HEAD. To build, you need to use boot-2010-02-1 as the bootstrap file. You should probably also use the new -P option for build.sh to generate and update the po files while building.
Do translation of compiler-error messages in compiler-error. Update all calls to use _N instead of _.
Restart internalization work. This new branch starts with code from the intl-branch on date 2010-02-12 18:00:00+0500. This version works and LANG=en@piglatin bin/lisp works (once the piglatin translation is added).
Mark translatable strings; regenerate cmucl.pot and ko/cmucl.po accordingly.
Add (intl:textdomain "cmucl") to the files to set the textdomain.
Switch the FreeBSD port to use the common floating point trap handling code. Rather than introduce a new FreeBSD case to the x86 sigcontext member accessor routines, collapse all of the system specific routines down to a common set of routines. * code/debug-int.lisp - Disable some Darwin-specific code to debug NULL mcontext pointers. * code/float-trap.lisp - Remove ancient FreeBSD-specific code for handling floating point signals. * code/macros.lisp, code/sap.lisp, compiler/saptran.lisp - Include the SAP-REF-LONG setter by default on the x86. * code/x86-vm.lisp - Remove operating system specific sigcontext definitions and sigcontext accessors. Define the alien sigcontext as a system area pointer. Replace the sigcontext accessors with foreign function calls that mask the complexity of the underlying sigcontext member access. * compiler/x86/float.lisp - Unconditionally define STORE-LONG-FLOAT. This function is used by the %SET-SAP-REF-LONG VOP that underlies the SAP-REF-LONG setter. * compiler/x86/sap.lisp - Unconditionally define %SET-SAP-REF-LONG. In the case where there is not a distinct LONG-FLOAT type, admit DOUBLE-FLOAT values instead. The x87 automatically widens values pushed onto stack. This mirrors the behavior of the SAP-REF-LONG VOP. * lisp/Darwin-os.c, lisp/Linux-os.c - Define functions to access sigcontext members of interest to Lisp. Delete the sc_reg function and replace its uses with os_sigcontext_reg which is more suitably typed. * lisp/FreeBSD-os.c - Define functions to access sigcontext members of interest to Lisp. We need to be careful about the SSE and non-SSE cases for retrieving x87 registers from the saved machine state. Define a low-level SIGFPE handler to intercept floating point traps and restore the cleared status word bits based on the signal code. Get rid of sc_reg for the reasons noted above. * lisp/Darwin-os.h, lisp/FreeBSD-os.h - Declare the restore_fpu function and define a specialized RESTORE_FPU macro. Remove the sc_reg prototype. * lisp/Linux-os.h - Remove the sc_reg prototype. * lisp/os.h - Add prototypes for the new os_sigcontext functions. * lisp/x86-lispregs.h - Redefine SC_REG and SC_PC to expand out to the new os_sigcontext functions. Redfine SC_SP to expand out to SC_REG. Eliminate all platform-specific defintions of SC_PC and SC_SP.
Make the offsets for SAP functions be bigger than fixnums since we can have much larger heaps now.
Merge with HEAD.
Format string checking for ERROR, WARN, and others. * src/compiler/srctran.lisp (check-format-args-1) (check-format-args-2): Extracted from check-format-args. (check-format-args): Take a continuation argument for the control string. (format): Use the new check- functions. (error, warn, compiler-error, compiler-warning) (compiler-note, compiler-mumble): Add format-checking deftransforms. * src/compiler/fndb.lisp (compiler-warning, compiler-note) (compiler-mumble, compiler-error): Add defknowns. * src/compiler/ir1util.lisp (compiler-mumble, compiler-warning) (compiler-note): Return no values. * src/code/parse-time.lisp (deal-with-am-pm): Add a missing arg to error. * src/compiler/saptran.lisp (foreign-symbol-address): * src/compiler/new-assem.lisp (emit-annotation): Likewise.
* src/compiler/saptran.lisp (foreign-symbol-address) [#+linkage-table]: Give up if the symbol's name is not a constant, because the vops are only defined for constants.
Merge with HEAD.
Fix deftransform for foreign-symbol-address to match function definition w.r.t. the keyword argument flavor.
On x86 FreeBSD and Linux, change the way foreign symbol addresses are resolved. They now go through a table -- effectively a new space in the core file. Function references are resolved lazily, data references are resolved on startup and when a .so is loaded. The end result is that cores can be dumped that contain references to symbols in shared libraries. Also, the dependence of the core on addresses in the Lisp runtime is broken. The linkage table feature is controlled by :linkage-table and LINKAGE_TABLE in C runtime. Several foreign symbols are now Lisp static symbols, so a cross compile is required whether or not the new stuff is used. I've checked in boot4-cross-foreign-linkage.lisp that builds the compiler for linkage table; do whatever you usually do for the non-linkage table case:) Seriously, lets start a discussion on standardizing "cross compilation," not to mention the general build procedure.
This set of revisions brings the RELENG_18 branch up to HEAD in preparation for an 18c release.
Enable the SAP-ref-64 defknowns on all ports. Enable the sap-ref/sap+ optimisation for 64 bit accessors.
This (huge) revision brings the RELENG_18 branch up to the current HEAD. Note code/unix-glib2.lisp not yet included -- not sure it is ready to go.
Update the Alpha, MIPS, and HPPA ports to accept a signed offset to the sap-ref and sap-set VOPs; all the ports now use the same convention.
Bring in sap-ref-long for the x86 port, which is needed at least to load FP registers from the sigcontext.
Allow signed index on sap-reg functions on the sparc. Fixes some inconsistencies which showed up on the x86 port.
Change the index used in the SAP functions to a fixnum. This is handy on the x86 as the stack grows down and offsets are often negative. It also fixes an inconsistency with sap- which accepts SAPs but could fail in some cases due to compiler transforms to other sap operations which only accept a positive index. This also requires slight backend VOPS changes (currently only supported on the x86 port). The other ports should pick this one up.
Fix headed boilerplate.
Alpha support: Added sap-ref-64 stuff and added 64 bit size for sap-int and int-sap.
Changed a use of LOOP destructuring to a DESTRUCTURING-BIND because LOOP has assignment semantics and we were closing over one of the vars.
Changed all SAP-REF-mumble functions to take the offset in bytes.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.
|Powered by ViewVC 1.1.5|