Code cleanups
							parent
							
								
									c55a6bb385
								
							
						
					
					
						commit
						d23bb19b55
					
				| 
						 | 
				
			
			@ -94,9 +94,6 @@ M: ##load-reference optimize-insn
 | 
			
		|||
! Into either
 | 
			
		||||
! ##shl-imm by X - tag-bits, or
 | 
			
		||||
! ##sar-imm by tag-bits - X.
 | 
			
		||||
: combine-shl-imm-input? ( insn -- ? )
 | 
			
		||||
     ;
 | 
			
		||||
 | 
			
		||||
: combine-shl-imm-input ( insn -- )
 | 
			
		||||
    [ dst>> ] [ src1>> ] [ src2>> ] tri tag-bits get {
 | 
			
		||||
        { [ 2dup < ] [ swap - ##sar-imm here ] }
 | 
			
		||||
| 
						 | 
				
			
			@ -232,6 +229,9 @@ M: ##compare-integer-branch optimize-insn
 | 
			
		|||
        [ call-next-method ]
 | 
			
		||||
    } cond ;
 | 
			
		||||
 | 
			
		||||
! Identities:
 | 
			
		||||
! tag(neg(untag(x))) = x
 | 
			
		||||
! tag(neg(x)) = x * -2^tag-bits
 | 
			
		||||
: inert-tag/untag-unary? ( insn -- ? )
 | 
			
		||||
    [ dst>> ] [ src>> ] bi [ rep-of tagged-rep? ] both? ;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -252,6 +252,8 @@ M: ##neg optimize-insn
 | 
			
		|||
        [ call-next-method ]
 | 
			
		||||
    } cond ;
 | 
			
		||||
 | 
			
		||||
! Identity:
 | 
			
		||||
! tag(not(untag(x))) = not(x) xor tag-mask
 | 
			
		||||
:: emit-tagged-not ( insn -- )
 | 
			
		||||
    tagged-rep next-vreg-rep :> temp
 | 
			
		||||
    temp insn src>> ##not
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -91,8 +91,6 @@ inline static cell tag_fixnum(fixnum untagged)
 | 
			
		|||
	return RETAG(untagged << TAG_BITS,FIXNUM_TYPE);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
struct object;
 | 
			
		||||
 | 
			
		||||
#define NO_TYPE_CHECK static const cell type_number = TYPE_COUNT
 | 
			
		||||
 | 
			
		||||
struct object {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue