Parent Directory | Revision Log
|Links to HEAD:||(view) (annotate)|
Remove _N"" reader macro from docstrings when possible.
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.
Mark more translatable strings.
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).
Add (intl:textdomain "cmucl") to the files to set the textdomain.
Merge changes from HEAD to the unicode-utf16 branch.
Add functions for fused-multiply-add and fused-multiply-subtract. Not necessary but nice to have around.
SIGCONTEXT-FLOAT-REGISTER should return a single-float if the FORMAT is single-float.
Floating-point fixes for ppc. code/float-trap.lisp: o Set FP modes now. o Clear out sticky bits in SIGFPE handler code/ppc-vm.lisp: o Add (setf sigcontext-floating-point-modes) to set the FP mode. compiler/ppc/parms.lisp: o Add fields for various invalid operations bits. o Fix float-fast-bit
Merge ppc_gencgc_branch to HEAD.
Merge code from main branch of 2005-12-17 to ppc gencgc branch. Still doesn't work of course.
Checkin the current code for gencgc. This is a basic port of sparc gencgc for ppc. This is not yet functional. Allocation seems to work, but GC does not. We're just making a checkpoint now. compiler/ppc/macros.lisp: o Update allocation macro to support gencgc. Need a temp-tn as a scratch register for inline allocation. o Update with-fixed-allocation to use allocation macro correctly for gencgc. assembly/ppc/array.lisp: o Update for new allocation macro for gencgc. code/ppc-vm.lisp: o Define *scavenge-read-only-space* compiler/ppc/alloc.lisp: compiler/ppc/array.lisp: compiler/ppc/call.lisp: o Update to use new allocation macro for gencgc. compiler/ppc/parms.lisp: o Add necessary static symbols to support gencgc. lisp/Config.ppc_darwin: o Update to build with gencgc as needed. lisp/Darwin-os.c: o Update C code for gencgc. Mostly for checking if pointer is in the dynamic space. o Many debugging printf's enabled. lisp/gencgc.c: o Adjust sparc version appropriately for ppc. o Enable many gencgc self-checks. lisp/gencgc.h: o Update PAGE_SIZE for ppc, which is 4K. lisp/ppc-arch.c: o Add necessary code to handle the allocation traps for gencgc. Basically ported sparc version for ppc. lisp/ppc-assem.S: o The way pseudo-atomic is done has been changed, so make the assembly code match. PA is now more like sparc where the LSB is the PA-interrupted bit. o do_pending_interrupt may need work. lisp/ppc-validate.h: o Make the READ_ONLY_SPACE_SIZE right. o Define CONTROL_STACK_END. lisp/purify.c: o Enable debugging printfs o Adjust purify for gencgc, basically copying sparc version.
Initial support for linkage-tables on PPC/Darwin. This is a relatively straightforward port of the sparc version of linkage-tables. Some refinements are probably still needed, as well as some testing. Use boot-2005-02-ppc-linkage.lisp to bootstrap this change from the 2005-02 snapshot. * code/ppc-vm.lisp o Add appropriate FOREIGN-SYMBOL-ADDRESS-AUX and FIND-FOREIGN-SYMBOL functions for linkage-table. * compiler/generic/new-genesis.lisp o Basically do the same as the sparc port for linkage-tables. o need to extern-alien-name on the cold linkages since they C names depend on the backend conventions. * compiler/ppc/alloc.lisp o Load "undefined_tramp" appropriately for linkage-tables. * compiler/ppc/c-call.lisp o Define new vops (FOREIGN-SYMBOL-CODE-ADDRESS, FOREIGN-SYMBOL-DATA-ADDRESS) for linkage-tables so we can access correctly. * compiler/ppc/cell.lisp o Load "closure_tramp" appropriately for linkage-tables o Load "undefined_tramp" appropriately for linkage-tables * compiler/ppc/parms.lisp o Put the foreign linkage space start at the end of the static space to make it easier to bootstrap. (We need already mapped memory.) We can move this later. o Correct TARGET-FOREIGN-LINKAGE-ENTRY-SIZE. o Add new static-symbol *linkage-table-data* o While were at it, add SPARE-9 and SPARE-0 static symbols so we have 10 spares. * lisp/Config.ppc_darwin o Add -DLINKAGE_TABLE to CFLAGS/ASFLAGS if we have linkage-table support. * lisp/Darwin-os.c o Add os_dlsym to support linkage-tables. (This nees a little refactoring because we just copied the #defines for dlopen modes.) * lisp/os-common.c o The checking of the linkage tables that is done for sparc almost works for ppc, but not quite. Implement one for ppc. * lisp/ppc-arch.c o Add PPC version of arch_make_jump_entry, arch_make_linkage_entry, arch_linkage_entry. * lisp/ppc-assem.S o Add lazy_resolve_linkage to support linkage-tables. This needs some more work. o Add undefined_foreign_symbol_trap. This probably needs work, and definitely needs testing. * lisp/ppc-validate.h o Define the start of the linkage space and size.
o Fix too much copying and not enough thinking in sigcontext-lr. o Export sigcontext-lr.
(defun foo () (zot)) when compiled and run gave a silly message about #C(0d0 0d0) failing a typecase. Then doing a backtrace gave another error about some negative number not being a positive fixnum. The former error is caused by a bad definition of undefined_tramp. The latter error is caused by the debugger not being able to compute the offset correctly. (Fixes ported from sbcl.)
This commit adds the remainder of the outstanding PPC/Darwin port merge. Besides support for Darwin foreign loading, and updates to the ppc-vm and bsd-os files, this commit removes unix:unix-errno as a foreign variable and replaces it with a function named unix-errno, and a (setf unix-errno). This makes both glibc support cleaner, and enables ports like PPC/Darwin (and the upcoming win32 port) which have no easy way of accessing errno as a foreign variable able to support this functionality at all. The current implementation of this is rather make-shift, it would likely be much cleaner to go the SBCL way and mediate all access to errno via defined functions in the C runtime. As an interim feature, the frobbing of the float-trap-modes is currently commented out for Darwin because of ongoing breakage.
o Compiler backend for the PowerPC contributed by Gary Byers.
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|