/[cmucl]/src/bootfiles/18e/boot15.lisp
ViewVC logotype

Log of /src/bootfiles/18e/boot15.lisp

Parent Directory Parent Directory | Revision Log Revision Log


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

Revision 1.1 - (view) (annotate) - [select for diffs]
Tue Aug 5 14:04:53 2003 UTC (10 years, 8 months ago) by gerd
Branch: MAIN
CVS Tags: GIT-CONVERSION, HEAD, RELEASE_19f, RELEASE_20a, RELEASE_20b, amd64-dd-start, amd64-merge-start, cross-sol-x86-2010-12-20, cross-sol-x86-base, cross-sol-x86-merged, cross-sparc-branch-base, 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, dynamic-extent-base, intl-2-branch-base, intl-branch-2010-03-18-1300, intl-branch-base, intl-branch-working-2010-02-11-1000, intl-branch-working-2010-02-19-1000, label-2009-03-16, label-2009-03-25, lisp-executable-base, merge-sse2-packed, merge-with-19f, merged-unicode-utf16-extfmt-2009-06-11, mod-arith-base, portable-clx-base, portable-clx-import-2009-06-16, post-merge-intl-branch, ppc_gencgc_snap_2005-05-14, ppc_gencgc_snap_2005-12-17, ppc_gencgc_snap_2006-01-06, pre-merge-intl-branch, 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, release-19e, release-19e-base, release-19e-pre1, release-19e-pre2, release-19f-base, release-19f-pre1, release-20a-base, release-20a-pre1, release-20b-pre1, release-20b-pre2, snapshot-2003-10, 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, 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, snapshot-2009-12, snapshot-2010-01, snapshot-2010-02, snapshot-2010-03, snapshot-2010-04, 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, sparc_gencgc, sparc_gencgc_merge, 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, RELEASE-20B-BRANCH, amd64-dd-branch, cross-sol-x86-branch, cross-sparc-branch, double-double-array-branch, double-double-branch, double-double-reader-branch, dynamic-extent, intl-2-branch, intl-branch, lisp-executable, mod-arith-branch, portable-clx-branch, ppc_gencgc_branch, release-19a-branch, release-19b-branch, release-19c-branch, release-19d-branch, release-19e-branch, sparc-tramp-assem-branch, sparc_gencgc_branch, sse2-branch, sse2-packed-branch, unicode-string-buffer-branch, unicode-string-buffer-impl-branch, unicode-utf16-branch, unicode-utf16-extfmt-branch
	DYNAMIC-EXTENT rest args.  Currently for x86 only.  Speed must be
	greater than safety for stack-allocation to actually happen, which
	is what ACL defaults to.  Use boot15.lisp to bootstrap.

	* src/bootfiles/18e/boot15.lisp: New file.

	* src/compiler/node.lisp (leaf): Add slot dynamic-extent.

	* src/compiler/x86/macros.lisp (load-size, inline-allocation)
	(not-inline-allocation): Extract from function allocation.
	(stack-allocation): New function.
	(allocation): Add arg dynamic-extent.  Call stack-allocation
	if dynamic-extent is true, and speed > safety.

	* src/compiler/x86/call.lisp (listify-rest-args): Add
	constant third arg, and pass it to allocation.

	* src/code/class.lisp (find-layout): Put part in
	#-bootstrap-dynamic-extent.

	* src/compiler/ir1tran.lisp (process-dynamic-extent-declaration):
	New function.
	(*suppress-dynamic-extent-declaration*): New variable.
	(process-1-declaration): Call process-dynamic-extent-declaration.
	(convert-more-entry) [#+x86]: Call %listify-rest-args with
	third arg dynamic-extent.

	* src/compiler/eval-comp.lisp (%listify-rest-args) [#+x86]:
	* src/compiler/fndb.lisp (%listify-rest-args) [#+x86]: Add
	third arg for dynamic-extent.

	Possibly temporary workaround for SBCL build problems caused by a
	situation like

	  (defvar *foo*)
	  (declaim (type foo *foo*))
	  (defstruct foo)
	  (defun foo ()
	    (let ((*foo* (some-unknown-function)))
	       ...))

	When a type check is being generated for the local binding of
	*foo*, *foo*'s type in the info database is still an unknown-type.
	The typep transform generates a call to %instance-typep, because
	it knows that foo is an instance.  The deftransform for
	%instance-typep does not run, so an actual call to %instance-typep
	is being generated.  A function %instance-typep doesn't exist at
	run time, though.

	* src/compiler/ir1tran.lisp (find-free-variable): If the
	variable's type is an unknown-type, reparse it, and change the
	type in the info database.

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