1 /* 2 * This file was generated automatically by ExtUtils::ParseXS version 2.18_02 from the 3 * contents of Context.xs. Do not edit this file, edit Context.xs instead. 4 * 5 * ANY CHANGES MADE HERE WILL BE LOST! 6 * 7 */ 8 9 #line 1 "Context.xs" 10 /* 11 * Context.xs. XS interfaces for perf trace. 12 * 13 * Copyright (C) 2009 Tom Zanussi <tzanussi@gmail.com> 14 * 15 * This program is free software; you can redistribute it and/or modify 16 * it under the terms of the GNU General Public License as published by 17 * the Free Software Foundation; either version 2 of the License, or 18 * (at your option) any later version. 19 * 20 * This program is distributed in the hope that it will be useful, 21 * but WITHOUT ANY WARRANTY; without even the implied warranty of 22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 23 * GNU General Public License for more details. 24 * 25 * You should have received a copy of the GNU General Public License 26 * along with this program; if not, write to the Free Software 27 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 28 * 29 */ 30 31 #include "EXTERN.h" 32 #include "perl.h" 33 #include "XSUB.h" 34 #include "../../../util/trace-event-perl.h" 35 36 #ifndef PERL_UNUSED_VAR 37 # define PERL_UNUSED_VAR(var) if (0) var = var 38 #endif 39 40 #line 41 "Context.c" 41 42 XS(XS_Perf__Trace__Context_common_pc); /* prototype to pass -Wmissing-prototypes */ 43 XS(XS_Perf__Trace__Context_common_pc) 44 { 45 #ifdef dVAR 46 dVAR; dXSARGS; 47 #else 48 dXSARGS; 49 #endif 50 if (items != 1) 51 Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_pc", "context"); 52 PERL_UNUSED_VAR(cv); /* -W */ 53 { 54 struct scripting_context * context = INT2PTR(struct scripting_context *,SvIV(ST(0))); 55 int RETVAL; 56 dXSTARG; 57 58 RETVAL = common_pc(context); 59 XSprePUSH; PUSHi((IV)RETVAL); 60 } 61 XSRETURN(1); 62 } 63 64 65 XS(XS_Perf__Trace__Context_common_flags); /* prototype to pass -Wmissing-prototypes */ 66 XS(XS_Perf__Trace__Context_common_flags) 67 { 68 #ifdef dVAR 69 dVAR; dXSARGS; 70 #else 71 dXSARGS; 72 #endif 73 if (items != 1) 74 Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_flags", "context"); 75 PERL_UNUSED_VAR(cv); /* -W */ 76 { 77 struct scripting_context * context = INT2PTR(struct scripting_context *,SvIV(ST(0))); 78 int RETVAL; 79 dXSTARG; 80 81 RETVAL = common_flags(context); 82 XSprePUSH; PUSHi((IV)RETVAL); 83 } 84 XSRETURN(1); 85 } 86 87 88 XS(XS_Perf__Trace__Context_common_lock_depth); /* prototype to pass -Wmissing-prototypes */ 89 XS(XS_Perf__Trace__Context_common_lock_depth) 90 { 91 #ifdef dVAR 92 dVAR; dXSARGS; 93 #else 94 dXSARGS; 95 #endif 96 if (items != 1) 97 Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_lock_depth", "context"); 98 PERL_UNUSED_VAR(cv); /* -W */ 99 { 100 struct scripting_context * context = INT2PTR(struct scripting_context *,SvIV(ST(0))); 101 int RETVAL; 102 dXSTARG; 103 104 RETVAL = common_lock_depth(context); 105 XSprePUSH; PUSHi((IV)RETVAL); 106 } 107 XSRETURN(1); 108 } 109 110 #ifdef __cplusplus 111 extern "C" 112 #endif 113 XS(boot_Perf__Trace__Context); /* prototype to pass -Wmissing-prototypes */ 114 XS(boot_Perf__Trace__Context) 115 { 116 #ifdef dVAR 117 dVAR; dXSARGS; 118 #else 119 dXSARGS; 120 #endif 121 const char* file = __FILE__; 122 123 PERL_UNUSED_VAR(cv); /* -W */ 124 PERL_UNUSED_VAR(items); /* -W */ 125 XS_VERSION_BOOTCHECK ; 126 127 newXSproto("Perf::Trace::Context::common_pc", XS_Perf__Trace__Context_common_pc, file, "$"); 128 newXSproto("Perf::Trace::Context::common_flags", XS_Perf__Trace__Context_common_flags, file, "$"); 129 newXSproto("Perf::Trace::Context::common_lock_depth", XS_Perf__Trace__Context_common_lock_depth, file, "$"); 130 if (PL_unitcheckav) 131 call_list(PL_scopestack_ix, PL_unitcheckav); 132 XSRETURN_YES; 133 } 134 135