| 
									
										
										
										
											2007-10-02 17:53:05 -04:00
										 |  |  | F_FASTCALL void save_callstack_bottom(F_STACK_FRAME *callstack_bottom); | 
					
						
							| 
									
										
										
										
											2007-10-06 23:12:52 -04:00
										 |  |  | F_FASTCALL __attribute__((noinline)) void save_callstack_top(F_STACK_FRAME *callstack_top); | 
					
						
							| 
									
										
										
										
											2007-10-02 17:53:05 -04:00
										 |  |  | 
 | 
					
						
							|  |  |  | #define FIRST_STACK_FRAME(stack) (F_STACK_FRAME *)((stack) + 1)
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | typedef void (*CALLSTACK_ITER)(F_STACK_FRAME *frame); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2007-10-06 23:26:43 -04:00
										 |  |  | F_STACK_FRAME *fix_callstack_top(F_STACK_FRAME *top, F_STACK_FRAME *bottom); | 
					
						
							| 
									
										
										
										
											2007-10-05 17:30:10 -04:00
										 |  |  | void iterate_callstack(CELL top, CELL bottom, CALLSTACK_ITER iterator); | 
					
						
							| 
									
										
										
										
											2007-10-02 17:53:05 -04:00
										 |  |  | void iterate_callstack_object(F_CALLSTACK *stack, CALLSTACK_ITER iterator); | 
					
						
							| 
									
										
										
										
											2007-10-05 17:30:10 -04:00
										 |  |  | F_STACK_FRAME *frame_successor(F_STACK_FRAME *frame); | 
					
						
							| 
									
										
										
										
											2007-10-28 04:33:36 -04:00
										 |  |  | F_COMPILED *frame_code(F_STACK_FRAME *frame); | 
					
						
							| 
									
										
										
										
											2007-10-02 17:53:05 -04:00
										 |  |  | CELL frame_executing(F_STACK_FRAME *frame); | 
					
						
							| 
									
										
										
										
											2007-10-06 22:52:55 -04:00
										 |  |  | CELL frame_scan(F_STACK_FRAME *frame); | 
					
						
							| 
									
										
										
										
											2007-10-02 17:53:05 -04:00
										 |  |  | CELL frame_type(F_STACK_FRAME *frame); | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | DECLARE_PRIMITIVE(callstack); | 
					
						
							|  |  |  | DECLARE_PRIMITIVE(set_datastack); | 
					
						
							|  |  |  | DECLARE_PRIMITIVE(set_retainstack); | 
					
						
							|  |  |  | DECLARE_PRIMITIVE(set_callstack); | 
					
						
							|  |  |  | DECLARE_PRIMITIVE(callstack_to_array); | 
					
						
							| 
									
										
										
										
											2007-10-03 16:56:49 -04:00
										 |  |  | DECLARE_PRIMITIVE(innermost_stack_frame_quot); | 
					
						
							|  |  |  | DECLARE_PRIMITIVE(innermost_stack_frame_scan); | 
					
						
							|  |  |  | DECLARE_PRIMITIVE(set_innermost_stack_frame_quot); |