- Feb 01, 2010
-
-
rtoy authored
starting addresses. o Make DYNAMIC_SPACE_SIZE an unsigned to get rid of an overflow warning when compiling.
-
rtoy authored
o Follow CMUCL coding style. o Argv and envp are const char*. os.h: lisp.c: Darwin-os.c: FreeBSD-os.c: NetBSD-os.c: OpenBSD-os.c: hpux-os.c: irix-os.c: mach-os.c: osf1-os.c: solaris-os.c: sunos-os.c: o argv and envp are const char *.
-
rtoy authored
When run on a kernel compiled without COMPAT_BRK CMUCL segfaults, so I copied the kludge used by SBCL - check the current personality, and if necessary, enable ADDR_NO_RANDOMIZE and re-exec itself. Linux-os.c: o Check for personality and rexec if necessary. os.h: o New prototype for os_init needed because it needs argv and envp. lisp.c: Darwin-os.c: FreeBSD-os.c: NetBSD-os.c: OpenBSD-os.c: hpux-os.c: irix-os.c: mach-os.c: osf1-os.c: solaris-os.c: sunos-os.c: o Update call to os_init, which needs argv and envp now.
-
- Jan 26, 2010
-
-
rtoy authored
than a tty. This makes the build scripts stop if we get dumped to ldb due to a fatal build error.
-
- Dec 21, 2009
-
-
rswindells authored
-
- Dec 18, 2009
-
-
agoncharov authored
-
- Dec 17, 2009
-
-
rtoy authored
o Remove check for object < 0xf0000000 in scavenge.
-
rtoy authored
areas. For sparc, this means anything below the end of the text section (to capture undefined_tramp and closure_tramp and some weird pointer object in the middle of call_into_c). For darwin/x86, we ignore 0xffffffe9. Needs to be checked on other OSes and architectures. o Move the switch statement of allowed static arrays into its own function.
-
- Dec 05, 2009
-
-
rtoy authored
This is done by a simple mark-and-sweep GC of the static vectors. When scavenging the spaces, we mark any static vectors by setting the MSB of the header word. After GC is done, an *after-gc-hooks* function finds all of the static vectors that are not marked and frees them. For marked static vectors, we clear the mark bit. code/array.lisp: o Add *STATIC-VECTORS* to keep track of all static vectors that have been allocated. o Update MAKE-ARRAY - to allow generation of static simple unboxed arrays (1D arrays without an array header). - Push a weak pointer to the static vector onto *STATIC-VECTORS* o Add function FREE-STATIC-VECTOR o Add function FINALIZE-STATIC-VECTORS to free static vectors when they are no longer referenced. lisp/gencgc.c: o Update scavenge to check for static vectors. If we find a static vector, mark the static vector by setting the MSB of the header word.
-
- Nov 02, 2009
-
-
rtoy authored
amd64-dd-branch.
-
rtoy authored
-
rtoy authored
sources. No real attempt has been made to make it work, but the cross-compile does create a kernel.core, and the C code compiles (on openSuSE 10.3). The resulting kernel.core does not yet work. Use cross-x86-amd64.lisp as the cross-compile script. This is intended to be cross-compiled using the 20a release for Linux, and only supports x87. The sse2 support has not be ported yet. tools/cross-scripts/cross-x86-amd64.lisp: o Update cross-compile with some missing constants, and frob new symbols. tools/clean-target.sh: o Remove amd64f files too. code/pred.lisp: o Define predicates for double-doubles for bootstrapping to work around recursive known function problems with these predicates. code/sap.lisp: o Define int-sap with (unsigned-byte 64) type declaration. (May not be needed?) code/unix-glibc2.lisp: o Build fails defining map_failed to (int-sap -1). Just hard-wire to 0 for now so we can build. compiler/float-tran.lisp: o Add missing conditional for %complex-double-double-float. compiler/amd64/float.lisp: o Merge double-double support for amd64. Not really tested yet. compiler/amd64/parms.lisp: o Update to match x86 build. In particular, get the space address correct and update the static symbols. compiler/amd64/type-vops.lisp: o DYLAN-FUNCTION-HEADER-TYPE no longer exists. compiler/amd64/vm.lisp: o Add double-double storage classes and register definitions. lisp/Config.amd64: o Bring in line with Config.x86 and friends. lisp/Linux-os.c: o Bring amd64 code up-to-date with x86/linux code. lisp/Linux-os.h o Need to include sys/ucontext.h to get ucontext defined. (Why?) o Also define __USE_GNU so we get the register offsets in the ucontext defined. (Why?) lisp/amd64-arch.c: o Change struct sigcontext to os_context_t. o Use SC_PC instead of context->sc_pc. o Merge some changes in from x86 version, like SC_EFLAGS. May need more work. lisp/amd64-assem.s: o Use rbx instead of ebx for jmp. lisp/amd64-lispregs.h: o Define SC_REG, SC_PC, SC_SP using the new x86 style. lisp/backtrace.c: o Remove inline assembly for now until I figure out what the amd64 version should be. lisp/gencgc.c: o Conditionalize out weak hash table support for now. lisp/gencgc.h: o Set PAGE_SIZE for amd64. (Is 4096 right?) lisp/globals.h: o Export current_dynamic_space_free_pointer and current_auto_gc_trigger like for x86.
-
- Oct 16, 2009
-
-
rswindells authored
Linux and FreeBSD.
-
- Oct 15, 2009
-
-
rtoy authored
use arch_support_sse2 here in case we're running an x87 core on a chip with SSE2 support.
-
- Sep 28, 2009
-
-
rtoy authored
destructively modifies its argument. lisp/save.c: o Call dirname once, saving the result, and use it everywhere.
-
- Sep 17, 2009
-
-
rswindells authored
-
- Aug 30, 2009
-
-
rswindells authored
-
- Aug 12, 2009
-
-
rtoy authored
way when setting -DFEATURE_SSE2.
-
- Jul 16, 2009
- Jul 13, 2009
-
-
rtoy authored
o Make debug_lisp_search global instead of static. lisp/elf.c: o Use debug_lisp_search to control printing of some debug information when searching for the linker script. o Update to support executables with Unicode support. (CMUCL_LIB is a wide string, so we need to hack that into a C string. This needs work.)
-
- Jul 07, 2009
-
-
rtoy authored
sun4_solaris_gcc and sun4_solaris_sunc configs are now obsolete, but we leave the around for now. Tested both configs and they work. lisp/Config.sparc_common: o New file for common config for gcc and Sun C builds on Solaris lisp/Config.sparc_gcc: o New file for building on sparc/solaris with gcc lisp/Config.sparc_sunc: o New file for building on sparc/solaris with Sun C tools/create-target.sh: o Change default from sun4_solaris_gcc to sparc_gcc to use new configuration.
-
rtoy authored
o Fix some typos. o Clean up consecutive allocation heuristic: - Add comments to alloc_stats slots. - Removed regions_differ_count slot - Reset abandon_region_count when saved_region is updated.
-
rtoy authored
-
- Jun 11, 2009
-
-
rtoy authored
unicode-utf16-extfmt-2009-06-11.
-
- Apr 08, 2009
-
-
rtoy authored
-
- Mar 25, 2009
-
-
rtoy authored
need the -ffloat-store and -fno-strict-aliasing flags anymore. The Linux x87 build correctly returns -0.9258790228548379d0 for (cos (expt 2d0 120)).
-
- Feb 22, 2009
-
-
rtoy authored
that actually works on 10.2. Turn it off.
-
- Feb 09, 2009
-
-
rtoy authored
-
- Jan 20, 2009
-
-
agoncharov authored
-
agoncharov authored
-
agoncharov authored
-
agoncharov authored
of markup, too.
-
- Jan 13, 2009
-
-
agoncharov authored
reorganization. Found and returned to the owner now.
-
- Jan 11, 2009
-
-
rtoy authored
o Use += to append to variables instead of setting them. o Add common OS_SRC files. o Move rule for building e_rem_pio2.c to here. Add CPPFLAGS too. Config.x86_common: o Remove common files from OS_SRC. o Remove rele for e_rem_pio2.c Config.x86_darwin: o Update to use Config.x86_common. GNUmakefile: o Use CPPFLAGS when building version.o
-
- Jan 07, 2009
-
-
agoncharov authored
Use a new (much smaller) Config.x86_freebsd, named consistently with (some) other files.
-
- Jan 06, 2009
-
-
rtoy authored
-
agoncharov authored
* code/exports.lisp -- Added a missing quote characher. * lisp/FreeBSD-os.c -- Fixed the switch to the SSE2 mode, in line with other OSes. * lisp/Linux-os.c -- Fixed a comment (sse != sse2)
-
rtoy authored
in other functions too! o Add in the SSE2 mxcsr register only if we're running an SSE2-enabled core.
-
- Jan 05, 2009
-
-
rtoy authored
Use bootstrap-2009-01-1.lisp to bootstrap this change. code/float-trap.lisp: o FLOATING-POINT-MODES for :X87 needs to massage the results into the expected format (SSE2 MXCSR order). o Update for changed VOP names too. compiler/x86/float.lisp: o Rename the floating-point-modes and set-floating-point-modes VOPS to x87-floating-point-modes and set-x87-floating-point-modes. Change the translations accordingly too. compiler/x86/parms.lisp: o The float property bytes have been updated to match the SSE2 MXCSR register for both SSE2 and X87 builds because the code assumes SSE2 format. lisp/Linux-os.c: o Don't OR in the SSE2 modes if we're not running an SSE2 build. Doing this can erroneously mask out exceptions because the Lisp code didn't set up the sse2 modes. (This happens if you select the x87 core on a chip that supports sse2.) lisp/globals.h: o Declare fpu_mode. lisp/lisp.c: o Set fpu_mode to be the mode determined from the core file. Needed in Linux-os.c to process the SSE2 modes correctly with an x87 core on a sse2-capable chip.
-