Skip to content

Commit cf4740b

Browse files
committed
remove target param from basicblock_addop and cfg_builder_addop, use oparg instead
1 parent cdde94f commit cf4740b

File tree

1 file changed

+9
-21
lines changed

1 file changed

+9
-21
lines changed

Python/compile.c

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1280,30 +1280,20 @@ PyCompile_OpcodeStackEffect(int opcode, int oparg)
12801280
*/
12811281

12821282
static int
1283-
basicblock_addop(basicblock *b, int opcode, int oparg,
1284-
jump_target_label target, struct location loc)
1283+
basicblock_addop(basicblock *b, int opcode, int oparg, struct location loc)
12851284
{
12861285
assert(IS_WITHIN_OPCODE_RANGE(opcode));
12871286
assert(!IS_ASSEMBLER_OPCODE(opcode));
1288-
assert(HAS_ARG(opcode) || oparg == 0);
1287+
assert(HAS_ARG(opcode) || HAS_TARGET(opcode) || oparg == 0);
12891288
assert(0 <= oparg && oparg < (1 << 30));
1290-
assert(!IS_LABEL(target) ||
1291-
IS_JUMP_OPCODE(opcode) ||
1292-
IS_BLOCK_PUSH_OPCODE(opcode));
1293-
assert(oparg == 0 || !IS_LABEL(target));
12941289

12951290
int off = basicblock_next_instr(b);
12961291
if (off < 0) {
12971292
return 0;
12981293
}
12991294
struct instr *i = &b->b_instr[off];
13001295
i->i_opcode = opcode;
1301-
if (HAS_TARGET(opcode)) {
1302-
i->i_oparg = target.id;
1303-
}
1304-
else {
1305-
i->i_oparg = oparg;
1306-
}
1296+
i->i_oparg = oparg;
13071297
i->i_target = NULL;
13081298
i->i_loc = loc;
13091299

@@ -1336,20 +1326,19 @@ cfg_builder_maybe_start_new_block(cfg_builder *g)
13361326
}
13371327

13381328
static int
1339-
cfg_builder_addop(cfg_builder *g, int opcode, int oparg, jump_target_label target,
1340-
struct location loc)
1329+
cfg_builder_addop(cfg_builder *g, int opcode, int oparg, struct location loc)
13411330
{
13421331
if (cfg_builder_maybe_start_new_block(g) != 0) {
13431332
return -1;
13441333
}
1345-
return basicblock_addop(g->g_curblock, opcode, oparg, target, loc);
1334+
return basicblock_addop(g->g_curblock, opcode, oparg, loc);
13461335
}
13471336

13481337
static int
13491338
cfg_builder_addop_noarg(cfg_builder *g, int opcode, struct location loc)
13501339
{
13511340
assert(!HAS_ARG(opcode));
1352-
return cfg_builder_addop(g, opcode, 0, NO_LABEL, loc);
1341+
return cfg_builder_addop(g, opcode, 0, loc);
13531342
}
13541343

13551344
static Py_ssize_t
@@ -1561,15 +1550,15 @@ cfg_builder_addop_i(cfg_builder *g, int opcode, Py_ssize_t oparg, struct locatio
15611550
EXTENDED_ARG is used for 16, 24, and 32-bit arguments. */
15621551

15631552
int oparg_ = Py_SAFE_DOWNCAST(oparg, Py_ssize_t, int);
1564-
return cfg_builder_addop(g, opcode, oparg_, NO_LABEL, loc);
1553+
return cfg_builder_addop(g, opcode, oparg_, loc);
15651554
}
15661555

15671556
static int
15681557
cfg_builder_addop_j(cfg_builder *g, int opcode, jump_target_label target, struct location loc)
15691558
{
15701559
assert(IS_LABEL(target));
15711560
assert(IS_JUMP_OPCODE(opcode) || IS_BLOCK_PUSH_OPCODE(opcode));
1572-
return cfg_builder_addop(g, opcode, 0, target, loc);
1561+
return cfg_builder_addop(g, opcode, target.id, loc);
15731562
}
15741563

15751564

@@ -7406,8 +7395,7 @@ push_cold_blocks_to_end(cfg_builder *g, int code_flags) {
74067395
if (explicit_jump == NULL) {
74077396
return -1;
74087397
}
7409-
jump_target_label next_label = {b->b_next->b_label};
7410-
basicblock_addop(explicit_jump, JUMP, 0, next_label, NO_LOCATION);
7398+
basicblock_addop(explicit_jump, JUMP, b->b_next->b_label, NO_LOCATION);
74117399
explicit_jump->b_cold = 1;
74127400
explicit_jump->b_next = b->b_next;
74137401
b->b_next = explicit_jump;

0 commit comments

Comments
 (0)