Changeset 16498


Ignore:
Timestamp:
Aug 8, 2015, 11:36:46 PM (4 years ago)
Author:
gb
Message:

work in progress.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/lscan/source/compiler/vinsn.lisp

    r16496 r16498  
    11111111(defun build-interval-list (seg)
    11121112  (let* ((list (vinsn-list-intervals seg))
    1113          (fg (vinsn-list-flow-graph seg)))
     1113         (fg (vinsn-list-flow-graph seg))
     1114         (nregs (length (vinsn-list-lregs seg))))
     1115    (declare (fixnum nregs))
     1116                 
    11141117         
    11151118
     
    11331136               
    11341137       
    1135    
     1138    (setf (vinsn-list-spill-area-used seg) (make-array nregs :element-type 'bit))
     1139
    11361140    (dovector (lreg (vinsn-list-lregs seg))
    11371141             
     
    12621266;;; been spilled to the stack.
    12631267(defun process-pre-spilled-interval (seg interval lreg offset)
     1268  (linear-scan-bailout)
    12641269  (setf (interval-lreg interval) lreg
    12651270        (interval-spill-offset interval) offset)
     
    16271632                                       ;; split the rival.
    16281633                                       (progn
    1629                                          (let* ((begin-vinsn (find-vinsn seg begin))
    1630                                                 (begin-vp (vinsn-variable-parts begin-vinsn)))
    1631                                            (when (find rival-lreg begin-vp)
    1632                                              (break "surprise! ~s" begin-vinsn)))
     1634
    16331635
    16341636                                         (spill-and-split-interval seg 'conflict2 rival begin intervals unhandled))
Note: See TracChangeset for help on using the changeset viewer.