diff --git a/lib/Support/Timer.cpp b/lib/Support/Timer.cpp
index 38a8b44..bea8164 100644
--- a/lib/Support/Timer.cpp
+++ b/lib/Support/Timer.cpp
@@ -93,15 +93,15 @@
   }
 }
 
-static inline long getMemUsage() {
+static inline size_t getMemUsage() {
   if (TrackSpace)
-    return (long)sys::Process::GetMallocUsage();
+    return sys::Process::GetMallocUsage();
   return 0;
 }
 
 struct TimeRecord {
   double Elapsed, UserTime, SystemTime;
-  long MemUsed;
+  size_t MemUsed;
 };
 
 static TimeRecord getTimeRecord(bool Start) {
@@ -111,7 +111,7 @@
   sys::TimeValue user(0,0);
   sys::TimeValue sys(0,0);
 
-  long MemUsed = 0;
+  size_t MemUsed = 0;
   if (Start) {
     sys::Process::GetTimeUsage(now,user,sys);
     MemUsed = getMemUsage();
@@ -171,7 +171,7 @@
 /// currently active timers, which will be printed when the timer group prints
 ///
 void Timer::addPeakMemoryMeasurement() {
-  long MemUsed = getMemUsage();
+  size_t MemUsed = getMemUsage();
 
   for (std::vector<Timer*>::iterator I = ActiveTimers.begin(),
          E = ActiveTimers.end(); I != E; ++I)
diff --git a/lib/System/Unix/Process.cpp b/lib/System/Unix/Process.cpp
index cccd3ff..1c1373e 100644
--- a/lib/System/Unix/Process.cpp
+++ b/lib/System/Unix/Process.cpp
@@ -47,7 +47,7 @@
 static char* som = reinterpret_cast<char*>(::sbrk(0));
 #endif
 
-uint64_t 
+size_t 
 Process::GetMallocUsage()
 {
 #if defined(HAVE_MALLINFO)
@@ -68,7 +68,7 @@
 #endif
 }
 
-uint64_t
+size_t
 Process::GetTotalMemoryUsage()
 {
 #if defined(HAVE_MALLINFO)
diff --git a/lib/System/Unix/Process.inc b/lib/System/Unix/Process.inc
index cccd3ff..1c1373e 100644
--- a/lib/System/Unix/Process.inc
+++ b/lib/System/Unix/Process.inc
@@ -47,7 +47,7 @@
 static char* som = reinterpret_cast<char*>(::sbrk(0));
 #endif
 
-uint64_t 
+size_t 
 Process::GetMallocUsage()
 {
 #if defined(HAVE_MALLINFO)
@@ -68,7 +68,7 @@
 #endif
 }
 
-uint64_t
+size_t
 Process::GetTotalMemoryUsage()
 {
 #if defined(HAVE_MALLINFO)
diff --git a/lib/System/Win32/Process.cpp b/lib/System/Win32/Process.cpp
index dc46641..392bac2 100644
--- a/lib/System/Win32/Process.cpp
+++ b/lib/System/Win32/Process.cpp
@@ -51,7 +51,7 @@
   return PageSize;
 }
 
-uint64_t 
+size_t 
 Process::GetMallocUsage()
 {
   _HEAPINFO hinfo;
@@ -65,7 +65,7 @@
   return size;
 }
 
-uint64_t
+size_t
 Process::GetTotalMemoryUsage()
 {
   PROCESS_MEMORY_COUNTERS pmc;
diff --git a/lib/System/Win32/Process.inc b/lib/System/Win32/Process.inc
index dc46641..392bac2 100644
--- a/lib/System/Win32/Process.inc
+++ b/lib/System/Win32/Process.inc
@@ -51,7 +51,7 @@
   return PageSize;
 }
 
-uint64_t 
+size_t 
 Process::GetMallocUsage()
 {
   _HEAPINFO hinfo;
@@ -65,7 +65,7 @@
   return size;
 }
 
-uint64_t
+size_t
 Process::GetTotalMemoryUsage()
 {
   PROCESS_MEMORY_COUNTERS pmc;
