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
c1bb7193
Commit
c1bb7193
authored
Apr 03, 1991
by
ram
Browse files
Added DELETE-COMPONENT and fixed DELETE-REF to do the right thing for
escape and cleanup lambdas.
parent
24894c42
Changes
1
Hide whitespace changes
Inline
Side-by-side
compiler/ir1util.lisp
View file @
c1bb7193
...
...
@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;;
(
ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1util.lisp,v 1.3
4
1991/04/0
2
1
1:06:18 wlott
Exp $"
)
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/ir1util.lisp,v 1.3
5
1991/04/0
3
1
2:45:37 ram
Exp $"
)
;;;
;;; **********************************************************************
;;;
...
...
@@ -749,7 +749,8 @@ inlines
(
clambda
(
ecase
(
functional-kind
leaf
)
((
nil
:let
:mv-let
:escape
:cleanup
)
(
assert
(
not
(
functional-entry-function
leaf
))))
(
assert
(
not
(
functional-entry-function
leaf
)))
(
delete-lambda
leaf
))
(
:external
(
delete-lambda
leaf
))
((
:deleted
:optional
))))
...
...
@@ -1139,6 +1140,24 @@ inlines
(
let
((
block
(
continuation-block
prev
)))
(
and
(
block-component
block
)
(
not
(
block-delete-p
block
))))))))
;;; DELETE-COMPONENT -- Interface
;;;
;;; Delete all the blocks and functions in Component. We scan first marking
;;; the blocks as delete-p to prevent weird stuff from being triggered by
;;; deletion.
;;;
(
defun
delete-component
(
component
)
(
declare
(
type
component
component
))
(
do-blocks
(
block
component
)
(
setf
(
block-delete-p
block
)
t
))
(
dolist
(
fun
(
component-lambdas
component
))
(
setf
(
leaf-refs
fun
)
nil
)
(
delete-lambda
fun
))
(
do-blocks
(
block
component
)
(
delete-block
block
))
(
undefined-value
))
;;;; Leaf hackery:
...
...
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