31
31
*/
32
32
33
33
struct jmpenv {
34
- struct jmpenv * je_prev ;
35
- Sigjmp_buf je_buf ; /* uninit if je_prev is NULL */
36
- int je_ret ; /* last exception thrown */
37
- bool je_mustcatch ; /* longjmp()s must be caught locally */
38
- U16 je_old_delaymagic ; /* saved PL_delaymagic */
39
- SSize_t je_old_stack_hwm ;
34
+ struct jmpenv * je_prev ;
35
+ Sigjmp_buf je_buf ; /* uninit if je_prev is NULL */
36
+ int je_ret ; /* last exception thrown */
37
+ bool je_mustcatch ; /* longjmp()s must be caught locally */
38
+ U16 je_old_delaymagic ; /* saved PL_delaymagic */
39
+ SSize_t je_old_stack_hwm ;
40
40
};
41
41
42
42
typedef struct jmpenv JMPENV ;
@@ -427,23 +427,23 @@ struct cop {
427
427
BASEOP
428
428
/* On LP64 putting this here takes advantage of the fact that BASEOP isn't
429
429
an exact multiple of 8 bytes to save structure padding. */
430
- line_t cop_line ; /* line # of this command */
430
+ line_t cop_line ; /* line # of this command */
431
431
/* label for this construct is now stored in cop_hints_hash */
432
432
#ifdef USE_ITHREADS
433
- PADOFFSET cop_stashoff ; /* offset into PL_stashpad, for the package
434
- the line was compiled in */
435
- char * cop_file ; /* name of file this command is from */
433
+ PADOFFSET cop_stashoff ; /* offset into PL_stashpad, for the package
434
+ the line was compiled in */
435
+ char * cop_file ; /* name of file this command is from */
436
436
#else
437
- HV * cop_stash ; /* package line was compiled in */
438
- GV * cop_filegv ; /* name of GV file this command is from */
437
+ HV * cop_stash ; /* package line was compiled in */
438
+ GV * cop_filegv ; /* name of GV file this command is from */
439
439
#endif
440
- U32 cop_hints ; /* hints bits from pragmata */
441
- U32 cop_seq ; /* parse sequence number */
440
+ U32 cop_hints ; /* hints bits from pragmata */
441
+ U32 cop_seq ; /* parse sequence number */
442
442
/* Beware. mg.c and warnings.pl assume the type of this is STRLEN *: */
443
- STRLEN * cop_warnings ; /* lexical warnings bitmask */
443
+ STRLEN * cop_warnings ; /* lexical warnings bitmask */
444
444
/* compile time state of %^H. See the comment in op.c for how
445
445
this is used to recreate a hash to return from caller. */
446
- COPHH * cop_hints_hash ;
446
+ COPHH * cop_hints_hash ;
447
447
/* for now just a bitmask stored here. If we get sufficient features
448
448
this may become a pointer. How these flags are stored is subject
449
449
to change without notice. Use the macros to test for features.
@@ -697,27 +697,27 @@ returned label, by setting C<*flags> to 0 or C<SVf_UTF8>.
697
697
698
698
/* subroutine context */
699
699
struct block_sub {
700
- OP * retop ; /* op to execute on exit from sub */
701
- I32 old_cxsubix ; /* previous value of si_cxsubix */
700
+ OP * retop ; /* op to execute on exit from sub */
701
+ I32 old_cxsubix ; /* previous value of si_cxsubix */
702
702
/* Above here is the same for sub, format and eval. */
703
- PAD * prevcomppad ; /* the caller's PL_comppad */
704
- CV * cv ;
703
+ PAD * prevcomppad ; /* the caller's PL_comppad */
704
+ CV * cv ;
705
705
/* Above here is the same for sub and format. */
706
- I32 olddepth ;
707
- AV * savearray ;
706
+ I32 olddepth ;
707
+ AV * savearray ;
708
708
};
709
709
710
710
711
711
/* format context */
712
712
struct block_format {
713
- OP * retop ; /* op to execute on exit from sub */
714
- I32 old_cxsubix ; /* previous value of si_cxsubix */
713
+ OP * retop ; /* op to execute on exit from sub */
714
+ I32 old_cxsubix ; /* previous value of si_cxsubix */
715
715
/* Above here is the same for sub, format and eval. */
716
- PAD * prevcomppad ; /* the caller's PL_comppad */
717
- CV * cv ;
716
+ PAD * prevcomppad ; /* the caller's PL_comppad */
717
+ CV * cv ;
718
718
/* Above here is the same for sub and format. */
719
- GV * gv ;
720
- GV * dfoutgv ;
719
+ GV * gv ;
720
+ GV * dfoutgv ;
721
721
};
722
722
723
723
/* return a pointer to the current context */
@@ -771,14 +771,14 @@ struct block_format {
771
771
772
772
/* eval context */
773
773
struct block_eval {
774
- OP * retop ; /* op to execute on exit from eval */
775
- I32 old_cxsubix ; /* previous value of si_cxsubix */
774
+ OP * retop ; /* op to execute on exit from eval */
775
+ I32 old_cxsubix ; /* previous value of si_cxsubix */
776
776
/* Above here is the same for sub, format and eval. */
777
- SV * old_namesv ;
778
- OP * old_eval_root ;
779
- SV * cur_text ;
780
- CV * cv ;
781
- JMPENV * cur_top_env ; /* value of PL_top_env when eval CX created */
777
+ SV * old_namesv ;
778
+ OP * old_eval_root ;
779
+ SV * cur_text ;
780
+ CV * cv ;
781
+ JMPENV * cur_top_env ; /* value of PL_top_env when eval CX created */
782
782
};
783
783
784
784
/* If we ever need more than 512 op types, change the shift from 7. blku_gimme
@@ -793,32 +793,32 @@ struct block_eval {
793
793
794
794
/* loop context */
795
795
struct block_loop {
796
- LOOP * my_op ; /* My op, that contains redo, next and last ops. */
797
- union { /* different ways of locating the iteration variable */
798
- SV * * svp ; /* for lexicals: address of pad slot */
799
- GV * gv ; /* for package vars */
800
- } itervar_u ;
801
- SV * itersave ; /* the original iteration var */
796
+ LOOP * my_op ; /* My op, that contains redo, next and last ops. */
797
+ union { /* different ways of locating the iteration variable */
798
+ SV * * svp ; /* for lexicals: address of pad slot */
799
+ GV * gv ; /* for package vars */
800
+ } itervar_u ;
801
+ SV * itersave ; /* the original iteration var */
802
802
union {
803
803
struct { /* CXt_LOOP_ARY, C<for (@ary)> */
804
- AV * ary ; /* array being iterated over */
805
- IV ix ; /* index relative to base of array */
806
- } ary ;
804
+ AV * ary ; /* array being iterated over */
805
+ IV ix ; /* index relative to base of array */
806
+ } ary ;
807
807
struct { /* CXt_LOOP_LIST, C<for (list)> */
808
808
I32 basesp ; /* first element of list on stack */
809
- IV ix ; /* index relative to basesp */
810
- } stack ;
809
+ IV ix ; /* index relative to basesp */
810
+ } stack ;
811
811
struct { /* CXt_LOOP_LAZYIV, C<for (1..9)> */
812
- IV cur ;
813
- IV end ;
814
- } lazyiv ;
812
+ IV cur ;
813
+ IV end ;
814
+ } lazyiv ;
815
815
struct { /* CXt_LOOP_LAZYSV C<for ('a'..'z')> */
816
- SV * cur ;
817
- SV * end ; /* maxiumum value (or minimum in reverse) */
818
- } lazysv ;
819
- } state_u ;
816
+ SV * cur ;
817
+ SV * end ; /* maxiumum value (or minimum in reverse) */
818
+ } lazysv ;
819
+ } state_u ;
820
820
#ifdef USE_ITHREADS
821
- PAD * oldcomppad ; /* needed to map itervar_u.svp during thread clone */
821
+ PAD * oldcomppad ; /* needed to map itervar_u.svp during thread clone */
822
822
#endif
823
823
};
824
824
@@ -852,33 +852,33 @@ struct block_loop {
852
852
853
853
/* given/when context */
854
854
struct block_givwhen {
855
- OP * leave_op ;
856
- SV * defsv_save ; /* the original $_ */
855
+ OP * leave_op ;
856
+ SV * defsv_save ; /* the original $_ */
857
857
};
858
858
859
859
860
860
861
861
/* context common to subroutines, evals and loops */
862
862
struct block {
863
- U8 blku_type ; /* what kind of context this is */
864
- U8 blku_gimme ; /* is this block running in list context? */
865
- U16 blku_u16 ; /* used by block_sub and block_eval (so far) */
866
- I32 blku_oldsaveix ; /* saved PL_savestack_ix */
863
+ U8 blku_type ; /* what kind of context this is */
864
+ U8 blku_gimme ; /* is this block running in list context? */
865
+ U16 blku_u16 ; /* used by block_sub and block_eval (so far) */
866
+ I32 blku_oldsaveix ; /* saved PL_savestack_ix */
867
867
/* all the fields above must be aligned with same-sized fields as sbu */
868
- I32 blku_oldsp ; /* current sp floor: where nextstate pops to */
869
- I32 blku_oldmarksp ; /* mark stack index */
870
- COP * blku_oldcop ; /* old curcop pointer */
871
- PMOP * blku_oldpm ; /* values of pattern match vars */
872
- SSize_t blku_old_tmpsfloor ; /* saved PL_tmps_floor */
873
- I32 blku_oldscopesp ; /* scope stack index */
868
+ I32 blku_oldsp ; /* current sp floor: where nextstate pops to */
869
+ I32 blku_oldmarksp ; /* mark stack index */
870
+ COP * blku_oldcop ; /* old curcop pointer */
871
+ PMOP * blku_oldpm ; /* values of pattern match vars */
872
+ SSize_t blku_old_tmpsfloor ; /* saved PL_tmps_floor */
873
+ I32 blku_oldscopesp ; /* scope stack index */
874
874
875
875
union {
876
876
struct block_sub blku_sub ;
877
877
struct block_format blku_format ;
878
878
struct block_eval blku_eval ;
879
879
struct block_loop blku_loop ;
880
880
struct block_givwhen blku_givwhen ;
881
- } blk_u ;
881
+ } blk_u ;
882
882
};
883
883
#define blk_oldsp cx_u.cx_blk.blku_oldsp
884
884
#define blk_oldcop cx_u.cx_blk.blku_oldcop
@@ -911,21 +911,21 @@ struct block {
911
911
912
912
/* substitution context */
913
913
struct subst {
914
- U8 sbu_type ; /* same as blku_type */
915
- U8 sbu_rflags ;
916
- U16 sbu_rxtainted ;
917
- I32 sbu_oldsaveix ; /* same as blku_oldsaveix */
914
+ U8 sbu_type ; /* same as blku_type */
915
+ U8 sbu_rflags ;
916
+ U16 sbu_rxtainted ;
917
+ I32 sbu_oldsaveix ; /* same as blku_oldsaveix */
918
918
/* all the fields above must be aligned with same-sized fields as blk_u */
919
- SSize_t sbu_iters ;
920
- SSize_t sbu_maxiters ;
921
- char * sbu_orig ;
922
- SV * sbu_dstr ;
923
- SV * sbu_targ ;
924
- char * sbu_s ;
925
- char * sbu_m ;
926
- char * sbu_strend ;
927
- void * sbu_rxres ;
928
- REGEXP * sbu_rx ;
919
+ SSize_t sbu_iters ;
920
+ SSize_t sbu_maxiters ;
921
+ char * sbu_orig ;
922
+ SV * sbu_dstr ;
923
+ SV * sbu_targ ;
924
+ char * sbu_s ;
925
+ char * sbu_m ;
926
+ char * sbu_strend ;
927
+ void * sbu_rxres ;
928
+ REGEXP * sbu_rx ;
929
929
};
930
930
931
931
#ifdef PERL_CORE
@@ -981,7 +981,7 @@ struct context {
981
981
union {
982
982
struct block cx_blk ;
983
983
struct subst cx_subst ;
984
- } cx_u ;
984
+ } cx_u ;
985
985
};
986
986
#define cx_type cx_u.cx_subst.sbu_type
987
987
@@ -1121,10 +1121,10 @@ struct context {
1121
1121
#define PERLSI_REGCOMP 11
1122
1122
1123
1123
struct stackinfo {
1124
- AV * si_stack ; /* stack for current runlevel */
1125
- PERL_CONTEXT * si_cxstack ; /* context stack for runlevel */
1126
- struct stackinfo * si_prev ;
1127
- struct stackinfo * si_next ;
1124
+ AV * si_stack ; /* stack for current runlevel */
1125
+ PERL_CONTEXT * si_cxstack ; /* context stack for runlevel */
1126
+ struct stackinfo * si_prev ;
1127
+ struct stackinfo * si_next ;
1128
1128
I32 si_cxix ; /* current context index */
1129
1129
I32 si_cxmax ; /* maximum allocated index */
1130
1130
I32 si_cxsubix ; /* topmost sub/eval/format */
@@ -1134,7 +1134,7 @@ struct stackinfo {
1134
1134
* with DEBUGGING, but not
1135
1135
* #ifdef-ed for bincompat */
1136
1136
#if defined DEBUGGING && !defined DEBUGGING_RE_ONLY
1137
- /* high water mark: for checking if the stack was correctly
1137
+ /* high water mark: for checking if the stack was correctly
1138
1138
* extended / tested for extension by each pp function */
1139
1139
SSize_t si_stack_hwm ;
1140
1140
#endif
0 commit comments