//allocate a single buffer for all recv void* smpi_get_tmp_recvbuffer(int size){ if (!smpi_process_get_replaying()) return xbt_malloc(size); if (recvbuffer_size<size){ recvbuffer=xbt_realloc(recvbuffer,size); recvbuffer_size=size; } return sendbuffer; }
//allocate a single buffer for all recv void* smpi_get_tmp_recvbuffer(int size){ if (!smpi_process_get_replaying()) return xbt_malloc(size); if (recvbuffer_size<size){ recvbuffer=static_cast<char*>(xbt_realloc(recvbuffer,size)); recvbuffer_size=size; } return recvbuffer; }
void smpi_free_tmp_buffer(void* buf){ if (!smpi_process_get_replaying()) xbt_free(buf); }