1*4882a593Smuzhiyun // SPDX-License-Identifier: GPL-2.0-or-later
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun * This file was generated automatically by ExtUtils::ParseXS version 2.18_02 from the
4*4882a593Smuzhiyun * contents of Context.xs. Do not edit this file, edit Context.xs instead.
5*4882a593Smuzhiyun *
6*4882a593Smuzhiyun * ANY CHANGES MADE HERE WILL BE LOST!
7*4882a593Smuzhiyun */
8*4882a593Smuzhiyun #include <stdbool.h>
9*4882a593Smuzhiyun #ifndef HAS_BOOL
10*4882a593Smuzhiyun # define HAS_BOOL 1
11*4882a593Smuzhiyun #endif
12*4882a593Smuzhiyun #line 1 "Context.xs"
13*4882a593Smuzhiyun /*
14*4882a593Smuzhiyun * Context.xs. XS interfaces for perf script.
15*4882a593Smuzhiyun *
16*4882a593Smuzhiyun * Copyright (C) 2009 Tom Zanussi <tzanussi@gmail.com>
17*4882a593Smuzhiyun */
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun #include "EXTERN.h"
20*4882a593Smuzhiyun #include "perl.h"
21*4882a593Smuzhiyun #include "XSUB.h"
22*4882a593Smuzhiyun #include "../../../util/trace-event.h"
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun #ifndef PERL_UNUSED_VAR
25*4882a593Smuzhiyun # define PERL_UNUSED_VAR(var) if (0) var = var
26*4882a593Smuzhiyun #endif
27*4882a593Smuzhiyun
28*4882a593Smuzhiyun #line 42 "Context.c"
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun XS(XS_Perf__Trace__Context_common_pc); /* prototype to pass -Wmissing-prototypes */
XS(XS_Perf__Trace__Context_common_pc)31*4882a593Smuzhiyun XS(XS_Perf__Trace__Context_common_pc)
32*4882a593Smuzhiyun {
33*4882a593Smuzhiyun #ifdef dVAR
34*4882a593Smuzhiyun dVAR; dXSARGS;
35*4882a593Smuzhiyun #else
36*4882a593Smuzhiyun dXSARGS;
37*4882a593Smuzhiyun #endif
38*4882a593Smuzhiyun if (items != 1)
39*4882a593Smuzhiyun Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_pc", "context");
40*4882a593Smuzhiyun PERL_UNUSED_VAR(cv); /* -W */
41*4882a593Smuzhiyun {
42*4882a593Smuzhiyun struct scripting_context * context = INT2PTR(struct scripting_context *,SvIV(ST(0)));
43*4882a593Smuzhiyun int RETVAL;
44*4882a593Smuzhiyun dXSTARG;
45*4882a593Smuzhiyun
46*4882a593Smuzhiyun RETVAL = common_pc(context);
47*4882a593Smuzhiyun XSprePUSH; PUSHi((IV)RETVAL);
48*4882a593Smuzhiyun }
49*4882a593Smuzhiyun XSRETURN(1);
50*4882a593Smuzhiyun }
51*4882a593Smuzhiyun
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun XS(XS_Perf__Trace__Context_common_flags); /* prototype to pass -Wmissing-prototypes */
XS(XS_Perf__Trace__Context_common_flags)54*4882a593Smuzhiyun XS(XS_Perf__Trace__Context_common_flags)
55*4882a593Smuzhiyun {
56*4882a593Smuzhiyun #ifdef dVAR
57*4882a593Smuzhiyun dVAR; dXSARGS;
58*4882a593Smuzhiyun #else
59*4882a593Smuzhiyun dXSARGS;
60*4882a593Smuzhiyun #endif
61*4882a593Smuzhiyun if (items != 1)
62*4882a593Smuzhiyun Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_flags", "context");
63*4882a593Smuzhiyun PERL_UNUSED_VAR(cv); /* -W */
64*4882a593Smuzhiyun {
65*4882a593Smuzhiyun struct scripting_context * context = INT2PTR(struct scripting_context *,SvIV(ST(0)));
66*4882a593Smuzhiyun int RETVAL;
67*4882a593Smuzhiyun dXSTARG;
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun RETVAL = common_flags(context);
70*4882a593Smuzhiyun XSprePUSH; PUSHi((IV)RETVAL);
71*4882a593Smuzhiyun }
72*4882a593Smuzhiyun XSRETURN(1);
73*4882a593Smuzhiyun }
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun
76*4882a593Smuzhiyun XS(XS_Perf__Trace__Context_common_lock_depth); /* prototype to pass -Wmissing-prototypes */
XS(XS_Perf__Trace__Context_common_lock_depth)77*4882a593Smuzhiyun XS(XS_Perf__Trace__Context_common_lock_depth)
78*4882a593Smuzhiyun {
79*4882a593Smuzhiyun #ifdef dVAR
80*4882a593Smuzhiyun dVAR; dXSARGS;
81*4882a593Smuzhiyun #else
82*4882a593Smuzhiyun dXSARGS;
83*4882a593Smuzhiyun #endif
84*4882a593Smuzhiyun if (items != 1)
85*4882a593Smuzhiyun Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_lock_depth", "context");
86*4882a593Smuzhiyun PERL_UNUSED_VAR(cv); /* -W */
87*4882a593Smuzhiyun {
88*4882a593Smuzhiyun struct scripting_context * context = INT2PTR(struct scripting_context *,SvIV(ST(0)));
89*4882a593Smuzhiyun int RETVAL;
90*4882a593Smuzhiyun dXSTARG;
91*4882a593Smuzhiyun
92*4882a593Smuzhiyun RETVAL = common_lock_depth(context);
93*4882a593Smuzhiyun XSprePUSH; PUSHi((IV)RETVAL);
94*4882a593Smuzhiyun }
95*4882a593Smuzhiyun XSRETURN(1);
96*4882a593Smuzhiyun }
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun #ifdef __cplusplus
99*4882a593Smuzhiyun extern "C"
100*4882a593Smuzhiyun #endif
101*4882a593Smuzhiyun XS(boot_Perf__Trace__Context); /* prototype to pass -Wmissing-prototypes */
XS(boot_Perf__Trace__Context)102*4882a593Smuzhiyun XS(boot_Perf__Trace__Context)
103*4882a593Smuzhiyun {
104*4882a593Smuzhiyun #ifdef dVAR
105*4882a593Smuzhiyun dVAR; dXSARGS;
106*4882a593Smuzhiyun #else
107*4882a593Smuzhiyun dXSARGS;
108*4882a593Smuzhiyun #endif
109*4882a593Smuzhiyun const char* file = __FILE__;
110*4882a593Smuzhiyun
111*4882a593Smuzhiyun PERL_UNUSED_VAR(cv); /* -W */
112*4882a593Smuzhiyun PERL_UNUSED_VAR(items); /* -W */
113*4882a593Smuzhiyun XS_VERSION_BOOTCHECK ;
114*4882a593Smuzhiyun
115*4882a593Smuzhiyun newXSproto("Perf::Trace::Context::common_pc", XS_Perf__Trace__Context_common_pc, file, "$");
116*4882a593Smuzhiyun newXSproto("Perf::Trace::Context::common_flags", XS_Perf__Trace__Context_common_flags, file, "$");
117*4882a593Smuzhiyun newXSproto("Perf::Trace::Context::common_lock_depth", XS_Perf__Trace__Context_common_lock_depth, file, "$");
118*4882a593Smuzhiyun if (PL_unitcheckav)
119*4882a593Smuzhiyun call_list(PL_scopestack_ix, PL_unitcheckav);
120*4882a593Smuzhiyun XSRETURN_YES;
121*4882a593Smuzhiyun }
122*4882a593Smuzhiyun
123