/[cmucl]/src/code/sap.lisp
ViewVC logotype

Log of /src/code/sap.lisp

Parent Directory Parent Directory | Revision Log Revision Log


Links to HEAD: (view) (annotate)
Sticky Tag:

Revision 1.23 - (view) (annotate) - [select for diffs]
Mon Apr 19 02:18:04 2010 UTC (3 years, 11 months ago) by rtoy
Branch: MAIN
CVS Tags: GIT-CONVERSION, HEAD, RELEASE_20b, cross-sol-x86-2010-12-20, cross-sol-x86-base, cross-sol-x86-merged, cross-sparc-branch-base, release-20b-pre1, release-20b-pre2, snapshot-2010-05, snapshot-2010-06, snapshot-2010-07, snapshot-2010-08, snapshot-2010-11, snapshot-2010-12, snapshot-2011-01, snapshot-2011-02, snapshot-2011-03, snapshot-2011-04, snapshot-2011-06, snapshot-2011-07, snapshot-2011-09, sparc-tramp-assem-2010-07-19, sparc-tramp-assem-base
Branch point for: RELEASE-20B-BRANCH, cross-sol-x86-branch, cross-sparc-branch, sparc-tramp-assem-branch
Changes since 1.22: +21 -21 lines
Diff to previous 1.22
Remove _N"" reader macro from docstrings when possible.

Revision 1.22 - (view) (annotate) - [select for diffs]
Fri Mar 19 15:18:59 2010 UTC (4 years ago) by rtoy
Branch: MAIN
CVS Tags: post-merge-intl-branch, snapshot-2010-04
Changes since 1.21: +23 -22 lines
Diff to previous 1.21
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.

Revision 1.21.4.1 - (view) (annotate) - [select for diffs]
Thu Feb 25 20:34:51 2010 UTC (4 years, 1 month ago) by rtoy
Branch: intl-2-branch
Changes since 1.21: +23 -22 lines
Diff to previous 1.21 , to next main 1.23
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).

Revision 1.21.2.2 - (view) (annotate) - [select for diffs]
Wed Feb 10 02:22:09 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
CVS Tags: intl-branch-2010-03-18-1300, intl-branch-working-2010-02-11-1000, intl-branch-working-2010-02-19-1000
Changes since 1.21.2.1: +22 -22 lines
Diff to previous 1.21.2.1 , to branch point 1.21 , to next main 1.23
Mark translatable strings; update cmucl.pot and ko/cmucl.po
accordingly.

Revision 1.21.2.1 - (view) (annotate) - [select for diffs]
Mon Feb 8 17:15:49 2010 UTC (4 years, 2 months ago) by rtoy
Branch: intl-branch
Changes since 1.21: +2 -1 lines
Diff to previous 1.21
Add (intl:textdomain "cmucl") to the files to set the textdomain.

Revision 1.21 - (view) (annotate) - [select for diffs]
Mon Nov 2 15:05:06 2009 UTC (4 years, 5 months ago) by rtoy
Branch: MAIN
CVS Tags: intl-2-branch-base, intl-branch-base, pre-merge-intl-branch, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03
Branch point for: intl-2-branch, intl-branch
Changes since 1.20: +0 -6 lines
Diff to previous 1.20
Revert previous changes.  They were supposed to go on
amd64-dd-branch.

Revision 1.19.22.1 - (view) (annotate) - [select for diffs]
Mon Nov 2 14:29:46 2009 UTC (4 years, 5 months ago) by rtoy
Branch: amd64-dd-branch
Changes since 1.19: +7 -1 lines
Diff to previous 1.19 , to next main 1.23
(Oops.  Previous checkin went to wrong branch.  Here is the commit
log, again.)

This large checkin brings the amd64 port up-to-date with the current
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.

Revision 1.20 - (view) (annotate) - [select for diffs]
Mon Nov 2 02:51:58 2009 UTC (4 years, 5 months ago) by rtoy
Branch: MAIN
Changes since 1.19: +7 -1 lines
Diff to previous 1.19
This large checkin brings the amd64 port up-to-date with the current
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.

