area 116 mtcp/mtcp_restart.c static void adjust_for_smaller_file_size(Area *area, int fd); area 484 mtcp/mtcp_restart.c Area area; area 487 mtcp/mtcp_restart.c mtcp_readfile(fd, &area, sizeof area); area 488 mtcp/mtcp_restart.c if (area.size == -1) break; area 489 mtcp/mtcp_restart.c if ((area.prot & MTCP_PROT_ZERO_PAGE) == 0) { area 490 mtcp/mtcp_restart.c void *addr = mtcp_sys_mmap(0, area.size, PROT_WRITE | PROT_READ, area 496 mtcp/mtcp_restart.c mtcp_readfile(fd, addr, area.size); area 497 mtcp/mtcp_restart.c if (mtcp_sys_munmap(addr, area.size) == -1) { area 506 mtcp/mtcp_restart.c area.addr, area.addr + area.size, area 507 mtcp/mtcp_restart.c ( area.prot & PROT_READ ? 'r' : '-' ), area 508 mtcp/mtcp_restart.c ( area.prot & PROT_WRITE ? 'w' : '-' ), area 509 mtcp/mtcp_restart.c ( area.prot & PROT_EXEC ? 'x' : '-' ), area 510 mtcp/mtcp_restart.c ( area.flags & MAP_SHARED ? 's' area 511 mtcp/mtcp_restart.c : ( area.flags & MAP_ANONYMOUS ? 'p' : '-' ) ), area 513 mtcp/mtcp_restart.c area.name); area 597 mtcp/mtcp_restart.c Area area; area 609 mtcp/mtcp_restart.c while (mtcp_readmapsline(mapsfd, &area)) { area 610 mtcp/mtcp_restart.c if (area.addr >= rinfo->restore_addr && area.addr < rinfo->restore_end) { area 612 mtcp/mtcp_restart.c } else if (mtcp_strcmp(area.name, "[vdso]") == 0) { area 614 mtcp/mtcp_restart.c vdsoStart = area.addr; area 615 mtcp/mtcp_restart.c vdsoEnd = area.endAddr; area 617 mtcp/mtcp_restart.c area.addr, area.endAddr, rinfo->vdsoStart, rinfo->vdsoEnd); area 618 mtcp/mtcp_restart.c } else if (mtcp_strcmp(area.name, "[vvar]") == 0) { area 620 mtcp/mtcp_restart.c vvarStart = area.addr; area 621 mtcp/mtcp_restart.c vvarEnd = area.endAddr; area 622 mtcp/mtcp_restart.c } else if (mtcp_strcmp(area.name, "[vsyscall]") == 0) { area 624 mtcp/mtcp_restart.c } else if (mtcp_strcmp(area.name, "[vectors]") == 0) { area 626 mtcp/mtcp_restart.c } else if (area.size > 0 ) { area 627 mtcp/mtcp_restart.c DPRINTF("***INFO: munmapping (%p-%p)\n", area.addr, area.endAddr); area 628 mtcp/mtcp_restart.c if (mtcp_sys_munmap(area.addr, area.size) == -1) { area 630 mtcp/mtcp_restart.c area.name, area.flags, area.addr, area.size, area 801 mtcp/mtcp_restart.c Area area; area 802 mtcp/mtcp_restart.c mtcp_readfile(fd, &area, sizeof area); area 803 mtcp/mtcp_restart.c if (area.size == -1) return -1; area 805 mtcp/mtcp_restart.c if (area.name && mtcp_strstr(area.name, "[heap]") area 806 mtcp/mtcp_restart.c && mtcp_sys_brk(NULL) != area.addr + area.size) { area 808 mtcp/mtcp_restart.c mtcp_sys_brk(NULL), area.addr + area.size); area 814 mtcp/mtcp_restart.c if (area.flags & MAP_SHARED) { area 815 mtcp/mtcp_restart.c area.flags = area.flags ^ MAP_SHARED; area 816 mtcp/mtcp_restart.c area.flags = area.flags | MAP_PRIVATE | MAP_ANONYMOUS; area 822 mtcp/mtcp_restart.c if ((area.prot & MTCP_PROT_ZERO_PAGE) != 0) { area 824 mtcp/mtcp_restart.c area.size, area.addr); area 825 mtcp/mtcp_restart.c mmappedat = mtcp_sys_mmap (area.addr, area.size, area 826 mtcp/mtcp_restart.c area.prot & ~MTCP_PROT_ZERO_PAGE, area 827 mtcp/mtcp_restart.c area.flags | MAP_FIXED, -1, 0); area 829 mtcp/mtcp_restart.c if (mmappedat != area.addr) { area 831 mtcp/mtcp_restart.c mtcp_sys_errno, area.size, area.addr); area 841 mtcp/mtcp_restart.c else if (area.flags & MAP_ANONYMOUS) { area 850 mtcp/mtcp_restart.c if (area.name[0] == '/') { /* If not null string, not [stack] or [vdso] */ area 851 mtcp/mtcp_restart.c imagefd = mtcp_sys_open (area.name, O_RDONLY, 0); area 853 mtcp/mtcp_restart.c area.flags ^= MAP_ANONYMOUS; area 856 mtcp/mtcp_restart.c if (area.flags & MAP_ANONYMOUS) { area 858 mtcp/mtcp_restart.c area.size, area.addr); area 862 mtcp/mtcp_restart.c area.size, area.addr, area.name, area.offset); area 871 mtcp/mtcp_restart.c mmappedat = mtcp_sys_mmap (area.addr, area.size, area.prot | PROT_WRITE, area 872 mtcp/mtcp_restart.c area.flags, imagefd, area.offset); area 876 mtcp/mtcp_restart.c mtcp_sys_errno, area.size, area.addr); area 886 mtcp/mtcp_restart.c if (mmappedat != area.addr && !try_skipping_existing_segment) { area 887 mtcp/mtcp_restart.c MTCP_PRINTF("area at %p got mmapped to %p\n", area.addr, mmappedat); area 892 mtcp/mtcp_restart.c adjust_for_smaller_file_size(&area, imagefd); area 895 mtcp/mtcp_restart.c if (!(area.flags & MAP_ANONYMOUS)) mtcp_sys_close (imagefd); area 899 mtcp/mtcp_restart.c mtcp_skipfile(fd, area.size); area 905 mtcp/mtcp_restart.c mtcp_readfile(fd, area.addr, area.size); area 906 mtcp/mtcp_restart.c if (!(area.prot & PROT_WRITE)) { area 907 mtcp/mtcp_restart.c if (mtcp_sys_mprotect (area.addr, area.size, area.prot) < 0) { area 909 mtcp/mtcp_restart.c mtcp_sys_errno, area.size, area.addr); area 928 mtcp/mtcp_restart.c static void adjust_for_smaller_file_size(Area *area, int fd) area 933 mtcp/mtcp_restart.c if (area->offset + area->size > curr_size) { area 934 mtcp/mtcp_restart.c size_t diff_in_size = (area->offset + area->size) - curr_size; area 937 mtcp/mtcp_restart.c VA anon_start_addr = area->addr + (area->size - anon_area_size); area 941 mtcp/mtcp_restart.c area->name, curr_size, area->size); area 943 mtcp/mtcp_restart.c area->prot | PROT_WRITE, area 1027 mtcp/mtcp_restart.c Area area; area 1034 mtcp/mtcp_restart.c while (mtcp_readmapsline(mapsfd, &area)) { area 1035 mtcp/mtcp_restart.c if (doAreasOverlap(addr, size, area.addr, area.size)) { area 1048 mtcp/mtcp_restart.c Area area; area 1056 mtcp/mtcp_restart.c while (mtcp_readmapsline(mapsfd, &area)) { area 1057 mtcp/mtcp_restart.c if ((mtcp_strendswith(area.name, BINARY_NAME) || area 1058 mtcp/mtcp_restart.c mtcp_strendswith(area.name, BINARY_NAME_M32)) && area 1059 mtcp/mtcp_restart.c (area.prot & PROT_EXEC) && area 1068 mtcp/mtcp_restart.c (area.addr < this_fn && (area.addr + area.size) > this_fn)) { area 1069 mtcp/mtcp_restart.c *text_addr = area.addr; area 1070 mtcp/mtcp_restart.c *size = area.size; area 408 mtcp/mtcp_util.c int mtcp_readmapsline (int mapsfd, Area *area) area 440 mtcp/mtcp_util.c area -> offset = offset; area 447 mtcp/mtcp_util.c area -> name[0] = '\0'; area 452 mtcp/mtcp_util.c area -> name[i++] = c; area 453 mtcp/mtcp_util.c if (i == sizeof area -> name) goto skipeol; area 456 mtcp/mtcp_util.c area -> name[i] = '\0'; area 461 mtcp/mtcp_util.c area -> addr = startaddr; area 462 mtcp/mtcp_util.c area -> endAddr = endaddr; area 463 mtcp/mtcp_util.c area -> size = endaddr - startaddr; area 464 mtcp/mtcp_util.c area -> prot = 0; area 465 mtcp/mtcp_util.c if (rflag == 'r') area -> prot |= PROT_READ; area 466 mtcp/mtcp_util.c if (wflag == 'w') area -> prot |= PROT_WRITE; area 467 mtcp/mtcp_util.c if (xflag == 'x') area -> prot |= PROT_EXEC; area 468 mtcp/mtcp_util.c area -> flags = MAP_FIXED; area 469 mtcp/mtcp_util.c if (sflag == 's') area -> flags |= MAP_SHARED; area 470 mtcp/mtcp_util.c if (sflag == 'p') area -> flags |= MAP_PRIVATE; area 471 mtcp/mtcp_util.c if (area -> name[0] == '\0') area -> flags |= MAP_ANONYMOUS; area 473 mtcp/mtcp_util.c area->devmajor = devmajor; area 474 mtcp/mtcp_util.c area->devminor = devminor; area 475 mtcp/mtcp_util.c area->inodenum = inodenum; area 515 mtcp/mtcp_util.c Area area; area 524 mtcp/mtcp_util.c while (mtcp_readmapsline (mapsfd, &area)) { area 525 mtcp/mtcp_util.c VA start_addr = area.addr; area 526 mtcp/mtcp_util.c VA end_addr = area.addr + area.size; area 531 mtcp/mtcp_util.c mtcp_strcpy(filename, area.name); area 532 mtcp/mtcp_util.c lib_inode = area.inodenum; area 537 mtcp/mtcp_util.c area.inodenum == lib_inode) { area 538 mtcp/mtcp_util.c MTCP_ASSERT(mtcp_strcmp(filename, area.name) == 0); area 539 mtcp/mtcp_util.c MTCP_ASSERT(area.addr == text.end_addr); area 540 mtcp/mtcp_util.c if (area.prot == 0) { area 546 mtcp/mtcp_util.c MTCP_ASSERT(mtcp_sys_mmap(start_addr, area.size, PROT_READ, area 558 mtcp/mtcp_util.c area.inodenum == lib_inode) { area 559 mtcp/mtcp_util.c MTCP_ASSERT(mtcp_strcmp(filename, area.name) == 0); area 560 mtcp/mtcp_util.c MTCP_ASSERT(area.addr == guard.end_addr); area 561 mtcp/mtcp_util.c if (area.prot == PROT_READ || area 564 mtcp/mtcp_util.c area.prot == (PROT_READ|PROT_EXEC)) { area 574 mtcp/mtcp_util.c area.inodenum == lib_inode) { area 575 mtcp/mtcp_util.c MTCP_ASSERT(mtcp_strcmp(filename, area.name) == 0); area 576 mtcp/mtcp_util.c MTCP_ASSERT(area.addr == rodata.end_addr); area 577 mtcp/mtcp_util.c MTCP_ASSERT(area.prot == (PROT_READ|PROT_WRITE) || area 580 mtcp/mtcp_util.c area.prot == (PROT_READ|PROT_WRITE|PROT_EXEC)); area 586 mtcp/mtcp_util.c area.name[0] == '\0') { area 592 mtcp/mtcp_util.c MTCP_ASSERT(area.addr == rwdata.end_addr); area 593 mtcp/mtcp_util.c MTCP_ASSERT(area.prot == (PROT_READ|PROT_WRITE) || area 596 mtcp/mtcp_util.c area.prot == (PROT_READ|PROT_WRITE|PROT_EXEC)); area 184 mtcp/mtcp_util.h int mtcp_readmapsline (int mapsfd, Area *area); area 222 plugin/ipc/file/fileconnlist.cpp ProcMapsArea area; area 228 plugin/ipc/file/fileconnlist.cpp while (procSelfMaps.getNextArea(&area)) { area 229 plugin/ipc/file/fileconnlist.cpp if ((area.flags & MAP_SHARED) && area.prot != 0) { area 230 plugin/ipc/file/fileconnlist.cpp if (strstr(area.name, "ptraceSharedInfo") != NULL || area 231 plugin/ipc/file/fileconnlist.cpp strstr(area.name, "dmtcpPidMap") != NULL || area 232 plugin/ipc/file/fileconnlist.cpp strstr(area.name, "dmtcpSharedArea") != NULL || area 233 plugin/ipc/file/fileconnlist.cpp strstr(area.name, "dmtcpSharedArea") != NULL || area 234 plugin/ipc/file/fileconnlist.cpp strstr(area.name, "synchronization-log") != NULL || area 235 plugin/ipc/file/fileconnlist.cpp strstr(area.name, "infiniband") != NULL || area 236 plugin/ipc/file/fileconnlist.cpp strstr(area.name, "synchronization-read-log") != NULL) { area 240 plugin/ipc/file/fileconnlist.cpp if (Util::isNscdArea(area) || area 241 plugin/ipc/file/fileconnlist.cpp Util::isIBShmArea(area) || area 242 plugin/ipc/file/fileconnlist.cpp Util::isSysVShmArea(area)) { area 250 plugin/ipc/file/fileconnlist.cpp JWARNING(msync(area.addr, area.size, MS_INVALIDATE) == 0) area 251 plugin/ipc/file/fileconnlist.cpp (area.addr) (area.size) (area.name) (area.offset) (JASSERT_ERRNO); area 253 plugin/ipc/file/fileconnlist.cpp if (jalib::Filesystem::FileExists(area.name)) { area 254 plugin/ipc/file/fileconnlist.cpp if (_real_access(area.name, W_OK) == 0) { area 255 plugin/ipc/file/fileconnlist.cpp JTRACE("Will checkpoint shared memory area") (area.name); area 256 plugin/ipc/file/fileconnlist.cpp int flags = Util::memProtToOpenFlags(area.prot); area 257 plugin/ipc/file/fileconnlist.cpp int fd = _real_open(area.name, flags, 0); area 258 plugin/ipc/file/fileconnlist.cpp JASSERT(fd != -1) (JASSERT_ERRNO) (area.name); area 260 plugin/ipc/file/fileconnlist.cpp new FileConnection(area.name, flags, 0, FileConnection::FILE_SHM); area 262 plugin/ipc/file/fileconnlist.cpp shmAreas.push_back(area); area 275 plugin/ipc/file/fileconnlist.cpp JASSERT(_real_mmap(area.addr, area.size, PROT_NONE, area 279 plugin/ipc/file/fileconnlist.cpp JTRACE("Will not checkpoint shared memory area") (area.name); area 283 plugin/ipc/file/fileconnlist.cpp JASSERT(Util::strEndsWith(area.name, DELETED_FILE_SUFFIX)) (area.name); area 284 plugin/ipc/file/fileconnlist.cpp if (Util::strStartsWith(area.name, DEV_ZERO_DELETED_STR) || area 285 plugin/ipc/file/fileconnlist.cpp Util::strStartsWith(area.name, DEV_NULL_DELETED_STR)) { area 286 plugin/ipc/file/fileconnlist.cpp JWARNING(false) (area.name) area 289 plugin/ipc/file/fileconnlist.cpp JTRACE("Will recreate shm file on restart.") (area.name); area 292 plugin/ipc/file/fileconnlist.cpp area.name[strlen(area.name) - strlen(DELETED_FILE_SUFFIX)] = '\0'; area 293 plugin/ipc/file/fileconnlist.cpp unlinkedShmAreas.push_back(area); area 300 plugin/ipc/file/fileconnlist.cpp void FileConnList::recreateShmFileAndMap(const ProcMapsArea& area) area 304 plugin/ipc/file/fileconnlist.cpp string filename = Util::removeSuffix(area.name, DELETED_FILE_SUFFIX); area 305 plugin/ipc/file/fileconnlist.cpp JASSERT(Util::createDirectoryTree(area.name)) (area.name) area 316 plugin/ipc/file/fileconnlist.cpp int fd = _real_open(area.name, O_CREAT | O_EXCL | O_RDWR, area 318 plugin/ipc/file/fileconnlist.cpp JASSERT(fd != -1 || errno == EEXIST) (area.name); area 321 plugin/ipc/file/fileconnlist.cpp fd = _real_open(area.name, O_RDWR); area 326 plugin/ipc/file/fileconnlist.cpp JASSERT(lseek(fd, area.offset, SEEK_SET) == area.offset) (JASSERT_ERRNO); area 328 plugin/ipc/file/fileconnlist.cpp JASSERT(Util::writeAll(fd, area.addr, area.size) == (ssize_t)area.size) area 330 plugin/ipc/file/fileconnlist.cpp restoreShmArea(area, fd); area 333 plugin/ipc/file/fileconnlist.cpp void FileConnList::restoreShmArea(const ProcMapsArea& area, int fd) area 336 plugin/ipc/file/fileconnlist.cpp fd = _real_open(area.name, Util::memProtToOpenFlags(area.prot)); area 339 plugin/ipc/file/fileconnlist.cpp JASSERT(fd != -1) (area.name) (JASSERT_ERRNO); area 341 plugin/ipc/file/fileconnlist.cpp JTRACE("Restoring shared memory area") (area.name) ((void*)area.addr); area 342 plugin/ipc/file/fileconnlist.cpp void *addr = _real_mmap(area.addr, area.size, area.prot, area 343 plugin/ipc/file/fileconnlist.cpp MAP_FIXED | area.flags, fd, area.offset); area 344 plugin/ipc/file/fileconnlist.cpp JASSERT(addr != MAP_FAILED) (area.flags) (area.prot) (JASSERT_ERRNO) area 352 plugin/ipc/file/fileconnlist.cpp ProcMapsArea *area = &shmAreas[i]; area 355 plugin/ipc/file/fileconnlist.cpp JTRACE("Restoring shared memory area") (area->name) ((void*)area->addr); area 356 plugin/ipc/file/fileconnlist.cpp void *addr = _real_mmap(area->addr, area->size, area->prot, area 357 plugin/ipc/file/fileconnlist.cpp MAP_FIXED | area->flags, area 358 plugin/ipc/file/fileconnlist.cpp fd, area->offset); area 359 plugin/ipc/file/fileconnlist.cpp JASSERT(addr != MAP_FAILED) (area->flags) (area->prot) (JASSERT_ERRNO) .Text("mmap failed"); area 63 plugin/ipc/file/fileconnlist.h void recreateShmFileAndMap(const ProcMapsArea& area); area 64 plugin/ipc/file/fileconnlist.h void restoreShmArea(const ProcMapsArea& area, int fd = -1); area 164 processinfo.cpp ProcMapsArea area; area 169 processinfo.cpp while (procSelfMaps.getNextArea(&area)) { area 170 processinfo.cpp if (strcmp(area.name, "[heap]") == 0) { area 172 processinfo.cpp _savedHeapStart = (unsigned long) area.addr; area 173 processinfo.cpp } else if (strcmp(area.name, "[vdso]") == 0) { area 174 processinfo.cpp _vdsoStart = (unsigned long) area.addr; area 175 processinfo.cpp _vdsoEnd = (unsigned long) area.endAddr; area 176 processinfo.cpp } else if (strcmp(area.name, "[vvar]") == 0) { area 177 processinfo.cpp _vvarStart = (unsigned long) area.addr; area 178 processinfo.cpp _vvarEnd = (unsigned long) area.endAddr; area 179 processinfo.cpp } else if ((VA) &area >= area.addr && (VA) &area < area.endAddr) { area 180 processinfo.cpp JTRACE("Original stack area") ((void*)area.addr) (area.size); area 181 processinfo.cpp stackArea = area; area 195 processinfo.cpp int ret = mprotect(area.addr + area.size, 0x1000, area 216 processinfo.cpp while (maps.getNextArea(&area)) { area 217 processinfo.cpp if ((VA)&area >= area.addr && (VA)&area < area.endAddr) { // Stack found area 218 processinfo.cpp JTRACE("New stack size") ((void*)area.addr) (area.size); area 128 procselfmaps.cpp int ProcSelfMaps::getNextArea(ProcMapsArea* area) area 136 procselfmaps.cpp area->addr = (VA) readHex(); area 137 procselfmaps.cpp JASSERT(area->addr != NULL); area 141 procselfmaps.cpp area->endAddr = (VA) readHex(); area 142 procselfmaps.cpp JASSERT(area->endAddr != NULL); area 146 procselfmaps.cpp JASSERT(area->endAddr >= area->addr); area 147 procselfmaps.cpp area->size = area->endAddr - area->addr; area 163 procselfmaps.cpp area->offset = readHex(); area 166 procselfmaps.cpp area->devmajor = readHex(); area 169 procselfmaps.cpp area->devminor = readHex(); area 172 procselfmaps.cpp area->inodenum = readDec(); area 178 procselfmaps.cpp area -> name[0] = '\0'; area 185 procselfmaps.cpp area->name[i++] = data[dataIdx++]; area 186 procselfmaps.cpp JASSERT(i < sizeof(area->name)); area 188 procselfmaps.cpp area -> name[i] = '\0'; area 193 procselfmaps.cpp area -> prot = 0; area 195 procselfmaps.cpp area -> prot |= PROT_READ; area 198 procselfmaps.cpp area -> prot |= PROT_WRITE; area 201 procselfmaps.cpp area -> prot |= PROT_EXEC; area 204 procselfmaps.cpp area -> flags = MAP_FIXED; area 206 procselfmaps.cpp area -> flags |= MAP_SHARED; area 209 procselfmaps.cpp area -> flags |= MAP_PRIVATE; area 211 procselfmaps.cpp if (area -> name[0] == '\0') { area 212 procselfmaps.cpp area -> flags |= MAP_ANONYMOUS; area 418 util_misc.cpp int Util::readProcMapsLine(int mapsfd, ProcMapsArea *area) area 449 util_misc.cpp area -> offset = offset; area 456 util_misc.cpp area -> name[0] = '\0'; area 464 util_misc.cpp area -> name[i++] = c; area 465 util_misc.cpp if (i == sizeof area -> name) goto skipeol; area 468 util_misc.cpp area -> name[i] = '\0'; area 473 util_misc.cpp area -> addr = startaddr; area 474 util_misc.cpp area -> size = endaddr - startaddr; area 475 util_misc.cpp area -> endAddr = endaddr; area 476 util_misc.cpp area -> prot = 0; area 477 util_misc.cpp if (rflag == 'r') area -> prot |= PROT_READ; area 478 util_misc.cpp if (wflag == 'w') area -> prot |= PROT_WRITE; area 479 util_misc.cpp if (xflag == 'x') area -> prot |= PROT_EXEC; area 480 util_misc.cpp area -> flags = MAP_FIXED; area 481 util_misc.cpp if (sflag == 's') area -> flags |= MAP_SHARED; area 482 util_misc.cpp if (sflag == 'p') area -> flags |= MAP_PRIVATE; area 483 util_misc.cpp if (area -> name[0] == '\0') area -> flags |= MAP_ANONYMOUS; area 485 util_misc.cpp area->devmajor = devmajor; area 486 util_misc.cpp area->devminor = devminor; area 487 util_misc.cpp area->inodenum = inodenum; area 631 util_misc.cpp bool Util::isNscdArea(const ProcMapsArea& area) area 633 util_misc.cpp if (strStartsWith(area.name, "/run/nscd") || // OpenSUSE (newer) area 634 util_misc.cpp strStartsWith(area.name, "/var/run/nscd") || // OpenSUSE (older) area 635 util_misc.cpp strStartsWith(area.name, "/var/cache/nscd") || // Debian/Ubuntu area 636 util_misc.cpp strStartsWith(area.name, "/var/db/nscd")) { // RedHat/Fedora area 643 util_misc.cpp bool Util::isSysVShmArea(const ProcMapsArea& area) area 645 util_misc.cpp return strStartsWith(area.name, "/SYSV"); area 649 util_misc.cpp bool Util::isIBShmArea(const ProcMapsArea& area) area 651 util_misc.cpp return strStartsWith(area.name, "/dev/infiniband/uverbs"); area 63 writeckpt.cpp static void writememoryarea (int fd, Area *area, area 81 writeckpt.cpp Area area; area 108 writeckpt.cpp while (procSelfMaps.getNextArea(&area)) { area 109 writeckpt.cpp if (Util::isNscdArea(area)) { area 115 writeckpt.cpp (area.name); area 117 writeckpt.cpp nscdAreas->push_back(area); area 130 writeckpt.cpp while (procSelfMaps->getNextArea(&area)) { area 136 writeckpt.cpp if ((uint64_t)area.addr == ProcessInfo::instance().restoreBufAddr()) { area 137 writeckpt.cpp JASSERT(area.size == ProcessInfo::instance().restoreBufLen()) area 138 writeckpt.cpp ((void*) area.addr) (area.size) (ProcessInfo::instance().restoreBufLen()); area 154 writeckpt.cpp if (area.addr >= HIGHEST_VA && area.addr == (VA)0xffffe000) area 160 writeckpt.cpp if (area.addr >= HIGHEST_VA && area.addr == (VA)0xffffffffff600000) area 191 writeckpt.cpp if (!((area.prot & PROT_READ) || (area.prot & PROT_WRITE)) && area 192 writeckpt.cpp area.name[0] != '\0') { area 196 writeckpt.cpp if (Util::strStartsWith(area.name, DEV_ZERO_DELETED_STR) || area 197 writeckpt.cpp Util::strStartsWith(area.name, DEV_NULL_DELETED_STR)) { area 209 writeckpt.cpp JTRACE("saving area as Anonymous") (area.name); area 210 writeckpt.cpp area.flags = MAP_PRIVATE | MAP_ANONYMOUS; area 211 writeckpt.cpp area.name[0] = '\0'; area 212 writeckpt.cpp } else if (Util::isSysVShmArea(area)) { area 213 writeckpt.cpp JTRACE("saving area as Anonymous") (area.name); area 214 writeckpt.cpp area.flags = MAP_PRIVATE | MAP_ANONYMOUS; area 215 writeckpt.cpp area.name[0] = '\0'; area 216 writeckpt.cpp } else if (Util::isNscdArea(area)) { area 218 writeckpt.cpp area.prot = PROT_READ | PROT_WRITE | MTCP_PROT_ZERO_PAGE; area 219 writeckpt.cpp area.flags = MAP_PRIVATE | MAP_ANONYMOUS; area 220 writeckpt.cpp Util::writeAll(fd, &area, sizeof(area)); area 222 writeckpt.cpp } else if (Util::isIBShmArea(area)) { area 225 writeckpt.cpp } else if (Util::strEndsWith(area.name, DELETED_FILE_SUFFIX)) { area 227 writeckpt.cpp } else if (area.name[0] == '/' && strstr(&area.name[1], "/") != NULL) { area 241 writeckpt.cpp if ((area.flags & MAP_PRIVATE) /*&& (area.prot & PROT_WRITE)*/) { area 242 writeckpt.cpp area.flags |= MAP_ANONYMOUS; area 250 writeckpt.cpp if (strstr (area.name, "[stack]")) area 253 writeckpt.cpp writememoryarea(fd, &area, stack_was_seen); area 263 writeckpt.cpp area.addr = NULL; // End of data area 264 writeckpt.cpp area.size = -1; // End of data area 265 writeckpt.cpp Util::writeAll(fd, &area, sizeof(area)); area 288 writeckpt.cpp static void mtcp_get_next_page_range(Area *area, size_t *size, int *is_zero) area 294 writeckpt.cpp if (area->size < one_MB) { area 295 writeckpt.cpp *size = area->size; area 300 writeckpt.cpp *is_zero = Util::areZeroPages(area->addr, one_MB / MTCP_PAGE_SIZE); area 301 writeckpt.cpp prevAddr = area->addr; area 302 writeckpt.cpp for (pg = area->addr + one_MB; area 303 writeckpt.cpp pg < area->addr + area->size; area 305 writeckpt.cpp size_t minsize = MIN(one_MB, (size_t)(area->addr + area->size - pg)); area 311 writeckpt.cpp if (madvise(prevAddr, area->addr + *size - prevAddr, area 314 writeckpt.cpp (JASSERT_ERRNO) ((void*)area->addr) ((int)*size); area 323 writeckpt.cpp Area area = *orig_area; area 344 writeckpt.cpp while (area.size > 0) { area 347 writeckpt.cpp Area a = area; area 349 writeckpt.cpp size = area.size; area 367 writeckpt.cpp area.addr += size; area 368 writeckpt.cpp area.size -= size; area 380 writeckpt.cpp static void writememoryarea (int fd, Area *area, int stack_was_seen) area 382 writeckpt.cpp void *addr = area->addr; area 384 writeckpt.cpp if (!(area -> flags & MAP_ANONYMOUS)) area 385 writeckpt.cpp JTRACE("save region") (addr) (area->size) (area->name) (area->offset); area 386 writeckpt.cpp else if (area -> name[0] == '\0') area 387 writeckpt.cpp JTRACE("save anonymous") (addr) (area->size); area 389 writeckpt.cpp JTRACE("save anonymous") (addr) (area->size) (area->name) (area->offset); area 391 writeckpt.cpp if ((area -> name[0]) == '\0') { area 393 writeckpt.cpp if (brk > area -> addr && brk <= area -> addr + area -> size) area 394 writeckpt.cpp strcpy(area -> name, "[heap]"); area 397 writeckpt.cpp if (area->size == 0) { area 400 writeckpt.cpp (addr) (area->size); area 401 writeckpt.cpp } else if (0 == strcmp(area -> name, "[vsyscall]") || area 402 writeckpt.cpp 0 == strcmp(area -> name, "[vectors]") || area 403 writeckpt.cpp 0 == strcmp(area -> name, "[vvar]") || area 404 writeckpt.cpp 0 == strcmp(area -> name, "[vdso]")) { area 406 writeckpt.cpp (area->name) (addr) (area->size); area 407 writeckpt.cpp } else if (area->prot == 0 || area 408 writeckpt.cpp (area->name[0] == '\0' && area 409 writeckpt.cpp ((area->flags & MAP_ANONYMOUS) != 0) && area 410 writeckpt.cpp ((area->flags & MAP_PRIVATE) != 0))) { area 415 writeckpt.cpp mtcp_write_non_rwx_and_anonymous_pages(fd, area); area 422 writeckpt.cpp JASSERT((area->flags & MAP_ANONYMOUS) || (area->flags & MAP_SHARED)); area 423 writeckpt.cpp Util::writeAll(fd, area, sizeof(*area)); area 424 writeckpt.cpp Util::writeAll(fd, area->addr, area->size);