[PRISM] Fix up frozen checks for aref
This commit is contained in:
parent
f5497203b6
commit
b7ca4b1e2d
@ -4019,7 +4019,7 @@ pm_opt_aref_with_p(const rb_iseq_t *iseq, const pm_call_node_t *node)
|
|||||||
((const pm_arguments_node_t *) node->arguments)->arguments.size == 1 &&
|
((const pm_arguments_node_t *) node->arguments)->arguments.size == 1 &&
|
||||||
PM_NODE_TYPE_P(((const pm_arguments_node_t *) node->arguments)->arguments.nodes[0], PM_STRING_NODE) &&
|
PM_NODE_TYPE_P(((const pm_arguments_node_t *) node->arguments)->arguments.nodes[0], PM_STRING_NODE) &&
|
||||||
node->block == NULL &&
|
node->block == NULL &&
|
||||||
!frozen_string_literal_p(iseq) &&
|
!PM_NODE_FLAG_P(((const pm_arguments_node_t *) node->arguments)->arguments.nodes[0], PM_STRING_FLAGS_FROZEN) &&
|
||||||
ISEQ_COMPILE_DATA(iseq)->option->specialized_instruction
|
ISEQ_COMPILE_DATA(iseq)->option->specialized_instruction
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
@ -4038,7 +4038,7 @@ pm_opt_aset_with_p(const rb_iseq_t *iseq, const pm_call_node_t *node)
|
|||||||
((const pm_arguments_node_t *) node->arguments)->arguments.size == 2 &&
|
((const pm_arguments_node_t *) node->arguments)->arguments.size == 2 &&
|
||||||
PM_NODE_TYPE_P(((const pm_arguments_node_t *) node->arguments)->arguments.nodes[0], PM_STRING_NODE) &&
|
PM_NODE_TYPE_P(((const pm_arguments_node_t *) node->arguments)->arguments.nodes[0], PM_STRING_NODE) &&
|
||||||
node->block == NULL &&
|
node->block == NULL &&
|
||||||
!frozen_string_literal_p(iseq) &&
|
!PM_NODE_FLAG_P(((const pm_arguments_node_t *) node->arguments)->arguments.nodes[0], PM_STRING_FLAGS_FROZEN) &&
|
||||||
ISEQ_COMPILE_DATA(iseq)->option->specialized_instruction
|
ISEQ_COMPILE_DATA(iseq)->option->specialized_instruction
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user