Revision 1.19 - (view) (annotate) - [select for diffs]
Thu Jan 3 11:41:52 2008 UTC (6 years, 3 months ago) by cshapiro
Branch: MAIN
CVS Tags: RELEASE_19f, RELEASE_20a, amd64-dd-start, label-2009-03-16, label-2009-03-25, merge-sse2-packed, merge-with-19f, merged-unicode-utf16-extfmt-2009-06-11, portable-clx-base, portable-clx-import-2009-06-16, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, release-20a-base, release-20a-pre1, snapshot-2008-01, snapshot-2008-02, snapshot-2008-03, snapshot-2008-04, snapshot-2008-05, snapshot-2008-06, snapshot-2008-07, snapshot-2008-08, snapshot-2008-09, snapshot-2008-10, snapshot-2008-11, snapshot-2008-12, snapshot-2009-01, snapshot-2009-02, snapshot-2009-04, snapshot-2009-05, snapshot-2009-07, snapshot-2009-08, snapshot-2009-11, sse2-base, sse2-checkpoint-2008-10-01, sse2-merge-with-2008-10, sse2-merge-with-2008-11, sse2-packed-2008-11-12, sse2-packed-base, unicode-snapshot-2009-05, unicode-snapshot-2009-06, unicode-string-buffer-base, unicode-string-buffer-impl-base, unicode-utf16-base, unicode-utf16-char-support-2009-03-25, unicode-utf16-char-support-2009-03-26, unicode-utf16-extfmt-2009-03-27, unicode-utf16-extfmt-2009-06-11, unicode-utf16-extfmts-pre-sync-2008-11, unicode-utf16-extfmts-sync-2008-12, unicode-utf16-string-support, unicode-utf16-sync-2008-07, unicode-utf16-sync-2008-09, unicode-utf16-sync-2008-11, unicode-utf16-sync-2008-12, unicode-utf16-sync-label-2009-03-16
Branch point for: RELEASE-19F-BRANCH, RELEASE-20A-BRANCH, amd64-dd-branch, portable-clx-branch, release-19e-branch, sse2-branch, sse2-packed-branch, unicode-string-buffer-branch, unicode-string-buffer-impl-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
Changes since 1.18: +2 -2 lines
Diff to previous 1.18
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.

Revision 1.18 - (view) (annotate) - [select for diffs]
Wed Oct 15 13:16:37 2003 UTC (10 years, 6 months ago) by toy
Branch: MAIN
CVS Tags: amd64-merge-start, double-double-array-base, double-double-array-checkpoint, double-double-base, double-double-init-%make-sparc, double-double-init-checkpoint-1, double-double-init-ppc, double-double-init-sparc, double-double-init-sparc-2, double-double-init-x86, double-double-irrat-end, double-double-irrat-start, double-double-reader-base, double-double-reader-checkpoint-1, double-double-sparc-checkpoint-1, mod-arith-base, ppc_gencgc_snap_2005-05-14, ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06, pre-telent-clx, prm-before-macosx-merge-tag, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, release-19b-base, release-19b-pre1, release-19b-pre2, release-19c, release-19c-base, release-19c-pre1, release-19d, release-19d-base, release-19d-pre1, release-19d-pre2, snapshot-2003-11, snapshot-2003-12, snapshot-2004-04, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, snapshot-2004-08, snapshot-2004-09, snapshot-2004-10, snapshot-2004-11, snapshot-2004-12, snapshot-2005-01, snapshot-2005-02, snapshot-2005-03, snapshot-2005-04, snapshot-2005-05, snapshot-2005-06, snapshot-2005-07, snapshot-2005-08, snapshot-2005-09, snapshot-2005-10, snapshot-2005-11, snapshot-2005-12, snapshot-2006-01, snapshot-2006-02, snapshot-2006-03, snapshot-2006-04, snapshot-2006-05, snapshot-2006-06, snapshot-2006-07, snapshot-2006-08, snapshot-2006-09, snapshot-2006-10, snapshot-2006-11, snapshot-2006-12, snapshot-2007-01, snapshot-2007-02, snapshot-2007-03, snapshot-2007-04, snapshot-2007-05, snapshot-2007-06, snapshot-2007-07, snapshot-2007-08, snapshot-2007-09, snapshot-2007-10, snapshot-2007-11, snapshot-2007-12
Branch point for: double-double-array-branch, double-double-branch, double-double-reader-branch, mod-arith-branch, ppc_gencgc_branch, release-19a-branch, release-19b-branch, release-19c-branch, release-19d-branch
Changes since 1.17: +12 -12 lines
Diff to previous 1.17
Make the offsets for SAP functions be bigger than fixnums since we can
have much larger heaps now.

Revision 1.13.2.2 - (view) (annotate) - [select for diffs]
Tue May 23 16:36:49 2000 UTC (13 years, 10 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18c, RELEASE_18d
Changes since 1.13.2.1: +3 -7 lines
Diff to previous 1.13.2.1 , to branch point 1.13 , to next main 1.23
This set of revisions brings the RELENG_18 branch up to HEAD in preparation
for an 18c release.

Revision 1.17 - (view) (annotate) - [select for diffs]
Wed Sep 15 15:14:12 1999 UTC (14 years, 7 months ago) by dtc
Branch: MAIN
CVS Tags: LINKAGE_TABLE, PRE_LINKAGE_TABLE, UNICODE-BASE, cold-pcl-base, dynamic-extent-base, lisp-executable-base, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2, remove_negative_zero_not_zero, snapshot-2003-10, sparc_gencgc, sparc_gencgc_merge
Branch point for: UNICODE-BRANCH, cold-pcl, dynamic-extent, lisp-executable, release-18e-branch, sparc_gencgc_branch
Changes since 1.16: +3 -7 lines
Diff to previous 1.16
Enable the SAP-ref-64 accessors on all ports.

Revision 1.13.2.1 - (view) (annotate) - [select for diffs]
Tue Jun 23 11:22:26 1998 UTC (15 years, 9 months ago) by pw
Branch: RELENG_18
CVS Tags: RELEASE_18b
Changes since 1.13: +38 -24 lines
Diff to previous 1.13
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.

Revision 1.16 - (view) (annotate) - [select for diffs]
Sat Mar 21 08:12:04 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.15: +9 -2 lines
Diff to previous 1.15
Long-float support.

Revision 1.15 - (view) (annotate) - [select for diffs]
Wed Mar 4 14:56:34 1998 UTC (16 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.14: +24 -46 lines
Diff to previous 1.14
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.

Revision 1.14 - (view) (annotate) - [select for diffs]
Thu Feb 19 10:52:12 1998 UTC (16 years, 2 months ago) by dtc
Branch: MAIN
Changes since 1.13: +52 -23 lines
Diff to previous 1.13
Bring in sap-ref-long for the x86 port, which is needed at least to
load FP registers from the sigcontext.

Revision 1.13 - (view) (annotate) - [select for diffs]
Fri Apr 25 20:49:42 1997 UTC (16 years, 11 months ago) by dtc
Branch: MAIN
CVS Tags: RELEASE_18a
Branch point for: RELENG_18
Changes since 1.12: +24 -24 lines
Diff to previous 1.12
Allow signed index on sap-reg functions on the sparc. Fixes some
inconsistencies which showed up on the x86 port.

Revision 1.12 - (view) (annotate) - [select for diffs]
Sat Feb 15 17:10:44 1997 UTC (17 years, 2 months ago) by dtc
Branch: MAIN
Changes since 1.11: +24 -24 lines
Diff to previous 1.11
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.

Revision 1.11 - (view) (annotate) - [select for diffs]
Mon Oct 31 04:11:27 1994 UTC (19 years, 5 months ago) by ram
Branch: MAIN
Changes since 1.10: +1 -3 lines
Diff to previous 1.10
Fix headed boilerplate.

Revision 1.10 - (view) (annotate) - [select for diffs]
Wed Apr 6 17:05:56 1994 UTC (20 years ago) by hallgren
Branch: MAIN
Changes since 1.9: +33 -3 lines
Diff to previous 1.9
Updated for the Alpha.

Revision 1.9 - (view) (annotate) - [select for diffs]
Mon Mar 2 02:23:17 1992 UTC (22 years, 1 month ago) by wlott
Branch: MAIN
Changes since 1.8: +8 -3 lines
Diff to previous 1.8
Added defn of ALLOCATE-SYSTEM-MEMORY-AT.

Revision 1.8 - (view) (annotate) - [select for diffs]
Fri Feb 21 23:13:42 1992 UTC (22 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.7: +2 -2 lines
Diff to previous 1.7
typo.

Revision 1.7 - (view) (annotate) - [select for diffs]
Fri Feb 21 22:00:07 1992 UTC (22 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.6: +35 -17 lines
Diff to previous 1.6
Changed all SAP-REF-mumble functions to take the offset in bytes.

Revision 1.6 - (view) (annotate) - [select for diffs]
Sat Feb 15 12:56:50 1992 UTC (22 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.5: +16 -41 lines
Diff to previous 1.5
Replaces {alloc,realloc,dealloc}ate-system-memory with versions that use
the routines exported by os.c instead of MACH specific vm_allocate.

Revision 1.5 - (view) (annotate) - [select for diffs]
Thu Feb 13 15:56:31 1992 UTC (22 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.4: +2 -2 lines
Diff to previous 1.4
Changed pointer< and pointer> to sap< and sap>.

Revision 1.4 - (view) (annotate) - [select for diffs]
Wed Jan 29 06:34:19 1992 UTC (22 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.3: +2 -2 lines
Diff to previous 1.3
Changed the import of a few kernel symbols to a use-package of kernel.

Revision 1.3 - (view) (annotate) - [select for diffs]
Wed Jan 29 06:30:46 1992 UTC (22 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.2: +3 -1 lines
Diff to previous 1.2
Added import of kernel:index and kernel:system-area-copy.

Revision 1.2 - (view) (annotate) - [select for diffs]
Tue Jan 28 08:40:34 1992 UTC (22 years, 2 months ago) by wlott
Branch: MAIN
Changes since 1.1: +6 -4 lines
Diff to previous 1.1
Export things like %set-sap-ref-sap from KERNEL instead of importing them
into C.

Revision 1.1 - (view) (annotate) - [select for diffs]
Mon Nov 18 10:43:04 1991 UTC (22 years, 5 months ago) by wlott
Branch: MAIN
Initial revision

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.

  Diffs between and
  Type of Diff should be a

Sort log by:

  ViewVC Help
Powered by ViewVC 1.1.5