From c3f314b7cf7059445bc0e27fcadacbdf7cfaca4c Mon Sep 17 00:00:00 2001 From: John Kerl Date: Mon, 12 Dec 2016 21:30:42 -0500 Subject: [PATCH] minor neaten/optimization of localvar read --- c/containers/local_stack.c | 30 ------------------------------ c/containers/local_stack.h | 16 +++++++++++++--- 2 files changed, 13 insertions(+), 33 deletions(-) diff --git a/c/containers/local_stack.c b/c/containers/local_stack.c index bfd11032a..46ddf07f4 100644 --- a/c/containers/local_stack.c +++ b/c/containers/local_stack.c @@ -149,36 +149,6 @@ mv_t local_stack_frame_ref_terminal_from_indexed(local_stack_frame_t* pframe, } } -// ---------------------------------------------------------------- -mlhmmv_xvalue_t* local_stack_frame_ref_extended_from_nonindexed(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); - - local_stack_frame_entry_t* pentry = &pframe->pvars[vardef_frame_relative_index]; - mlhmmv_xvalue_t* pmvalue = &pentry->xvalue; - -#ifdef LOCAL_STACK_TRACE_ENABLE - // xxx needs an mlhmmv_xvalue_print - if (pmvalue == NULL) { - printf("VALUE IS NULL\n"); - } else if (pmvalue->is_terminal) { - char* s = mv_alloc_format_val(&pmvalue->terminal_mlrval); - printf("VALUE IS %s\n", s); - free(s); - } else if (pmvalue->pnext_level == NULL) { - LOCAL_STACK_TRACE(printf("VALUE IS EMPTY\n")); - } else { - printf("VALUE IS:\n"); - printf("PTR IS %p\n", pmvalue->pnext_level); - mlhmmv_level_print_stacked(pmvalue->pnext_level, 0, TRUE, TRUE, "", stdout); - } -#endif - - return pmvalue; -} - // ---------------------------------------------------------------- mlhmmv_xvalue_t* local_stack_frame_ref_extended_from_indexed(local_stack_frame_t* pframe, int vardef_frame_relative_index, sllmv_t* pmvkeys) diff --git a/c/containers/local_stack.h b/c/containers/local_stack.h index 14219307d..fa8572f5a 100644 --- a/c/containers/local_stack.h +++ b/c/containers/local_stack.h @@ -118,13 +118,23 @@ static inline void local_stack_frame_assign_terminal_nonindexed(local_stack_fram pentry->xvalue = mlhmmv_xvalue_wrap_terminal(val); // xxx deep-copy? } +// ---------------------------------------------------------------- +static inline mlhmmv_xvalue_t* local_stack_frame_ref_extended_from_nonindexed(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); + + local_stack_frame_entry_t* pentry = &pframe->pvars[vardef_frame_relative_index]; + mlhmmv_xvalue_t* pmvalue = &pentry->xvalue; + + return pmvalue; +} + // ---------------------------------------------------------------- mv_t local_stack_frame_ref_terminal_from_indexed(local_stack_frame_t* pframe, int vardef_frame_relative_index, sllmv_t* pmvkeys); -mlhmmv_xvalue_t* local_stack_frame_ref_extended_from_nonindexed(local_stack_frame_t* pframe, - int vardef_frame_relative_index); - mlhmmv_xvalue_t* local_stack_frame_ref_extended_from_indexed(local_stack_frame_t* pframe, int vardef_frame_relative_index, sllmv_t* pmvkeys);