| 
									
										
										
										
											2009-08-09 17:29:21 -04:00
										 |  |  | ! Copyright (C) 2008, 2009 Slava Pestov. | 
					
						
							| 
									
										
										
										
											2008-08-02 00:31:43 -04:00
										 |  |  | ! See http://factorcode.org/license.txt for BSD license. | 
					
						
							| 
									
										
										
										
											2014-12-13 19:10:21 -05:00
										 |  |  | USING: compiler.tree.def-use | 
					
						
							|  |  |  | compiler.tree.escape-analysis.allocations fry kernel math | 
					
						
							|  |  |  | namespaces sequences ;
 | 
					
						
							| 
									
										
										
										
											2008-08-02 00:31:43 -04:00
										 |  |  | IN: compiler.tree.escape-analysis.nodes | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | GENERIC: escape-analysis* ( node -- )
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-08-09 17:29:21 -04:00
										 |  |  | SYMBOL: next-node | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-03-09 02:38:10 -05:00
										 |  |  | : each-with-next ( ... seq quot: ( ... elt -- ... ) -- ... )
 | 
					
						
							| 
									
										
										
										
											2009-08-09 17:29:21 -04:00
										 |  |  |     dupd '[ 1 + _ ?nth next-node set @ ] each-index ; inline
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-07-28 00:49:26 -04:00
										 |  |  | : (escape-analysis) ( nodes -- )
 | 
					
						
							| 
									
										
										
										
											2008-08-07 07:34:28 -04:00
										 |  |  |     [ | 
					
						
							|  |  |  |         [ node-defs-values introduce-values ] | 
					
						
							|  |  |  |         [ escape-analysis* ] | 
					
						
							|  |  |  |         bi
 | 
					
						
							| 
									
										
										
										
											2009-08-09 17:29:21 -04:00
										 |  |  |     ] each-with-next ;
 |