Skip to content
Snippets Groups Projects
Commit 2dac9e98 authored by ram's avatar ram
Browse files

updated comments in the SC structure to correspond to the new usage of

the MOVE-VOPS and MOVE-ARG-VOPS wherein multiple VOPs per SC pair are
supported.
parent e72b4d1e
No related branches found
No related tags found
No related merge requests found
...@@ -916,16 +916,22 @@ ...@@ -916,16 +916,22 @@
(load-costs (make-array sc-number-limit :initial-element nil) (load-costs (make-array sc-number-limit :initial-element nil)
:type sc-vector) :type sc-vector)
;; ;;
;; Vector mapping from SC numbers to representation move and coerce VOPs. If ;; Vector mapping from SC numbers to possibly representation-specific move
;; an entry is non-null, then it is the VOP-INFO for the VOP that coerces an ;; and coerce VOPs. Each entry is a list of VOP-INFOs for VOPs that
;; object in the index SC's representation info this SC's representation. If ;; move/coerce an object in the index SC's representation into this SC's
;; null, no special VOP is necessary: just use MOVE. This vector is filled ;; representation. This vector is filled out with entries for all SCs that
;; out with entries for all SCs that can somehow be coerced into this SC, not ;; can somehow be coerced into this SC, not just those VOPs defined to
;; just those VOPs defined to directly move into this SC (i.e. it allows for ;; directly move into this SC (i.e. it allows for operand loading on the move
;; operand loading on the move VOP's operands.) ;; VOP's operands.)
;; ;;
;; If there are special non-coercing moves (i.e. non-null entries for this SC ;; When there are multiple applicable VOPs, the template arg and result type
;; or its alternates), then they should not use any wired temporaries. ;; restrictions are used to determine which one to use. The list is sorted
;; by increasing cost, so the first applicable VOP should be used.
;;
;; Move (or move-arg) VOPs with descriptor results shouldn't have TNs wired
;; in the standard argument registers, since there may already be live TNs
;; wired in those locations holding the values that we are setting up for
;; unknown-values return.
(move-vops (make-array sc-number-limit :initial-element nil) (move-vops (make-array sc-number-limit :initial-element nil)
:type sc-vector) :type sc-vector)
;; ;;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment