34 result.cfg_blocks = cfg_result.cfg_blocks;
36 for (
auto& block : result.cfg_blocks) {
37 int current_stack = 0;
38 int min_stack_in_block = 0;
40 for (
int j = block.start_token_idx; j < block.end_token_idx; ++j) {
41 const auto& token = tokens[j];
44 int items_needed = behavior.arity;
45 if (current_stack < items_needed) {
47 std::max(min_stack_in_block, items_needed - current_stack);
50 current_stack += behavior.stack_effect;
53 block.stack_effect = current_stack;
54 block.min_stack_needed = min_stack_in_block;