| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  | /*
 | 
					
						
							|  |  |  |  * This file was generated automatically by ExtUtils::ParseXS version 2.18_02 from the | 
					
						
							|  |  |  |  * contents of Context.xs. Do not edit this file, edit Context.xs instead. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *	ANY CHANGES MADE HERE WILL BE LOST!  | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #line 1 "Context.xs"
 | 
					
						
							|  |  |  | /*
 | 
					
						
							| 
									
										
										
										
											2010-12-23 13:10:22 -02:00
										 |  |  |  * Context.xs.  XS interfaces for perf script. | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  |  * | 
					
						
							|  |  |  |  * Copyright (C) 2009 Tom Zanussi <tzanussi@gmail.com> | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  This program is free software; you can redistribute it and/or modify | 
					
						
							|  |  |  |  *  it under the terms of the GNU General Public License as published by | 
					
						
							|  |  |  |  *  the Free Software Foundation; either version 2 of the License, or | 
					
						
							|  |  |  |  *  (at your option) any later version. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  This program is distributed in the hope that it will be useful, | 
					
						
							|  |  |  |  *  but WITHOUT ANY WARRANTY; without even the implied warranty of | 
					
						
							|  |  |  |  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | 
					
						
							|  |  |  |  *  GNU General Public License for more details. | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  *  You should have received a copy of the GNU General Public License | 
					
						
							|  |  |  |  *  along with this program; if not, write to the Free Software | 
					
						
							|  |  |  |  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA | 
					
						
							|  |  |  |  * | 
					
						
							|  |  |  |  */ | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #include "EXTERN.h"
 | 
					
						
							|  |  |  | #include "perl.h"
 | 
					
						
							|  |  |  | #include "XSUB.h"
 | 
					
						
							| 
									
										
										
										
											2010-01-27 02:27:54 -06:00
										 |  |  | #include "../../../perf.h"
 | 
					
						
							|  |  |  | #include "../../../util/trace-event.h"
 | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  | 
 | 
					
						
							|  |  |  | #ifndef PERL_UNUSED_VAR
 | 
					
						
							|  |  |  | #  define PERL_UNUSED_VAR(var) if (0) var = var
 | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2010-01-27 02:27:54 -06:00
										 |  |  | #line 42 "Context.c"
 | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-30 01:18:48 -06:00
										 |  |  | XS(XS_Perf__Trace__Context_common_pc); /* prototype to pass -Wmissing-prototypes */ | 
					
						
							|  |  |  | XS(XS_Perf__Trace__Context_common_pc) | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  | { | 
					
						
							|  |  |  | #ifdef dVAR
 | 
					
						
							|  |  |  |     dVAR; dXSARGS; | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  |     dXSARGS; | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  |     if (items != 1) | 
					
						
							| 
									
										
										
										
											2009-11-30 01:18:48 -06:00
										 |  |  |        Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_pc", "context"); | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  |     PERL_UNUSED_VAR(cv); /* -W */ | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  | 	struct scripting_context *	context = INT2PTR(struct scripting_context *,SvIV(ST(0))); | 
					
						
							|  |  |  | 	int	RETVAL; | 
					
						
							|  |  |  | 	dXSTARG; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-30 01:18:48 -06:00
										 |  |  | 	RETVAL = common_pc(context); | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  | 	XSprePUSH; PUSHi((IV)RETVAL); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     XSRETURN(1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-30 01:18:48 -06:00
										 |  |  | XS(XS_Perf__Trace__Context_common_flags); /* prototype to pass -Wmissing-prototypes */ | 
					
						
							|  |  |  | XS(XS_Perf__Trace__Context_common_flags) | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  | { | 
					
						
							|  |  |  | #ifdef dVAR
 | 
					
						
							|  |  |  |     dVAR; dXSARGS; | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  |     dXSARGS; | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  |     if (items != 1) | 
					
						
							| 
									
										
										
										
											2009-11-30 01:18:48 -06:00
										 |  |  |        Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_flags", "context"); | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  |     PERL_UNUSED_VAR(cv); /* -W */ | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  | 	struct scripting_context *	context = INT2PTR(struct scripting_context *,SvIV(ST(0))); | 
					
						
							|  |  |  | 	int	RETVAL; | 
					
						
							|  |  |  | 	dXSTARG; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-30 01:18:48 -06:00
										 |  |  | 	RETVAL = common_flags(context); | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  | 	XSprePUSH; PUSHi((IV)RETVAL); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     XSRETURN(1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-30 01:18:48 -06:00
										 |  |  | XS(XS_Perf__Trace__Context_common_lock_depth); /* prototype to pass -Wmissing-prototypes */ | 
					
						
							|  |  |  | XS(XS_Perf__Trace__Context_common_lock_depth) | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  | { | 
					
						
							|  |  |  | #ifdef dVAR
 | 
					
						
							|  |  |  |     dVAR; dXSARGS; | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  |     dXSARGS; | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  |     if (items != 1) | 
					
						
							| 
									
										
										
										
											2009-11-30 01:18:48 -06:00
										 |  |  |        Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_lock_depth", "context"); | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  |     PERL_UNUSED_VAR(cv); /* -W */ | 
					
						
							|  |  |  |     { | 
					
						
							|  |  |  | 	struct scripting_context *	context = INT2PTR(struct scripting_context *,SvIV(ST(0))); | 
					
						
							|  |  |  | 	int	RETVAL; | 
					
						
							|  |  |  | 	dXSTARG; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-30 01:18:48 -06:00
										 |  |  | 	RETVAL = common_lock_depth(context); | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  | 	XSprePUSH; PUSHi((IV)RETVAL); | 
					
						
							|  |  |  |     } | 
					
						
							|  |  |  |     XSRETURN(1); | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | #ifdef __cplusplus
 | 
					
						
							|  |  |  | extern "C" | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  | XS(boot_Perf__Trace__Context); /* prototype to pass -Wmissing-prototypes */ | 
					
						
							|  |  |  | XS(boot_Perf__Trace__Context) | 
					
						
							|  |  |  | { | 
					
						
							|  |  |  | #ifdef dVAR
 | 
					
						
							|  |  |  |     dVAR; dXSARGS; | 
					
						
							|  |  |  | #else
 | 
					
						
							|  |  |  |     dXSARGS; | 
					
						
							|  |  |  | #endif
 | 
					
						
							|  |  |  |     const char* file = __FILE__; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  |     PERL_UNUSED_VAR(cv); /* -W */ | 
					
						
							|  |  |  |     PERL_UNUSED_VAR(items); /* -W */ | 
					
						
							|  |  |  |     XS_VERSION_BOOTCHECK ; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2009-11-30 01:18:48 -06:00
										 |  |  |         newXSproto("Perf::Trace::Context::common_pc", XS_Perf__Trace__Context_common_pc, file, "$"); | 
					
						
							|  |  |  |         newXSproto("Perf::Trace::Context::common_flags", XS_Perf__Trace__Context_common_flags, file, "$"); | 
					
						
							|  |  |  |         newXSproto("Perf::Trace::Context::common_lock_depth", XS_Perf__Trace__Context_common_lock_depth, file, "$"); | 
					
						
							| 
									
										
										
										
											2009-11-25 01:15:50 -06:00
										 |  |  |     if (PL_unitcheckav) | 
					
						
							|  |  |  |          call_list(PL_scopestack_ix, PL_unitcheckav); | 
					
						
							|  |  |  |     XSRETURN_YES; | 
					
						
							|  |  |  | } | 
					
						
							|  |  |  | 
 |