@@ -867,7 +867,6 @@ pm_compile_logical(rb_iseq_t *iseq, LINK_ANCHOR *const ret, pm_node_t *cond, LAB
867
867
const pm_node_location_t location = PM_NODE_START_LOCATION (scope_node -> parser , cond );
868
868
869
869
DECL_ANCHOR (seq );
870
- INIT_ANCHOR (seq );
871
870
872
871
LABEL * label = NEW_LABEL (location .line );
873
872
if (!then_label ) then_label = label ;
@@ -1000,7 +999,6 @@ pm_compile_branch_condition(rb_iseq_t *iseq, LINK_ANCHOR *const ret, const pm_no
1000
999
}
1001
1000
default : {
1002
1001
DECL_ANCHOR (cond_seq );
1003
- INIT_ANCHOR (cond_seq );
1004
1002
pm_compile_node (iseq , cond , cond_seq , false, scope_node );
1005
1003
1006
1004
if (LIST_INSN_SIZE_ONE (cond_seq )) {
@@ -1040,7 +1038,6 @@ pm_compile_conditional(rb_iseq_t *iseq, const pm_node_location_t *node_location,
1040
1038
LABEL * end_label = NULL ;
1041
1039
1042
1040
DECL_ANCHOR (cond_seq );
1043
- INIT_ANCHOR (cond_seq );
1044
1041
pm_compile_branch_condition (iseq , cond_seq , predicate , then_label , else_label , false, scope_node );
1045
1042
PUSH_SEQ (ret , cond_seq );
1046
1043
@@ -1056,7 +1053,6 @@ pm_compile_conditional(rb_iseq_t *iseq, const pm_node_location_t *node_location,
1056
1053
PUSH_LABEL (ret , then_label );
1057
1054
1058
1055
DECL_ANCHOR (then_seq );
1059
- INIT_ANCHOR (then_seq );
1060
1056
1061
1057
if (statements != NULL ) {
1062
1058
pm_compile_node (iseq , (const pm_node_t * ) statements , then_seq , popped , scope_node );
@@ -1097,7 +1093,6 @@ pm_compile_conditional(rb_iseq_t *iseq, const pm_node_location_t *node_location,
1097
1093
PUSH_LABEL (ret , else_label );
1098
1094
1099
1095
DECL_ANCHOR (else_seq );
1100
- INIT_ANCHOR (else_seq );
1101
1096
1102
1097
if (subsequent != NULL ) {
1103
1098
pm_compile_node (iseq , subsequent , else_seq , popped , scope_node );
@@ -1389,7 +1384,6 @@ pm_compile_hash_elements(rb_iseq_t *iseq, const pm_node_t *node, const pm_node_l
1389
1384
bool static_literal = false;
1390
1385
1391
1386
DECL_ANCHOR (anchor );
1392
- INIT_ANCHOR (anchor );
1393
1387
1394
1388
// Convert pushed elements to a hash, and merge if needed.
1395
1389
#define FLUSH_CHUNK \
@@ -1933,7 +1927,6 @@ pm_setup_args(const pm_arguments_node_t *arguments_node, const pm_node_t *block,
1933
1927
}
1934
1928
1935
1929
DECL_ANCHOR (block_arg );
1936
- INIT_ANCHOR (block_arg );
1937
1930
pm_compile_node (iseq , block , block_arg , false, scope_node );
1938
1931
1939
1932
* flags |= VM_CALL_ARGS_BLOCKARG ;
@@ -2832,7 +2825,6 @@ pm_compile_pattern(rb_iseq_t *iseq, pm_scope_node_t *scope_node, const pm_node_t
2832
2825
2833
2826
if (has_keys ) {
2834
2827
DECL_ANCHOR (match_values );
2835
- INIT_ANCHOR (match_values );
2836
2828
2837
2829
for (size_t index = 0 ; index < cast -> elements .size ; index ++ ) {
2838
2830
const pm_node_t * element = cast -> elements .nodes [index ];
@@ -3577,7 +3569,6 @@ retry:;
3577
3569
// fprintf(stderr, "func_name:%s -> %p\n", builtin_func, bf->func_ptr);
3578
3570
3579
3571
DECL_ANCHOR (args_seq );
3580
- INIT_ANCHOR (args_seq );
3581
3572
3582
3573
int flags = 0 ;
3583
3574
struct rb_callinfo_kwarg * keywords = NULL ;
@@ -4156,13 +4147,11 @@ pm_add_ensure_iseq(LINK_ANCHOR *const ret, rb_iseq_t *iseq, int is_return, pm_sc
4156
4147
struct iseq_compile_data_ensure_node_stack * prev_enlp = enlp ;
4157
4148
DECL_ANCHOR (ensure );
4158
4149
4159
- INIT_ANCHOR (ensure );
4160
4150
while (enlp ) {
4161
4151
if (enlp -> erange != NULL ) {
4162
4152
DECL_ANCHOR (ensure_part );
4163
4153
LABEL * lstart = NEW_LABEL (0 );
4164
4154
LABEL * lend = NEW_LABEL (0 );
4165
- INIT_ANCHOR (ensure_part );
4166
4155
4167
4156
add_ensure_range (iseq , enlp -> erange , lstart , lend );
4168
4157
@@ -4853,10 +4842,7 @@ pm_compile_for_node_index(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *c
4853
4842
// owning expression of this target, then retrieve the value, expand it,
4854
4843
// and then compile the necessary writes.
4855
4844
DECL_ANCHOR (writes );
4856
- INIT_ANCHOR (writes );
4857
-
4858
4845
DECL_ANCHOR (cleanup );
4859
- INIT_ANCHOR (cleanup );
4860
4846
4861
4847
pm_multi_target_state_t state = { 0 };
4862
4848
state .position = 1 ;
@@ -4873,10 +4859,7 @@ pm_compile_for_node_index(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *c
4873
4859
}
4874
4860
case PM_MULTI_TARGET_NODE : {
4875
4861
DECL_ANCHOR (writes );
4876
- INIT_ANCHOR (writes );
4877
-
4878
4862
DECL_ANCHOR (cleanup );
4879
- INIT_ANCHOR (cleanup );
4880
4863
4881
4864
pm_compile_target_node (iseq , node , ret , writes , cleanup , scope_node , NULL );
4882
4865
@@ -4994,7 +4977,6 @@ pm_compile_ensure(rb_iseq_t *iseq, const pm_begin_node_t *cast, const pm_node_lo
4994
4977
struct ensure_range * erange ;
4995
4978
4996
4979
DECL_ANCHOR (ensr );
4997
- INIT_ANCHOR (ensr );
4998
4980
if (statements != NULL ) {
4999
4981
pm_compile_node (iseq , (const pm_node_t * ) statements , ensr , true, scope_node );
5000
4982
}
@@ -5329,7 +5311,6 @@ pm_compile_shareable_constant_value(rb_iseq_t *iseq, const pm_node_t *node, cons
5329
5311
}
5330
5312
default : {
5331
5313
DECL_ANCHOR (value_seq );
5332
- INIT_ANCHOR (value_seq );
5333
5314
5334
5315
pm_compile_node (iseq , node , value_seq , false, scope_node );
5335
5316
if (PM_NODE_TYPE_P (node , PM_INTERPOLATED_STRING_NODE )) {
@@ -7125,13 +7106,11 @@ pm_compile_case_node(rb_iseq_t *iseq, const pm_case_node_t *cast, const pm_node_
7125
7106
// `when` nodes into. If a match is found, they will need to jump into
7126
7107
// the body_seq anchor to the correct spot.
7127
7108
DECL_ANCHOR (cond_seq );
7128
- INIT_ANCHOR (cond_seq );
7129
7109
7130
7110
// This is the anchor that we will compile the bodies of the various
7131
7111
// `when` nodes into. We'll make sure that the clauses that are compiled
7132
7112
// jump into the correct spots within this anchor.
7133
7113
DECL_ANCHOR (body_seq );
7134
- INIT_ANCHOR (body_seq );
7135
7114
7136
7115
// This is the label where all of the when clauses will jump to if they
7137
7116
// have matched and are done executing their bodies.
@@ -7384,13 +7363,11 @@ pm_compile_case_match_node(rb_iseq_t *iseq, const pm_case_match_node_t *node, co
7384
7363
// `in` nodes into. We'll make sure that the patterns that are compiled
7385
7364
// jump into the correct spots within this anchor.
7386
7365
DECL_ANCHOR (body_seq );
7387
- INIT_ANCHOR (body_seq );
7388
7366
7389
7367
// This is the anchor that we will compile the patterns of the various
7390
7368
// `in` nodes into. If a match is found, they will need to jump into the
7391
7369
// body_seq anchor to the correct spot.
7392
7370
DECL_ANCHOR (cond_seq );
7393
- INIT_ANCHOR (cond_seq );
7394
7371
7395
7372
// This label is used to indicate the end of the entire node. It is
7396
7373
// jumped to after the entire stack is cleaned up.
@@ -7560,7 +7537,6 @@ pm_compile_forwarding_super_node(rb_iseq_t *iseq, const pm_forwarding_super_node
7560
7537
}
7561
7538
7562
7539
DECL_ANCHOR (args );
7563
- INIT_ANCHOR (args );
7564
7540
7565
7541
struct rb_iseq_constant_body * const body = ISEQ_BODY (iseq );
7566
7542
const rb_iseq_t * local_iseq = body -> local_iseq ;
@@ -7779,7 +7755,6 @@ pm_compile_match_write_node(rb_iseq_t *iseq, const pm_match_write_node_t *node,
7779
7755
}
7780
7756
7781
7757
DECL_ANCHOR (fail_anchor );
7782
- INIT_ANCHOR (fail_anchor );
7783
7758
7784
7759
// Otherwise there is more than one local variable target, so we'll need
7785
7760
// to do some bookkeeping.
@@ -8015,10 +7990,7 @@ pm_compile_rescue_node(rb_iseq_t *iseq, const pm_rescue_node_t *node, const pm_n
8015
7990
// depending on the kind of write being performed.
8016
7991
if (node -> reference ) {
8017
7992
DECL_ANCHOR (writes );
8018
- INIT_ANCHOR (writes );
8019
-
8020
7993
DECL_ANCHOR (cleanup );
8021
- INIT_ANCHOR (cleanup );
8022
7994
8023
7995
pm_compile_target_node (iseq , node -> reference , ret , writes , cleanup , scope_node , NULL );
8024
7996
PUSH_GETLOCAL (ret , * location , LVAR_ERRINFO , 0 );
@@ -8119,7 +8091,6 @@ static inline void
8119
8091
pm_compile_super_node (rb_iseq_t * iseq , const pm_super_node_t * node , const pm_node_location_t * location , LINK_ANCHOR * const ret , bool popped , pm_scope_node_t * scope_node )
8120
8092
{
8121
8093
DECL_ANCHOR (args );
8122
- INIT_ANCHOR (args );
8123
8094
8124
8095
LABEL * retry_label = NEW_LABEL (location -> line );
8125
8096
LABEL * retry_end_l = NEW_LABEL (location -> line );
@@ -8577,10 +8548,7 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
8577
8548
}
8578
8549
else {
8579
8550
DECL_ANCHOR (prefix );
8580
- INIT_ANCHOR (prefix );
8581
-
8582
8551
DECL_ANCHOR (body );
8583
- INIT_ANCHOR (body );
8584
8552
8585
8553
pm_compile_constant_path (iseq , node , prefix , body , popped , scope_node );
8586
8554
if (LIST_INSN_SIZE_ZERO (prefix )) {
@@ -9503,10 +9471,7 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
9503
9471
const pm_multi_write_node_t * cast = (const pm_multi_write_node_t * ) node ;
9504
9472
9505
9473
DECL_ANCHOR (writes );
9506
- INIT_ANCHOR (writes );
9507
-
9508
9474
DECL_ANCHOR (cleanup );
9509
- INIT_ANCHOR (cleanup );
9510
9475
9511
9476
pm_multi_target_state_t state = { 0 };
9512
9477
state .position = popped ? 0 : 1 ;
@@ -9626,11 +9591,9 @@ pm_compile_node(rb_iseq_t *iseq, const pm_node_t *node, LINK_ANCHOR *const ret,
9626
9591
// anchors and then join them in the correct order into the resulting
9627
9592
// anchor.
9628
9593
DECL_ANCHOR (inner_pre );
9629
- INIT_ANCHOR (inner_pre );
9630
9594
scope_node -> pre_execution_anchor = inner_pre ;
9631
9595
9632
9596
DECL_ANCHOR (inner_body );
9633
- INIT_ANCHOR (inner_body );
9634
9597
9635
9598
if (cast -> statements != NULL ) {
9636
9599
const pm_node_list_t * body = & cast -> statements -> body ;
@@ -10090,22 +10053,19 @@ VALUE
10090
10053
pm_iseq_compile_node (rb_iseq_t * iseq , pm_scope_node_t * node )
10091
10054
{
10092
10055
DECL_ANCHOR (ret );
10093
- INIT_ANCHOR (ret );
10094
10056
10095
10057
if (pm_iseq_pre_execution_p (iseq )) {
10096
10058
// Because these ISEQs can have BEGIN{}, we're going to create two
10097
10059
// anchors to compile them, a "pre" and a "body". We'll mark the "pre"
10098
10060
// on the scope node so that when BEGIN{} is found, its contents will be
10099
10061
// added to the "pre" anchor.
10100
10062
DECL_ANCHOR (pre );
10101
- INIT_ANCHOR (pre );
10102
10063
node -> pre_execution_anchor = pre ;
10103
10064
10104
10065
// Now we'll compile the body as normal. We won't compile directly into
10105
10066
// the "ret" anchor yet because we want to add the "pre" anchor to the
10106
10067
// beginning of the "ret" anchor first.
10107
10068
DECL_ANCHOR (body );
10108
- INIT_ANCHOR (body );
10109
10069
pm_compile_node (iseq , (const pm_node_t * ) node , body , false, node );
10110
10070
10111
10071
// Now we'll join both anchors together so that the content is in the
0 commit comments