/* -*- mode: C; buffer-read-only: t -*-

      Copyright (C) 2022 by Larry Wall and others

      You may distribute under the terms of either the GNU General Public
      License or the Artistic License, as specified in the README file.

   !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
   This file is built by regen/scope_types.pl.
   Any changes made here will be lost!
   The defines and contents of the leave_scope_arg_counts[] array
   must match. To add a new type modify the __DATA__ section in
   regen/scope_types.pl and run `make regen` to rebuild the file.
 */

/* zero args */

#define SAVEt_ALLOC                0
#define SAVEt_CLEARPADRANGE        1
#define SAVEt_CLEARSV              2
#define SAVEt_REGCONTEXT           3
#define SAVEt_PADSV_NULL           4

/* one arg */

#define SAVEt_TMPSFLOOR            5
#define SAVEt_BOOL                 6
#define SAVEt_COMPILE_WARNINGS     7
#define SAVEt_CURCOP_WARNINGS      8
#define SAVEt_COMPPAD              9
#define SAVEt_FREECOPHH           10
#define SAVEt_FREEOP              11
#define SAVEt_FREEPV              12
#define SAVEt_FREESV              13
#define SAVEt_I16                 14
#define SAVEt_I32_SMALL           15
#define SAVEt_I8                  16
#define SAVEt_INT_SMALL           17
#define SAVEt_MORTALIZESV         18
#define SAVEt_NSTAB               19
#define SAVEt_OP                  20
#define SAVEt_PARSER              21
#define SAVEt_STACK_POS           22
#define SAVEt_READONLY_OFF        23
#define SAVEt_FREEPADNAME         24
#define SAVEt_STRLEN_SMALL        25
#define SAVEt_FREERCPV            26
#define SAVEt_FREE_REXC_STATE     27
#define SAVEt_PADSV               28

/* two args */

#define SAVEt_AV                  29
#define SAVEt_DESTRUCTOR          30
#define SAVEt_DESTRUCTOR_X        31
#define SAVEt_GENERIC_PVREF       32
#define SAVEt_GENERIC_SVREF       33
#define SAVEt_GP                  34
#define SAVEt_GVSV                35
#define SAVEt_HINTS               36
#define SAVEt_HPTR                37
#define SAVEt_HV                  38
#define SAVEt_I32                 39
#define SAVEt_INT                 40
#define SAVEt_ITEM                41
#define SAVEt_IV                  42
#define SAVEt_PPTR                43
#define SAVEt_SAVESWITCHSTACK     44
#define SAVEt_SHARED_PVREF        45
#define SAVEt_SPTR                46
#define SAVEt_STRLEN              47
#define SAVEt_SV                  48
#define SAVEt_SVREF               49
#define SAVEt_VPTR                50
#define SAVEt_ADELETE             51
#define SAVEt_APTR                52
#define SAVEt_RCPV                53

/* three args */

#define SAVEt_HELEM               54
#define SAVEt_PADSV_AND_MORTALIZE 55
#define SAVEt_SET_SVFLAGS         56
#define SAVEt_GVSLOT              57
#define SAVEt_AELEM               58
#define SAVEt_DELETE              59
#define SAVEt_HINTS_HH            60

static const U8 leave_scope_arg_counts[] = {
    0, /* SAVEt_ALLOC               */
    0, /* SAVEt_CLEARPADRANGE       */
    0, /* SAVEt_CLEARSV             */
    0, /* SAVEt_REGCONTEXT          */
    0, /* SAVEt_PADSV_NULL          */
    1, /* SAVEt_TMPSFLOOR           */
    1, /* SAVEt_BOOL                */
    1, /* SAVEt_COMPILE_WARNINGS    */
    1, /* SAVEt_CURCOP_WARNINGS     */
    1, /* SAVEt_COMPPAD             */
    1, /* SAVEt_FREECOPHH           */
    1, /* SAVEt_FREEOP              */
    1, /* SAVEt_FREEPV              */
    1, /* SAVEt_FREESV              */
    1, /* SAVEt_I16                 */
    1, /* SAVEt_I32_SMALL           */
    1, /* SAVEt_I8                  */
    1, /* SAVEt_INT_SMALL           */
    1, /* SAVEt_MORTALIZESV         */
    1, /* SAVEt_NSTAB               */
    1, /* SAVEt_OP                  */
    1, /* SAVEt_PARSER              */
    1, /* SAVEt_STACK_POS           */
    1, /* SAVEt_READONLY_OFF        */
    1, /* SAVEt_FREEPADNAME         */
    1, /* SAVEt_STRLEN_SMALL        */
    1, /* SAVEt_FREERCPV            */
    1, /* SAVEt_FREE_REXC_STATE     */
    1, /* SAVEt_PADSV               */
    2, /* SAVEt_AV                  */
    2, /* SAVEt_DESTRUCTOR          */
    2, /* SAVEt_DESTRUCTOR_X        */
    2, /* SAVEt_GENERIC_PVREF       */
    2, /* SAVEt_GENERIC_SVREF       */
    2, /* SAVEt_GP                  */
    2, /* SAVEt_GVSV                */
    2, /* SAVEt_HINTS               */
    2, /* SAVEt_HPTR                */
    2, /* SAVEt_HV                  */
    2, /* SAVEt_I32                 */
    2, /* SAVEt_INT                 */
    2, /* SAVEt_ITEM                */
    2, /* SAVEt_IV                  */
    2, /* SAVEt_PPTR                */
    2, /* SAVEt_SAVESWITCHSTACK     */
    2, /* SAVEt_SHARED_PVREF        */
    2, /* SAVEt_SPTR                */
    2, /* SAVEt_STRLEN              */
    2, /* SAVEt_SV                  */
    2, /* SAVEt_SVREF               */
    2, /* SAVEt_VPTR                */
    2, /* SAVEt_ADELETE             */
    2, /* SAVEt_APTR                */
    2, /* SAVEt_RCPV                */
    3, /* SAVEt_HELEM               */
    3, /* SAVEt_PADSV_AND_MORTALIZE */
    3, /* SAVEt_SET_SVFLAGS         */
    3, /* SAVEt_GVSLOT              */
    3, /* SAVEt_AELEM               */
    3, /* SAVEt_DELETE              */
    3  /* SAVEt_HINTS_HH            */
};

#define MAX_SAVEt 60

/* ex: set ro ft=c: */
