compiler.tree.propagation.call-effect: changing back call-effect-unsafe?, changing it made all images to large for some reason
							parent
							
								
									92165e4ee7
								
							
						
					
					
						commit
						eda9535ce6
					
				| 
						 | 
				
			
			@ -16,6 +16,12 @@ IN: compiler.tree.propagation.call-effect.tests
 | 
			
		|||
    100 [ sq ] ( a -- b ) call-effect-slow>quot call
 | 
			
		||||
] unit-test
 | 
			
		||||
 | 
			
		||||
! call-effect-unsafe?
 | 
			
		||||
{ f t } [
 | 
			
		||||
    [ ] ( m -- ) call-effect-unsafe?
 | 
			
		||||
    [ ] ( x -- x ) call-effect-unsafe?
 | 
			
		||||
] unit-test
 | 
			
		||||
 | 
			
		||||
[ t ] [ \ + ( a b -- c ) execute-effect-unsafe? ] unit-test
 | 
			
		||||
[ t ] [ \ + ( a b c -- d e ) execute-effect-unsafe? ] unit-test
 | 
			
		||||
[ f ] [ \ + ( a b c -- d ) execute-effect-unsafe? ] unit-test
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -57,9 +57,6 @@ M: quotation cached-effect
 | 
			
		|||
    dup cached-effect-valid?
 | 
			
		||||
    [ cached-effect>> ] [ [ safe-infer dup ] keep save-effect ] if ;
 | 
			
		||||
 | 
			
		||||
: call-effect-unsafe? ( cached-effect effect -- ? )
 | 
			
		||||
    over +unknown+ eq? [ 2drop f ] [ effect<= ] if ;
 | 
			
		||||
 | 
			
		||||
: call-effect-slow>quot ( effect -- quot )
 | 
			
		||||
    [ \ call-effect def>> curry ] [ add-effect-input ] bi
 | 
			
		||||
    '[ _ _ call-effect-unsafe ] ;
 | 
			
		||||
| 
						 | 
				
			
			@ -70,8 +67,13 @@ M: quotation cached-effect
 | 
			
		|||
 | 
			
		||||
\ call-effect-slow t "no-compile" set-word-prop
 | 
			
		||||
 | 
			
		||||
: call-effect-unsafe? ( quot effect -- ? )
 | 
			
		||||
    [ cached-effect ] dip
 | 
			
		||||
    over +unknown+ eq?
 | 
			
		||||
    [ 2drop f ] [ [ { effect } declare ] dip effect<= ] if ; inline
 | 
			
		||||
 | 
			
		||||
: call-effect-fast ( quot effect inline-cache -- )
 | 
			
		||||
    2over [ cached-effect ] dip call-effect-unsafe?
 | 
			
		||||
    2over call-effect-unsafe?
 | 
			
		||||
    [ [ nip update-inline-cache ] [ drop call-effect-unsafe ] 3bi ]
 | 
			
		||||
    [ drop call-effect-slow ]
 | 
			
		||||
    if ; inline
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue