[YARP] Avoid if-else in yp_compile_node (#8336)
Move last node case outside for loop.
This commit is contained in:
parent
b90457b210
commit
ace41c556a
Notes:
git
2023-08-31 17:00:40 +00:00
Merged-By: jemmaissroff
@ -1319,14 +1319,10 @@ yp_compile_node(rb_iseq_t *iseq, const yp_node_t *node, LINK_ANCHOR *const ret,
|
|||||||
case YP_NODE_STATEMENTS_NODE: {
|
case YP_NODE_STATEMENTS_NODE: {
|
||||||
yp_statements_node_t *statements_node = (yp_statements_node_t *) node;
|
yp_statements_node_t *statements_node = (yp_statements_node_t *) node;
|
||||||
yp_node_list_t node_list = statements_node->body;
|
yp_node_list_t node_list = statements_node->body;
|
||||||
for (size_t index = 0; index < node_list.size; index++) {
|
for (size_t index = 0; index < node_list.size - 1; index++) {
|
||||||
if (!popped && (index != node_list.size - 1)) {
|
yp_compile_node(iseq, node_list.nodes[index], ret, src, !popped, compile_context);
|
||||||
yp_compile_node(iseq, node_list.nodes[index], ret, src, true, compile_context);
|
|
||||||
}
|
|
||||||
else {
|
|
||||||
yp_compile_node(iseq, node_list.nodes[index], ret, src, false, compile_context);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
yp_compile_node(iseq, node_list.nodes[node_list.size - 1], ret, src, false, compile_context);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
case YP_NODE_STRING_CONCAT_NODE: {
|
case YP_NODE_STRING_CONCAT_NODE: {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user