Skip to content
GitLab
Explore
Sign in
Register
Primary navigation
Search or go to…
Project
cmucl
Manage
Activity
Members
Labels
Plan
Issues
Issue boards
Milestones
Wiki
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Snippets
Build
Pipelines
Jobs
Pipeline schedules
Artifacts
Deploy
Releases
Package Registry
Model registry
Operate
Environments
Terraform modules
Monitor
Incidents
Service Desk
Analyze
Value stream analytics
Contributor analytics
CI/CD analytics
Repository analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Terms and privacy
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
Carl Shapiro
cmucl
Commits
5f7d5909
Commit
5f7d5909
authored
35 years ago
by
ram
Browse files
Options
Downloads
Patches
Plain Diff
Changed to use the new GENERATE-ERROR-CODE interface.
parent
d4c8a0e8
No related branches found
No related tags found
No related merge requests found
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
compiler/old-rt/system.lisp
+3
-2
3 additions, 2 deletions
compiler/old-rt/system.lisp
compiler/old-rt/type-vops.lisp
+7
-5
7 additions, 5 deletions
compiler/old-rt/type-vops.lisp
with
10 additions
and
7 deletions
compiler/old-rt/system.lisp
+
3
−
2
View file @
5f7d5909
...
@@ -85,11 +85,12 @@
...
@@ -85,11 +85,12 @@
(
:args
(
x
:scs
(
any-reg
descriptor-reg
))
(
:args
(
x
:scs
(
any-reg
descriptor-reg
))
(
y
:scs
(
any-reg
descriptor-reg
)))
(
y
:scs
(
any-reg
descriptor-reg
)))
(
:variant-vars
condition
not-p
error
)
(
:variant-vars
condition
not-p
error
)
(
:node-var
node
)
(
:vop-var
vop
)
(
:save-p
:compute-only
)
(
:policy
:fast-safe
)
(
:policy
:fast-safe
)
(
:generator
3
(
:generator
3
(
inst
c
x
y
)
(
inst
c
x
y
)
(
let
((
target
(
generate-error-code
node
error
x
y
)))
(
let
((
target
(
generate-error-code
vop
error
x
y
)))
(
if
not-p
(
if
not-p
(
inst
bb
condition
target
)
(
inst
bb
condition
target
)
(
inst
bnb
condition
target
)))))
(
inst
bnb
condition
target
)))))
...
...
This diff is collapsed.
Click to expand it.
compiler/old-rt/type-vops.lisp
+
7
−
5
View file @
5f7d5909
...
@@ -26,10 +26,11 @@
...
@@ -26,10 +26,11 @@
(
:results
(
:results
(
result
:scs
(
any-reg
descriptor-reg
)))
(
result
:scs
(
any-reg
descriptor-reg
)))
(
:variant-vars
type-code
error-code
)
(
:variant-vars
type-code
error-code
)
(
:node-var
node
)
(
:vop-var
vop
)
(
:save-p
:compute-only
)
(
:temporary
(
:type
random
:scs
(
non-descriptor-reg
))
temp
)
(
:temporary
(
:type
random
:scs
(
non-descriptor-reg
))
temp
)
(
:generator
4
(
:generator
4
(
let
((
err-lab
(
generate-error-code
node
error-code
value
)))
(
let
((
err-lab
(
generate-error-code
vop
error-code
value
)))
(
test-simple-type
value
temp
err-lab
t
type-code
)
(
test-simple-type
value
temp
err-lab
t
type-code
)
(
unless
(
location=
value
result
)
(
unless
(
location=
value
result
)
(
inst
lr
result
value
)))))
(
inst
lr
result
value
)))))
...
@@ -126,7 +127,8 @@ simple-integer-vector-p?
...
@@ -126,7 +127,8 @@ simple-integer-vector-p?
(
:results
(
:results
(
res
:scs
(
any-reg
descriptor-reg
)))
(
res
:scs
(
any-reg
descriptor-reg
)))
(
:temporary
(
:scs
(
any-reg
)
:type
fixnum
)
temp
)
(
:temporary
(
:scs
(
any-reg
)
:type
fixnum
)
temp
)
(
:node-var
node
))
(
:vop-var
vop
)
(
:save-p
:compute-only
))
(
macrolet
((
frob
(
pred-name
check-name
error-code
&rest
types
)
(
macrolet
((
frob
(
pred-name
check-name
error-code
&rest
types
)
...
@@ -144,7 +146,7 @@ simple-integer-vector-p?
...
@@ -144,7 +146,7 @@ simple-integer-vector-p?
`
((
define-vop
(
,
check-name
check-hairy-type
)
`
((
define-vop
(
,
check-name
check-hairy-type
)
(
:generator
,
cost
(
:generator
,
cost
(
let
((
err-lab
(
generate-error-code
(
let
((
err-lab
(
generate-error-code
node
,
error-code
obj
)))
vop
,
error-code
obj
)))
(
test-hairy-type
obj
temp
err-lab
t
,@
types
))
(
test-hairy-type
obj
temp
err-lab
t
,@
types
))
(
unless
(
location=
obj
res
)
(
unless
(
location=
obj
res
)
(
inst
lr
res
obj
))))))))))
(
inst
lr
res
obj
))))))))))
...
@@ -205,7 +207,7 @@ simple-integer-vector-p?
...
@@ -205,7 +207,7 @@ simple-integer-vector-p?
,@
body
))
,@
body
))
(
define-vop
(
,
check-name
check-list-symbol
)
(
define-vop
(
,
check-name
check-list-symbol
)
(
:generator
12
(
:generator
12
(
let
((
target
(
generate-error-code
node
,
error-code
obj
))
(
let
((
target
(
generate-error-code
vop
,
error-code
obj
))
(
not-p
t
))
(
not-p
t
))
,@
body
,@
body
(
unless
(
location=
obj
res
)
(
unless
(
location=
obj
res
)
...
...
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment