diff --git a/c/containers/local_stack.h b/c/containers/local_stack.h index 2bfd8e0e3..e992865ba 100644 --- a/c/containers/local_stack.h +++ b/c/containers/local_stack.h @@ -76,12 +76,14 @@ local_stack_frame_t* local_stack_frame_enter(local_stack_frame_t* pframe); void local_stack_frame_exit(local_stack_frame_t* pframe); void local_stack_frame_throw_type_mismatch(local_stack_frame_entry_t* pentry, mv_t* pval); +// ---------------------------------------------------------------- static inline mv_t* local_stack_frame_get(local_stack_frame_t* pframe, int vardef_frame_relative_index) { LOCAL_STACK_TRACE(printf("LOCAL STACK FRAME %p GET %d\n", pframe, vardef_frame_relative_index)); LOCAL_STACK_BOUNDS_CHECK(pframe, "GET", FALSE, vardef_frame_relative_index); return &pframe->pvars[vardef_frame_relative_index].mlrval; } +// ---------------------------------------------------------------- static inline void local_stack_frame_define(local_stack_frame_t* pframe, char* variable_name, int vardef_frame_relative_index, int type_mask, mv_t val) { @@ -100,6 +102,7 @@ static inline void local_stack_frame_define(local_stack_frame_t* pframe, char* v pentry->mlrval = val; } +// ---------------------------------------------------------------- static inline void local_stack_frame_assign(local_stack_frame_t* pframe, int vardef_frame_relative_index, mv_t val) { LOCAL_STACK_TRACE(printf("LOCAL STACK FRAME %p SET %d\n", pframe, vardef_frame_relative_index)); LOCAL_STACK_BOUNDS_CHECK(pframe, "ASSIGN", TRUE, vardef_frame_relative_index); diff --git a/c/mapping/mlr_dsl_stack_allocate.c b/c/mapping/mlr_dsl_stack_allocate.c index e9deac588..7a9848962 100644 --- a/c/mapping/mlr_dsl_stack_allocate.c +++ b/c/mapping/mlr_dsl_stack_allocate.c @@ -402,10 +402,8 @@ static void pass_1_for_node(mlr_dsl_ast_node_t* pnode, stkalc_subframe_group_t* static void pass_1_for_local_definition(mlr_dsl_ast_node_t* pnode, stkalc_subframe_group_t* pframe_group, int* pmax_subframe_depth, int trace) { - // xxx node-type assert mlr_dsl_ast_node_t* pnamenode = pnode->pchildren->phead->pvvalue; - // xxx node-type assert mlr_dsl_ast_node_t* pvaluenode = pnode->pchildren->phead->pnext->pvvalue; pass_1_for_node(pvaluenode, pframe_group, pmax_subframe_depth, trace); // Do the LHS after the RHS, in case 'local nonesuch = nonesuch'