CallNode* cn = CALL_(node);
Node* called = NODE_CALL_BODY(cn);
+ cn->entry_count++;
+
NODE_STATUS_ADD(called, NST_CALLED);
ENCLOSURE_(called)->entry_count++;
setup_call2_call(called, env);
break;
case NODE_CALL:
- if ((state & IN_ZERO) != 0)
+ if ((state & IN_ZERO) != 0) {
NODE_STATUS_ADD(node, NST_IN_ZERO);
+ CALL_(node)->entry_count--;
+ }
r = setup_call_node_call(CALL_(node), env, state);
break;
CHECK_NULL_RETURN(node);
SET_NODE_TYPE(node, NODE_CALL);
- CALL_(node)->name = name;
- CALL_(node)->name_end = name_end;
- CALL_(node)->group_num = gnum; /* call by number if gnum != 0 */
+ CALL_(node)->name = name;
+ CALL_(node)->name_end = name_end;
+ CALL_(node)->group_num = gnum; /* call by number if gnum != 0 */
+ CALL_(node)->entry_count = 1;
return node;
}
#endif