     }
   }
   else {
-    for(map<int,set<void *> >::iterator it=free_list_gpu.begin();
+    for(map<size_t,set<void *> >::iterator it=free_list_gpu.begin();
 	it != free_list_gpu.end(); ++it) {
       if(it->first >= bytes && it->second.size()>0) {
 	ptr = resurrect_from_free_list(free_list_gpu, it->first, live_ptrs_gpu);

    return ptr;
  }

  static inline void *resurrect_from_free_list(map<int,set<void *> > &free_map,
					size_t bytes, map<void*,int>& liveset) {
    void *ptr;
    num_resurrections +=1 ;
    assert(free_map.find(bytes) != free_map.end());

    }
  }
  else {
    for(map<size_t,set<void *> >::iterator it=free_list_host.begin();
	it != free_list_host.end(); ++it) {
      if(it->first >= bytes && it->second.size()>0) {
	ptr = resurrect_from_free_list(free_list_host, it->first, live_ptrs_host);
