Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
cmucl
cmucl
Commits
14091f20
Commit
14091f20
authored
May 08, 1993
by
ram
Browse files
Have to clear the constant info between compiling each byte-component too.
parent
8a78c147
Changes
1
Hide whitespace changes
Inline
Side-by-side
compiler/main.lisp
View file @
14091f20
...
...
@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;;
(
ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/main.lisp,v 1.8
0
1993/0
3/12 15:14:35 hallgren
Exp $"
)
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/main.lisp,v 1.8
1
1993/0
5/08 00:43:55 ram
Exp $"
)
;;;
;;; **********************************************************************
;;;
...
...
@@ -320,7 +320,8 @@
(
new-assem:release-segment
*elsewhere*
))))
;; We are done, so don't bother keeping anything around.
(
clear-ir2-info
component
)
(
nuke-ir2-component
component
)
(
setf
(
component-info
component
)
nil
)
(
undefined-value
))
...
...
@@ -363,6 +364,8 @@
(
byte-compile-component
component
)
(
native-compile-component
component
))))
(
clear-constant-info
)
(
when
*compile-print*
(
compiler-mumble
"~&"
))
...
...
@@ -371,21 +374,15 @@
;;;; Clearing global data structures:
;;; CLEAR-IR2-INFO -- Internal
;;;
;;; Clear all the INFO slots in sight in Component to allow the IR2 data
;;; structures to be reclaimed. We also clear the INFO in constants in the
;;; *FREE-VARIABLES*, etc. The latter is required for correct assignment of
;;; costant TNs, in addition to allowing stuff to be reclaimed.
;;; CLEAR-CONSTANT-INFO -- Internal
;;;
;;; We don't clear the FUNCTIONAL-INFO slots, since they are used to keep
;;; track of functions across component boundaries.
;;; Clear the INFO in constants in the *FREE-VARIABLES*, etc. In addition
;;; to allowing stuff to be reclaimed, this is required for correct assignment
;;; of constant offsets, since we need to assign a new offset for each
;;; component. We don't clear the FUNCTIONAL-INFO slots, since they are used
;;; to keep track of functions across component boundaries.
;;;
(
defun
clear-ir2-info
(
component
)
(
declare
(
type
component
component
))
(
nuke-ir2-component
component
)
(
setf
(
component-info
component
)
nil
)
(
defun
clear-constant-info
()
(
maphash
#'
(
lambda
(
k
v
)
(
declare
(
ignore
k
))
(
setf
(
leaf-info
v
)
nil
))
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment