| 
									
										
										
										
											2009-05-04 02:46:13 -04:00
										 |  |  | namespace factor | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-09-25 22:17:20 -04:00
										 |  |  | inline cell align_page(cell a) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | 	return align(a,getpagesize()); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | /* segments set up guard pages to check for under/overflow.
 | 
					
						
							|  |  |  | size must be a multiple of the page size */ | 
					
						
							| 
									
										
										
										
											2009-05-04 05:50:24 -04:00
										 |  |  | struct segment { | 
					
						
							|  |  |  | 	cell start; | 
					
						
							|  |  |  | 	cell size; | 
					
						
							|  |  |  | 	cell end; | 
					
						
							| 
									
										
										
										
											2009-09-25 22:17:20 -04:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-10-16 05:37:27 -04:00
										 |  |  | 	explicit segment(cell size, bool executable_p); | 
					
						
							| 
									
										
										
										
											2009-09-25 22:17:20 -04:00
										 |  |  | 	~segment(); | 
					
						
							| 
									
										
										
										
											2009-05-04 02:00:30 -04:00
										 |  |  | }; | 
					
						
							| 
									
										
										
										
											2009-05-04 02:46:13 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | } |