30
30
*/
31
31
32
32
struct jmpenv {
33
- struct jmpenv * je_prev ;
34
- Sigjmp_buf je_buf ; /* uninit if je_prev is NULL */
35
- int je_ret ; /* last exception thrown */
36
- bool je_mustcatch ; /* longjmp()s must be caught locally */
37
- U16 je_old_delaymagic ; /* saved PL_delaymagic */
38
- SSize_t je_old_stack_hwm ;
33
+ struct jmpenv * je_prev ;
34
+ Sigjmp_buf je_buf ; /* uninit if je_prev is NULL */
35
+ int je_ret ; /* last exception thrown */
36
+ bool je_mustcatch ; /* longjmp()s must be caught locally */
37
+ U16 je_old_delaymagic ; /* saved PL_delaymagic */
38
+ SSize_t je_old_stack_hwm ;
39
39
};
40
40
41
41
typedef struct jmpenv JMPENV ;
@@ -434,23 +434,23 @@ struct cop {
434
434
BASEOP
435
435
/* On LP64 putting this here takes advantage of the fact that BASEOP isn't
436
436
an exact multiple of 8 bytes to save structure padding. */
437
- line_t cop_line ; /* line # of this command */
437
+ line_t cop_line ; /* line # of this command */
438
438
/* label for this construct is now stored in cop_hints_hash */
439
439
#ifdef USE_ITHREADS
440
- PADOFFSET cop_stashoff ; /* offset into PL_stashpad, for the
441
- package the line was compiled in */
442
- char * cop_file ; /* name of file this command is from */
440
+ PADOFFSET cop_stashoff ; /* offset into PL_stashpad, for the
441
+ package the line was compiled in */
442
+ char * cop_file ; /* name of file this command is from */
443
443
#else
444
- HV * cop_stash ; /* package line was compiled in */
445
- GV * cop_filegv ; /* name of GV file this command is from */
444
+ HV * cop_stash ; /* package line was compiled in */
445
+ GV * cop_filegv ; /* name of GV file this command is from */
446
446
#endif
447
- U32 cop_hints ; /* hints bits from pragmata */
448
- U32 cop_seq ; /* parse sequence number */
447
+ U32 cop_hints ; /* hints bits from pragmata */
448
+ U32 cop_seq ; /* parse sequence number */
449
449
/* Beware. mg.c and warnings.pl assume the type of this is STRLEN *: */
450
- STRLEN * cop_warnings ; /* lexical warnings bitmask */
450
+ STRLEN * cop_warnings ; /* lexical warnings bitmask */
451
451
/* compile time state of %^H. See the comment in op.c for how this is
452
452
used to recreate a hash to return from caller. */
453
- COPHH * cop_hints_hash ;
453
+ COPHH * cop_hints_hash ;
454
454
/* for now just a bitmask stored here.
455
455
If we get sufficient features this may become a pointer.
456
456
How these flags are stored is subject to change without
@@ -708,27 +708,27 @@ by setting C<*flags> to 0 or C<SVf_UTF8>.
708
708
709
709
/* subroutine context */
710
710
struct block_sub {
711
- OP * retop ; /* op to execute on exit from sub */
712
- I32 old_cxsubix ; /* previous value of si_cxsubix */
711
+ OP * retop ; /* op to execute on exit from sub */
712
+ I32 old_cxsubix ; /* previous value of si_cxsubix */
713
713
/* Above here is the same for sub, format and eval. */
714
- PAD * prevcomppad ; /* the caller's PL_comppad */
715
- CV * cv ;
714
+ PAD * prevcomppad ; /* the caller's PL_comppad */
715
+ CV * cv ;
716
716
/* Above here is the same for sub and format. */
717
- I32 olddepth ;
718
- AV * savearray ;
717
+ I32 olddepth ;
718
+ AV * savearray ;
719
719
};
720
720
721
721
722
722
/* format context */
723
723
struct block_format {
724
- OP * retop ; /* op to execute on exit from sub */
725
- I32 old_cxsubix ; /* previous value of si_cxsubix */
724
+ OP * retop ; /* op to execute on exit from sub */
725
+ I32 old_cxsubix ; /* previous value of si_cxsubix */
726
726
/* Above here is the same for sub, format and eval. */
727
- PAD * prevcomppad ; /* the caller's PL_comppad */
728
- CV * cv ;
727
+ PAD * prevcomppad ; /* the caller's PL_comppad */
728
+ CV * cv ;
729
729
/* Above here is the same for sub and format. */
730
- GV * gv ;
731
- GV * dfoutgv ;
730
+ GV * gv ;
731
+ GV * dfoutgv ;
732
732
};
733
733
734
734
/* return a pointer to the current context */
@@ -782,14 +782,14 @@ struct block_format {
782
782
783
783
/* eval context */
784
784
struct block_eval {
785
- OP * retop ; /* op to execute on exit from eval */
786
- I32 old_cxsubix ; /* previous value of si_cxsubix */
785
+ OP * retop ; /* op to execute on exit from eval */
786
+ I32 old_cxsubix ; /* previous value of si_cxsubix */
787
787
/* Above here is the same for sub, format and eval. */
788
- SV * old_namesv ;
789
- OP * old_eval_root ;
790
- SV * cur_text ;
791
- CV * cv ;
792
- JMPENV * cur_top_env ; /* value of PL_top_env when eval CX created */
788
+ SV * old_namesv ;
789
+ OP * old_eval_root ;
790
+ SV * cur_text ;
791
+ CV * cv ;
792
+ JMPENV * cur_top_env ; /* value of PL_top_env when eval CX created */
793
793
};
794
794
795
795
/* If we ever need more than 512 op types, change the shift from 7.
@@ -804,32 +804,32 @@ struct block_eval {
804
804
805
805
/* loop context */
806
806
struct block_loop {
807
- LOOP * my_op ; /* My op, that contains redo, next and last ops. */
808
- union { /* different ways of locating the iteration variable */
809
- SV * * svp ; /* for lexicals: address of pad slot */
810
- GV * gv ; /* for package vars */
811
- } itervar_u ;
812
- SV * itersave ; /* the original iteration var */
807
+ LOOP * my_op ; /* My op, that contains redo, next and last ops. */
808
+ union { /* different ways of locating the iteration variable */
809
+ SV * * svp ; /* for lexicals: address of pad slot */
810
+ GV * gv ; /* for package vars */
811
+ } itervar_u ;
812
+ SV * itersave ; /* the original iteration var */
813
813
union {
814
814
struct { /* CXt_LOOP_ARY, C<for (@ary)> */
815
- AV * ary ; /* array being iterated over */
816
- IV ix ; /* index relative to base of array */
817
- } ary ;
815
+ AV * ary ; /* array being iterated over */
816
+ IV ix ; /* index relative to base of array */
817
+ } ary ;
818
818
struct { /* CXt_LOOP_LIST, C<for (list)> */
819
819
I32 basesp ; /* first element of list on stack */
820
- IV ix ; /* index relative to basesp */
821
- } stack ;
820
+ IV ix ; /* index relative to basesp */
821
+ } stack ;
822
822
struct { /* CXt_LOOP_LAZYIV, C<for (1..9)> */
823
- IV cur ;
824
- IV end ;
825
- } lazyiv ;
823
+ IV cur ;
824
+ IV end ;
825
+ } lazyiv ;
826
826
struct { /* CXt_LOOP_LAZYSV C<for ('a'..'z')> */
827
- SV * cur ;
828
- SV * end ; /* maxiumum value (or minimum in reverse) */
829
- } lazysv ;
830
- } state_u ;
827
+ SV * cur ;
828
+ SV * end ; /* maxiumum value (or minimum in reverse) */
829
+ } lazysv ;
830
+ } state_u ;
831
831
#ifdef USE_ITHREADS
832
- PAD * oldcomppad ; /* needed to map itervar_u.svp during thread clone */
832
+ PAD * oldcomppad ; /* needed to map itervar_u.svp during thread clone */
833
833
#endif
834
834
};
835
835
@@ -863,33 +863,33 @@ struct block_loop {
863
863
864
864
/* given/when context */
865
865
struct block_givwhen {
866
- OP * leave_op ;
867
- SV * defsv_save ; /* the original $_ */
866
+ OP * leave_op ;
867
+ SV * defsv_save ; /* the original $_ */
868
868
};
869
869
870
870
871
871
872
872
/* context common to subroutines, evals and loops */
873
873
struct block {
874
- U8 blku_type ; /* what kind of context this is */
875
- U8 blku_gimme ; /* is this block running in list context? */
876
- U16 blku_u16 ; /* used by block_sub and block_eval (so far) */
877
- I32 blku_oldsaveix ; /* saved PL_savestack_ix */
874
+ U8 blku_type ; /* what kind of context this is */
875
+ U8 blku_gimme ; /* is this block running in list context? */
876
+ U16 blku_u16 ; /* used by block_sub and block_eval (so far) */
877
+ I32 blku_oldsaveix ; /* saved PL_savestack_ix */
878
878
/* all the fields above must be aligned with same-sized fields as sbu */
879
- I32 blku_oldsp ; /* current sp floor: where nextstate pops to */
880
- I32 blku_oldmarksp ; /* mark stack index */
881
- COP * blku_oldcop ; /* old curcop pointer */
882
- PMOP * blku_oldpm ; /* values of pattern match vars */
883
- SSize_t blku_old_tmpsfloor ; /* saved PL_tmps_floor */
884
- I32 blku_oldscopesp ; /* scope stack index */
879
+ I32 blku_oldsp ; /* current sp floor: where nextstate pops to */
880
+ I32 blku_oldmarksp ; /* mark stack index */
881
+ COP * blku_oldcop ; /* old curcop pointer */
882
+ PMOP * blku_oldpm ; /* values of pattern match vars */
883
+ SSize_t blku_old_tmpsfloor ; /* saved PL_tmps_floor */
884
+ I32 blku_oldscopesp ; /* scope stack index */
885
885
886
886
union {
887
887
struct block_sub blku_sub ;
888
888
struct block_format blku_format ;
889
889
struct block_eval blku_eval ;
890
890
struct block_loop blku_loop ;
891
891
struct block_givwhen blku_givwhen ;
892
- } blk_u ;
892
+ } blk_u ;
893
893
};
894
894
#define blk_oldsp cx_u.cx_blk.blku_oldsp
895
895
#define blk_oldcop cx_u.cx_blk.blku_oldcop
@@ -922,21 +922,21 @@ struct block {
922
922
923
923
/* substitution context */
924
924
struct subst {
925
- U8 sbu_type ; /* same as blku_type */
926
- U8 sbu_rflags ;
927
- U16 sbu_rxtainted ;
928
- I32 sbu_oldsaveix ; /* same as blku_oldsaveix */
925
+ U8 sbu_type ; /* same as blku_type */
926
+ U8 sbu_rflags ;
927
+ U16 sbu_rxtainted ;
928
+ I32 sbu_oldsaveix ; /* same as blku_oldsaveix */
929
929
/* all the fields above must be aligned with same-sized fields as blk_u */
930
- SSize_t sbu_iters ;
931
- SSize_t sbu_maxiters ;
932
- char * sbu_orig ;
933
- SV * sbu_dstr ;
934
- SV * sbu_targ ;
935
- char * sbu_s ;
936
- char * sbu_m ;
937
- char * sbu_strend ;
938
- void * sbu_rxres ;
939
- REGEXP * sbu_rx ;
930
+ SSize_t sbu_iters ;
931
+ SSize_t sbu_maxiters ;
932
+ char * sbu_orig ;
933
+ SV * sbu_dstr ;
934
+ SV * sbu_targ ;
935
+ char * sbu_s ;
936
+ char * sbu_m ;
937
+ char * sbu_strend ;
938
+ void * sbu_rxres ;
939
+ REGEXP * sbu_rx ;
940
940
};
941
941
942
942
#ifdef PERL_CORE
@@ -992,7 +992,7 @@ struct context {
992
992
union {
993
993
struct block cx_blk ;
994
994
struct subst cx_subst ;
995
- } cx_u ;
995
+ } cx_u ;
996
996
};
997
997
#define cx_type cx_u.cx_subst.sbu_type
998
998
@@ -1132,10 +1132,10 @@ struct context {
1132
1132
#define PERLSI_REGCOMP 11
1133
1133
1134
1134
struct stackinfo {
1135
- AV * si_stack ; /* stack for current runlevel */
1136
- PERL_CONTEXT * si_cxstack ; /* context stack for runlevel */
1137
- struct stackinfo * si_prev ;
1138
- struct stackinfo * si_next ;
1135
+ AV * si_stack ; /* stack for current runlevel */
1136
+ PERL_CONTEXT * si_cxstack ; /* context stack for runlevel */
1137
+ struct stackinfo * si_prev ;
1138
+ struct stackinfo * si_next ;
1139
1139
I32 si_cxix ; /* current context index */
1140
1140
I32 si_cxmax ; /* maximum allocated index */
1141
1141
I32 si_cxsubix ; /* topmost sub/eval/format */
@@ -1144,7 +1144,7 @@ struct stackinfo {
1144
1144
* currently used only with DEBUGGING,
1145
1145
* but not #ifdef-ed for bincompat */
1146
1146
#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
1147
- /* high water mark: for checking if the stack was correctly extended /
1147
+ /* high water mark: for checking if the stack was correctly extended /
1148
1148
* tested for extension by each pp function */
1149
1149
SSize_t si_stack_hwm ;
1150
1150
#endif
0 commit comments