Tweak VG_(machine_get_cache_info).
authorflorian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9>
Fri, 2 Nov 2012 21:36:39 +0000 (21:36 +0000)
committerflorian <florian@a5019735-40e9-0310-863c-91ae7b9d1cf9>
Fri, 2 Nov 2012 21:36:39 +0000 (21:36 +0000)
Better messages. Always write cache info when in debug mode.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@13099 a5019735-40e9-0310-863c-91ae7b9d1cf9

coregrind/m_cache.c

index eb7a84a5c713ca1ce3bb6aefac6631ffd9d14427..41ef04a51925c445d7c0fc50f0ed3e43a34586c9 100644 (file)
@@ -657,21 +657,29 @@ VG_(machine_get_cache_info)(VexArchInfo *vai)
 {
    Bool ok = get_cache_info(vai);
 
-   if (ok) ok = cache_info_is_sensible(&vai->hwcache_info);
+   VexCacheInfo *ci = &vai->hwcache_info;
 
    if (! ok) {
-      VexCacheInfo *ci = &vai->hwcache_info;
+      VG_(debugLog)(1, "cache", "Could not autodetect cache info\n");
+   } else {
+      ok = cache_info_is_sensible(ci);
 
-      VG_(debugLog)(1, "cache", "Autodetected cache info is not sensible\n");
+      if (! ok) {
+         VG_(debugLog)(1, "cache",
+                       "Autodetected cache info is not sensible\n");
+      } else {
+         VG_(debugLog)(1, "cache",
+                       "Autodetected cache info is sensible\n");
+      }
       write_cache_info(ci);  /* write out for debugging */
+   }
 
+   if (! ok ) {
       /* Reset cache info */
       ci->num_levels = 0;
       ci->num_caches = 0;
       VG_(free)(ci->caches);
       ci->caches = NULL;
-   } else {
-      VG_(debugLog)(1, "cache", "Autodetected cache info is sensible\n");
    }
 
    return ok;