We should add realloc(&mut self,object: *mut RawGc,old_size: usize,new_size: usize) -> *mut RawGc to HeapImpl trait. By default it will just allocate new pointer and memcpy object.data() to new object data pointer. There is some problems with it as we do not know should we copy entire object state to reallocated pointer or no.