compiler.cfg.linear-scan.allocation: removes no-free-registers?
							parent
							
								
									c8d648f3f2
								
							
						
					
					
						commit
						951c0586f0
					
				| 
						 | 
					@ -25,12 +25,9 @@ IN: compiler.cfg.linear-scan.allocation
 | 
				
			||||||
        [ inactive-positions ] [ active-positions ] 2bi
 | 
					        [ inactive-positions ] [ active-positions ] 2bi
 | 
				
			||||||
    ] keep alist-max ;
 | 
					    ] keep alist-max ;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
: no-free-registers? ( result -- ? )
 | 
					 | 
				
			||||||
    second 0 = ; inline
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
: assign-register ( new registers -- )
 | 
					: assign-register ( new registers -- )
 | 
				
			||||||
    dupd register-status {
 | 
					    dupd register-status {
 | 
				
			||||||
        { [ dup no-free-registers? ] [ drop assign-blocked-register ] }
 | 
					        { [ dup second 0 = ] [ drop assign-blocked-register ] }
 | 
				
			||||||
        { [ 2dup register-available? ] [ register-available ] }
 | 
					        { [ 2dup register-available? ] [ register-available ] }
 | 
				
			||||||
        [ drop assign-blocked-register ]
 | 
					        [ drop assign-blocked-register ]
 | 
				
			||||||
    } cond ;
 | 
					    } cond ;
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue