void close_log_file( void ) { if( VFP(outfile) ) { fclose(outfile); } outfile = NULL; }
static void oi( char * psin ) { int len, w; char * ps = psin; if (!ps) return; len = (int)strlen(ps); if (len) { if( outfile == 0 ) { open_log_file(); } if( VFP(outfile) ) { char *tb; if (addsysdate) { tb = GetNxtBuf(); len = sprintf( tb, "%s - %s", get_date_time_stg(), ps ); ps = tb; } else if( addsystime ) { tb = GetNxtBuf(); len = sprintf( tb, "%s - %s", get_time_stg(), ps ); ps = tb; } w = (int)fwrite( ps, 1, len, outfile ); if( w != len ) { fclose(outfile); outfile = (FILE *)-1; sprtf("WARNING: Failed write to log file [%s] ...\n", logfile); exit(1); } else if (addflush) { fflush( outfile ); } } if( addstdout ) { fwrite( ps, 1, len, stderr ); /* 20170917 - Switch to using 'stderr' in place of 'stdout' */ } #ifdef ADD_LISTVIEW if (add2listview) { LVInsertItem(ps); } #endif /* ADD_LISTVIEW */ #ifdef ADD_SCREENOUT if (add2screen) { Add_String(ps); /* add string to screen list */ } #endif /* #ifdef ADD_SCREENOUT */ } }
#define SOFT(n) #define VFP(n) n #endif // __SOFTFP__ // registers enum { pd_nof_cpu_regs_frame_map = AARCH64_ONLY(33) NOT_AARCH64(16), // number of registers used during code emission pd_nof_caller_save_cpu_regs_frame_map = AARCH64_ONLY(27) NOT_AARCH64(10), // number of registers killed by calls pd_nof_cpu_regs_reg_alloc = AARCH64_ONLY(27) NOT_AARCH64(10), // number of registers that are visible to register allocator (including Rheap_base which is visible only if compressed pointers are not enabled) pd_nof_cpu_regs_linearscan = pd_nof_cpu_regs_frame_map, // number of registers visible to linear scan pd_nof_cpu_regs_processed_in_linearscan = pd_nof_cpu_regs_reg_alloc + 1, // number of registers processed in linear scan; includes LR as it is used as temporary register in c1_LIRGenerator_arm pd_first_cpu_reg = 0, pd_last_cpu_reg = pd_nof_cpu_regs_frame_map - 1, pd_nof_fpu_regs_frame_map = VFP(32) SOFT(0), // number of float registers used during code emission pd_nof_caller_save_fpu_regs_frame_map = VFP(32) SOFT(0), // number of float registers killed by calls pd_nof_fpu_regs_reg_alloc = AARCH64_ONLY(32) NOT_AARCH64(VFP(30) SOFT(0)), // number of float registers that are visible to register allocator pd_nof_fpu_regs_linearscan = pd_nof_fpu_regs_frame_map, // number of float registers visible to linear scan pd_first_fpu_reg = pd_nof_cpu_regs_frame_map, pd_last_fpu_reg = pd_first_fpu_reg + pd_nof_fpu_regs_frame_map - 1, pd_nof_xmm_regs_linearscan = 0, pd_nof_caller_save_xmm_regs = 0, pd_first_xmm_reg = -1, pd_last_xmm_reg = -1 }; // encoding of float value in debug info: enum {