ViewVC logotype

Log of /src/code/x86-vm.lisp

Parent Directory Parent Directory | Revision Log Revision Log

Links to HEAD: (view) (annotate)
Links to snapshot-2005-08: (view) (annotate)
Sticky Tag:

Revision 1.22 - (view) (annotate) - [select for diffs]
Wed Jul 7 15:03:11 2004 UTC (9 years, 9 months ago) by rtoy
Branch: MAIN
CVS Tags: ppc_gencgc_snap_2005-05-14, ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06, prm-before-macosx-merge-tag, release-19b-base, release-19b-pre1, release-19b-pre2, release-19c, release-19c-base, release-19c-pre1, 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
Branch point for: ppc_gencgc_branch, release-19b-branch, release-19c-branch
Changes since 1.21: +115 -5 lines
Diff to previous 1.21
Changes from Robert Swindells to support NetBSD.

Revision 1.21 - (view) (annotate) - [select for diffs]
Tue Aug 27 22:18:25 2002 UTC (11 years, 7 months ago) by moore
Branch: MAIN
CVS Tags: LINKAGE_TABLE, UNICODE-BASE, amd64-merge-start, cold-pcl-base, dynamic-extent-base, lisp-executable-base, mod-arith-base, release-18e, release-18e-base, release-18e-pre1, release-18e-pre2, release-19a, release-19a-base, release-19a-pre1, release-19a-pre2, release-19a-pre3, remove_negative_zero_not_zero, snapshot-2003-10, snapshot-2003-11, snapshot-2003-12, snapshot-2004-04, snapshot-2004-05, snapshot-2004-06, snapshot-2004-07, sparc_gencgc, sparc_gencgc_merge
Branch point for: UNICODE-BRANCH, cold-pcl, dynamic-extent, lisp-executable, mod-arith-branch, release-18e-branch, release-19a-branch, sparc_gencgc_branch
Changes since 1.20: +22 -4 lines
Diff to previous 1.20
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.

Revision 1.20 - (view) (annotate) - [select for diffs]
Mon May 6 18:02:05 2002 UTC (11 years, 11 months ago) by pmai
Branch: MAIN
Changes since 1.19: +6 -4 lines
Diff to previous 1.19
Changed the OpenBSD port to use dlopen+ld for FFI linkage, like
current Linux and FreeBSD/ELF do, although OpenBSD is still non-ELF.
Also changed the handling of leading underscores in alien names, by
moving the underscore addition to extern-alien-name, where it belongs,
and not foreign-symbol-address-aux.  This brings the x86 port in line
with the other ports, modulo the PVE_stub_ magic.  The changes
necessitate some bootstrapping code for BSD non-ELF platforms.

Revision 1.19 - (view) (annotate) - [select for diffs]
Wed Mar 13 08:01:58 2002 UTC (12 years, 1 month ago) by moore
Branch: MAIN
Changes since 1.18: +4 -2 lines
Diff to previous 1.18
Support for dynamic loading in FreeBSD 4.0 and later.  This involves moving
the static space up, so a cross-compile is required to bootstrap these changes.

Revision 1.18 - (view) (annotate) - [select for diffs]
Mon Jan 28 20:17:09 2002 UTC (12 years, 2 months ago) by pmai
Branch: MAIN
Changes since 1.17: +30 -2 lines
Diff to previous 1.17
Added specialised port to NetBSD (1.5.2) on x86.  Since the code-base
was already cleaned up with the OpenBSD port, this doesn't require
massive changes.

Since current NetBSD is ELF-based by default, we don't make use of the
ELF feature, or in other words:  The presence of the NetBSD feature
implies ELF, since there is no support for non-ELF NetBSD.

Revision 1.17 - (view) (annotate) - [select for diffs]
Thu Dec 6 19:15:41 2001 UTC (12 years, 4 months ago) by pmai
Branch: MAIN
Changes since 1.16: +35 -9 lines
Diff to previous 1.16
Added specialised port to OpenBSD (2.9).  Many parts of the original
code which were previously conditionalized on :FreeBSD, are now
conditionalized on :BSD instead, with the :BSD feature now implying a
4.4BSD(lite2) derived OS.  This should make future BSD-ports easier.
FreeBSD and OpenBSD are differentiated by having either :FreeBSD or
:OpenBSD on the features list.

Currently the OpenBSD port does not have working ELF support, because
OpenBSD 2.9 is still non-ELF by default.  So don't put ELF on the
features list when building for OpenBSD, or fix the code to work
correctly in this case instead.

Revision 1.16 - (view) (annotate) - [select for diffs]
Wed Apr 12 17:41:15 2000 UTC (14 years ago) by pw
Branch: MAIN
Changes since 1.15: +28 -2 lines
Diff to previous 1.15
Support for FreeBSd 4.x version of struct sigcontext conditionalized
by :freebsd4. From Tim Moore.

