Bug 1365460 - Make umax2s support only base 10. r?njn draft
authorMike Hommey <mh+mozilla@glandium.org>
Thu, 18 May 2017 16:22:10 +0900
changeset 580766 ac6414517a0aa7c98e017c14ddbb09287f9d8e4a
parent 580765 22d5bb26065d6fe488d218be881a89e1a93571a5
child 580767 afb91d21fcbeb407dc4db0106ba82993240dc1ba
push id59654
push userbmo:mh+mozilla@glandium.org
push dateThu, 18 May 2017 22:44:22 +0000
reviewersnjn
bugs1365460
milestone55.0a1
Bug 1365460 - Make umax2s support only base 10. r?njn Other bases are never used.
memory/mozjemalloc/mozjemalloc.cpp
--- a/memory/mozjemalloc/mozjemalloc.cpp
+++ b/memory/mozjemalloc/mozjemalloc.cpp
@@ -1135,45 +1135,27 @@ load_acquire_z(size_t *p)
 
 /*
  * umax2s() provides minimal integer printing functionality, which is
  * especially useful for situations where allocation in vsnprintf() calls would
  * potentially cause deadlock.
  */
 #define	UMAX2S_BUFSIZE	65
 char *
-umax2s(uintmax_t x, unsigned base, char *s)
+umax2s(uintmax_t x, char *s)
 {
 	unsigned i;
 
 	i = UMAX2S_BUFSIZE - 1;
 	s[i] = '\0';
-	switch (base) {
-	case 10:
-		do {
-			i--;
-			s[i] = "0123456789"[x % 10];
-			x /= 10;
-		} while (x > 0);
-		break;
-	case 16:
-		do {
-			i--;
-			s[i] = "0123456789abcdef"[x & 0xf];
-			x >>= 4;
-		} while (x > 0);
-		break;
-	default:
-		do {
-			i--;
-			s[i] = "0123456789abcdefghijklmnopqrstuvwxyz"[x % base];
-			x /= base;
-		} while (x > 0);
-	}
-
+	do {
+		i--;
+		s[i] = "0123456789"[x % 10];
+		x /= 10;
+	} while (x > 0);
 	return (&s[i]);
 }
 
 static void
 _malloc_message(const char *p1, const char *p2, const char *p3, const char *p4)
 {
 #if !defined(MOZ_MEMORY_WINDOWS)
 #define	_write	write
@@ -4454,30 +4436,30 @@ malloc_print_stats(void)
 		_malloc_message(opt_junk ? "J" : "j", "", "", "");
 		_malloc_message("P", "", "", "");
 #ifdef MALLOC_XMALLOC
 		_malloc_message(opt_xmalloc ? "X" : "x", "", "", "");
 #endif
 		_malloc_message(opt_zero ? "Z" : "z", "", "", "");
 		_malloc_message("\n", "", "", "");
 
-		_malloc_message("Max arenas: ", umax2s(narenas, 10, s), "\n",
+		_malloc_message("Max arenas: ", umax2s(narenas, s), "\n",
 		    "");
-		_malloc_message("Pointer size: ", umax2s(sizeof(void *), 10, s),
+		_malloc_message("Pointer size: ", umax2s(sizeof(void *), s),
 		    "\n", "");
-		_malloc_message("Quantum size: ", umax2s(quantum, 10, s), "\n",
+		_malloc_message("Quantum size: ", umax2s(quantum, s), "\n",
 		    "");
-		_malloc_message("Max small size: ", umax2s(small_max, 10, s),
+		_malloc_message("Max small size: ", umax2s(small_max, s),
 		    "\n", "");
 		_malloc_message("Max dirty pages per arena: ",
-		    umax2s(opt_dirty_max, 10, s), "\n", "");
-
-		_malloc_message("Chunk size: ", umax2s(chunksize, 10, s), "",
+		    umax2s(opt_dirty_max, s), "\n", "");
+
+		_malloc_message("Chunk size: ", umax2s(chunksize, s), "",
 		    "");
-		_malloc_message(" (2^", umax2s(opt_chunk_2pow, 10, s), ")\n",
+		_malloc_message(" (2^", umax2s(opt_chunk_2pow, s), ")\n",
 		    "");
 
 		{
 			size_t allocated, mapped = 0;
 			unsigned i;
 			arena_t *arena;
 
 			/* Calculate and print allocated/mapped stats. */