Changeset 2765 for trunk/src/kmk/variable.c
- Timestamp:
- Jan 30, 2015, 1:27:51 AM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/kmk/variable.c
r2758 r2765 41 41 #ifdef CONFIG_WITH_STRCACHE2 42 42 # include <stddef.h> 43 #endif 44 #ifdef CONFIG_WITH_COMPILER 45 # include "kmk_cc_exec.h" 43 46 #endif 44 47 … … 383 386 v->origin = origin; 384 387 v->recursive = recursive; 385 MAKE_STATS_2(v->changes++); 388 MAKE_STATS_2(v->changes++); 389 #ifdef CONFIG_WITH_COMPILER 390 if (v->evalprog || v->expandprog) 391 kmk_cc_variable_changed (v); 392 #endif 386 393 } 387 394 return v; … … 445 452 #endif 446 453 v->export = v_default; 454 #ifdef CONFIG_WITH_COMPILER 455 v->evalprog = 0; 456 v->expandprog = 0; 457 v->evalval_count = 0; 458 v->expand_count = 0; 459 #else 460 MAKE_STATS_2(v->expand_count = 0); 461 MAKE_STATS_2(v->evalval_count = 0); 462 #endif 447 463 MAKE_STATS_2(v->changes = 0); 448 464 MAKE_STATS_2(v->reallocs = 0); 449 465 MAKE_STATS_2(v->references = 0); 450 MAKE_STATS_2(v->cEvalVals = 0);451 466 MAKE_STATS_2(v->cTicksEvalVal = 0); 452 467 … … 589 604 free (v->value); 590 605 MAKE_STATS_2(v->changes++); 606 #ifdef CONFIG_WITH_COMPILER 607 if (v->evalprog || v->expandprog) 608 kmk_cc_variable_changed (v); 609 #endif 591 610 } 592 611 else … … 605 624 v->aliased = 0; 606 625 v->export = v_default; 626 #ifdef CONFIG_WITH_COMPILER 627 v->evalprog = 0; 628 v->expandprog = 0; 629 v->evalval_count = 0; 630 v->expand_count = 0; 631 #else 632 MAKE_STATS_2(v->expand_count = 0); 633 MAKE_STATS_2(v->evalval_count = 0); 634 #endif 607 635 MAKE_STATS_2(v->changes = 0); 608 636 MAKE_STATS_2(v->reallocs = 0); 609 637 MAKE_STATS_2(v->references = 0); 610 MAKE_STATS_2(v->cEvalVals = 0);611 638 MAKE_STATS_2(v->cTicksEvalVal = 0); 612 639 v->exportable = 1; … … 1242 1269 #ifndef CONFIG_WITH_STRCACHE2 1243 1270 free (v->name); 1271 #endif 1272 #ifdef CONFIG_WITH_COMPILER 1273 if (v->evalprog || v->expandprog) 1274 kmk_cc_variable_deleted (v); 1244 1275 #endif 1245 1276 #ifdef CONFIG_WITH_RDONLY_VARIABLE_VALUE … … 1362 1393 if (from_var->alias) 1363 1394 fatal(NULL, ("Attempting to delete variable aliased '%s'"), from_var->name); 1395 #endif 1396 #ifdef CONFIG_WITH_COMPILER 1397 if (from_var->evalprog || from_var->expandprog) 1398 kmk_cc_variable_deleted (from_var); 1364 1399 #endif 1365 1400 #ifdef CONFIG_WITH_RDONLY_VARIABLE_VALUE … … 2335 2370 free (free_value); 2336 2371 MAKE_STATS_2(v->changes++); 2372 # ifdef CONFIG_WITH_COMPILER 2373 if (v->evalprog || v->expandprog) 2374 kmk_cc_variable_changed (v); 2375 # endif 2337 2376 return v; 2338 2377 #else /* !CONFIG_WITH_VALUE_LENGTH */ … … 2765 2804 2766 2805 2806 #if defined (CONFIG_WITH_COMPILER) || defined (CONFIG_WITH_MAKE_STATS) 2807 static unsigned long var_stats_evalvals, var_stats_evalvaled; 2808 static unsigned long var_stats_expands, var_stats_expanded; 2809 #endif 2767 2810 #ifdef CONFIG_WITH_MAKE_STATS 2768 2811 static unsigned long var_stats_changes, var_stats_changed; 2769 2812 static unsigned long var_stats_reallocs, var_stats_realloced; 2770 2813 static unsigned long var_stats_references, var_stats_referenced; 2771 static unsigned long var_stats_evalvals, var_stats_evalvaled;2772 static uintmax_t var_stats_evalval_ticks;2773 2814 static unsigned long var_stats_val_len, var_stats_val_alloc_len; 2774 2815 static unsigned long var_stats_val_rdonly_len; … … 2838 2879 #endif /* KMK */ 2839 2880 2881 #if defined (CONFIG_WITH_COMPILER) || defined (CONFIG_WITH_MAKE_STATS) 2882 if (v->evalval_count != 0) 2883 # ifdef CONFIG_WITH_MAKE_STATS 2884 printf (_(", %u evalvals (%llu ticks)"), v->evalval_count, v->cTicksEvalVal); 2885 # else 2886 printf (_(", %u evalvals"), v->evalval_count); 2887 # endif 2888 var_stats_evalvals += v->evalval_count; 2889 var_stats_evalvaled += (v->evalval_count != 0); 2890 2891 if (v->expand_count != 0) 2892 printf (_(", %u expands"), v->expand_count); 2893 var_stats_expands += v->expand_count; 2894 var_stats_expanded += (v->expand_count != 0); 2895 # ifdef CONFIG_WITH_COMPILER 2896 if (v->evalprog != 0) 2897 printf (_(", evalprog")); 2898 if (v->expandprog != 0) 2899 printf (_(", expandprog")); 2900 # endif 2901 #endif 2902 2840 2903 #ifdef CONFIG_WITH_MAKE_STATS 2841 2904 if (v->changes != 0) 2842 2905 printf (_(", %u changes"), v->changes); 2843 2906 var_stats_changes += v->changes; 2844 2907 var_stats_changed += (v->changes != 0); 2845 2908 2846 2909 if (v->reallocs != 0) 2847 2910 printf (_(", %u reallocs"), v->reallocs); 2848 2911 var_stats_reallocs += v->reallocs; 2849 2912 var_stats_realloced += (v->reallocs != 0); 2850 2913 2851 2914 if (v->references != 0) 2852 2915 printf (_(", %u references"), v->references); 2853 2916 var_stats_references += v->references; 2854 2917 var_stats_referenced += (v->references != 0); 2855 2856 if (v->cEvalVals != 0)2857 //printf (_(", %u evalvals (%llu ticks)"), v->cEvalVals, v->cTicksEvalVal);2858 printf (_(", %u evalvals (%llu ms)"), v->cEvalVals, v->cTicksEvalVal / 3299998);2859 var_stats_evalvals += v->cEvalVals;2860 var_stats_evalvaled += (v->cEvalVals != 0);2861 2918 2862 2919 var_stats_val_len += v->value_length; … … 2914 2971 print_variable_set (struct variable_set *set, char *prefix) 2915 2972 { 2973 #if defined (CONFIG_WITH_COMPILER) || defined (CONFIG_WITH_MAKE_STATS) 2974 var_stats_expands = var_stats_expanded = var_stats_evalvals 2975 = var_stats_evalvaled = 0; 2976 #endif 2916 2977 #ifdef CONFIG_WITH_MAKE_STATS 2917 2978 var_stats_changes = var_stats_changed = var_stats_reallocs … … 2919 2980 = var_stats_val_len = var_stats_val_alloc_len 2920 2981 = var_stats_val_rdonly_len = 0; 2982 #endif 2921 2983 2922 2984 hash_map_arg (&set->table, print_variable, prefix); … … 2924 2986 if (set->table.ht_fill) 2925 2987 { 2988 #ifdef CONFIG_WITH_MAKE_STATS 2926 2989 unsigned long fragmentation; 2927 2990 … … 2953 3016 (unsigned int)((100.0 * var_stats_referenced) / set->table.ht_fill), 2954 3017 var_stats_references); 3018 #endif 3019 #if defined (CONFIG_WITH_COMPILER) || defined (CONFIG_WITH_MAKE_STATS) 3020 if (var_stats_evalvals) 3021 printf(_("# evalvaled %5lu (%2u%%), evalval calls %6lu\n"), 3022 var_stats_evalvaled, 3023 (unsigned int)((100.0 * var_stats_evalvaled) / set->table.ht_fill), 3024 var_stats_evalvals); 3025 if (var_stats_expands) 3026 printf(_("# expanded %5lu (%2u%%), expands %6lu\n"), 3027 var_stats_expanded, 3028 (unsigned int)((100.0 * var_stats_expanded) / set->table.ht_fill), 3029 var_stats_expands); 3030 #endif 2955 3031 } 2956 #else2957 hash_map_arg (&set->table, print_variable, prefix);2958 #endif2959 3032 2960 3033 fputs (_("# variable set hash-table stats:\n"), stdout);
Note:
See TracChangeset
for help on using the changeset viewer.