Revision 1.15 - (view) (annotate) - [select for diffs]
Fri Mar 26 15:57:00 1999 UTC (15 years, 1 month ago) by dtc
Branch: MAIN
Changes since 1.14: +113 -9 lines
Diff to previous 1.14
New functions are macros to support thread safe code:
set-symbol-value-conditional, rplaca-conditional,
rplacd-conditional, data-vector-set-conditional,
atomic-push-symbol-value, atomic-pop-symbol-value, atomic-pusha,
atomic-pushd atomic-push-vector.

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

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

Revision 1.12 - (view) (annotate) - [select for diffs]
Fri Jan 16 07:22:13 1998 UTC (16 years, 3 months ago) by dtc
Branch: MAIN
Changes since 1.11: +112 -59 lines
Diff to previous 1.11
Rewrite of the x86/GENCGC purify stack scavenging to reduce the chance
of heap corruption and to try and handle return address on the stack.

Enhance new-genesis to save the code fixups for x86 code objects
allowing the code to be placed in the dynamic heap and thus garbage
collected by purify.

Revision 1.11 - (view) (annotate) - [select for diffs]
Wed Dec 17 22:46:29 1997 UTC (16 years, 4 months ago) by dtc
Branch: MAIN
Changes since 1.10: +2 -2 lines
Diff to previous 1.10
Need to use signed-sap-ref-32 to set the relative fixups - fixes a
type error.

Revision 1.10 - (view) (annotate) - [select for diffs]
Sun Nov 16 13:59:57 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.9: +1 -20 lines
Diff to previous 1.9
No longer source transform realpart and imagpart with the
complex-float support.
The realpart and imagpart functions now need to do some type dispatch.
The VOPs are now direct translations of realpart and imagpart;
remove the hack accessor functions.

Revision 1.9 - (view) (annotate) - [select for diffs]
Sun Nov 16 13:53:01 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.8: +2 -3 lines
Diff to previous 1.8
No longer exporting alternate-get-global-address from the X86 package.

Revision 1.8 - (view) (annotate) - [select for diffs]
Tue Nov 11 18:51:53 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.7: +17 -24 lines
Diff to previous 1.7
Cleanup the handling of foreign symbols on the x86 port.  Have the
FreeBSD port add the "_" prefix at load time rather than compile time
so that both the linux and freebsd binaries are compatible. Define an
x86 specific version of foreign-symbol-address-aux to do this mapping.

Revision 1.7 - (view) (annotate) - [select for diffs]
Sat Nov 8 15:54:20 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.6: +53 -19 lines
Diff to previous 1.6
Add support for saving the offsets of fixups in native code. This
allows purify and the garbage collector (currently only GENCGC) to
move the code objects so they can be placed in the dynamic space and
garbage collected.

Remove the make-complex-{single,double}-float functions which are no
longer used.

Defvar for *scavenge-read-only-space*.

Revision 1.6 - (view) (annotate) - [select for diffs]
Wed Nov 5 14:59:47 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.5: +3 -3 lines
Diff to previous 1.5
Replace the allocation macros with a function, and pass the VOP
node-var as an optional argument so the allocation function can make
policy decisions (to inline with GENCGC).

Remove the make-complex-{single,double}-float functions, and just
define the VOPs as translations of the complex function.

Fix a few bugs in the complex-float move VOPs.

Revision 1.5 - (view) (annotate) - [select for diffs]
Sat Nov 1 22:58:21 1997 UTC (16 years, 5 months ago) by dtc
Branch: MAIN
Changes since 1.4: +28 -1 lines
Diff to previous 1.4
Improved support for (complex single-float) and (complex double-float)
types. Adds storage classes to the backend for these so they can be
stored in registers or on the stack without consing; new primitive
types etc. Also adds (simple-array (complex {single,double}-float))
array types to avoid consing and speed vectors operations.  All
these changes are conditional on the :complex-float feature. More work
is needed to exploit these changes: improving the type dispatch in the
various function; maybe compiler transforms or more VOPs to handle
common functions inline.

Revision 1.4 - (view) (annotate) - [select for diffs]
Mon Sep 29 04:40:35 1997 UTC (16 years, 6 months ago) by dtc
Branch: MAIN
Changes since 1.3: +9 -1 lines
Diff to previous 1.3
Allow an immediate argument for the slot-set VOP.
New VOP slot-set-conditional to atomically test and set a slot.
New VOPs instance-set-conditional and instance-set-conditional-c to
atomically test and set instance slots; translations of new function

Revision 1.3 - (view) (annotate) - [select for diffs]
Wed Sep 24 15:49:54 1997 UTC (16 years, 7 months ago) by dtc
Branch: MAIN
Changes since 1.2: +5 -1 lines
Diff to previous 1.2
Add a defvar for *alien-stack*.

Revision 1.2 - (view) (annotate) - [select for diffs]
Sun Apr 13 21:07:29 1997 UTC (17 years ago) by pw
Branch: MAIN
Branch point for: RELENG_18
Changes since 1.1: +2 -2 lines
Diff to previous 1.1
Some fixes for cross compiling.

Revision 1.1 - (view) (annotate) - [select for diffs]
Sat Jan 18 14:30:50 1997 UTC (17 years, 3 months ago) by ram
Branch: MAIN
Werkowskis source kit 1.03.7

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