mirror of
https://github.com/johnkerl/miller.git
synced 2026-07-22 07:30:43 +00:00
minor neaten/optimization of localvar read
This commit is contained in:
parent
5a3466aebf
commit
c3f314b7cf
2 changed files with 13 additions and 33 deletions
|
|
@ -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)
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue