From a67788b2f365d993c879ad0754f41bc64389459c Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 7 Feb 2019 08:53:13 +0000 Subject: Split procstat_vm.c git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@67024 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- vm_dump.c | 86 +-------------------------------------------------------------- 1 file changed, 1 insertion(+), 85 deletions(-) (limited to 'vm_dump.c') diff --git a/vm_dump.c b/vm_dump.c index 1d36eb0690..53cc764551 100644 --- a/vm_dump.c +++ b/vm_dump.c @@ -734,91 +734,7 @@ rb_print_backtrace(void) } #ifdef HAVE_LIBPROCSTAT -#include -#include -#include -#include -# ifndef KVME_TYPE_MGTDEVICE -# define KVME_TYPE_MGTDEVICE 8 -# endif -void -procstat_vm(struct procstat *procstat, struct kinfo_proc *kipp) -{ - struct kinfo_vmentry *freep, *kve; - int ptrwidth; - unsigned int i, cnt; - const char *str; -#ifdef __x86_64__ - ptrwidth = 14; -#else - ptrwidth = 2*sizeof(void *) + 2; -#endif - fprintf(stderr, "%*s %*s %3s %4s %4s %3s %3s %4s %-2s %-s\n", - ptrwidth, "START", ptrwidth, "END", "PRT", "RES", - "PRES", "REF", "SHD", "FL", "TP", "PATH"); - -#ifdef HAVE_PROCSTAT_GETVMMAP - freep = procstat_getvmmap(procstat, kipp, &cnt); -#else - freep = kinfo_getvmmap(kipp->ki_pid, &cnt); -#endif - if (freep == NULL) - return; - for (i = 0; i < cnt; i++) { - kve = &freep[i]; - fprintf(stderr, "%#*jx ", ptrwidth, (uintmax_t)kve->kve_start); - fprintf(stderr, "%#*jx ", ptrwidth, (uintmax_t)kve->kve_end); - fprintf(stderr, "%s", kve->kve_protection & KVME_PROT_READ ? "r" : "-"); - fprintf(stderr, "%s", kve->kve_protection & KVME_PROT_WRITE ? "w" : "-"); - fprintf(stderr, "%s ", kve->kve_protection & KVME_PROT_EXEC ? "x" : "-"); - fprintf(stderr, "%4d ", kve->kve_resident); - fprintf(stderr, "%4d ", kve->kve_private_resident); - fprintf(stderr, "%3d ", kve->kve_ref_count); - fprintf(stderr, "%3d ", kve->kve_shadow_count); - fprintf(stderr, "%-1s", kve->kve_flags & KVME_FLAG_COW ? "C" : "-"); - fprintf(stderr, "%-1s", kve->kve_flags & KVME_FLAG_NEEDS_COPY ? "N" : - "-"); - fprintf(stderr, "%-1s", kve->kve_flags & KVME_FLAG_SUPER ? "S" : "-"); - fprintf(stderr, "%-1s ", kve->kve_flags & KVME_FLAG_GROWS_UP ? "U" : - kve->kve_flags & KVME_FLAG_GROWS_DOWN ? "D" : "-"); - switch (kve->kve_type) { - case KVME_TYPE_NONE: - str = "--"; - break; - case KVME_TYPE_DEFAULT: - str = "df"; - break; - case KVME_TYPE_VNODE: - str = "vn"; - break; - case KVME_TYPE_SWAP: - str = "sw"; - break; - case KVME_TYPE_DEVICE: - str = "dv"; - break; - case KVME_TYPE_PHYS: - str = "ph"; - break; - case KVME_TYPE_DEAD: - str = "dd"; - break; - case KVME_TYPE_SG: - str = "sg"; - break; - case KVME_TYPE_MGTDEVICE: - str = "md"; - break; - case KVME_TYPE_UNKNOWN: - default: - str = "??"; - break; - } - fprintf(stderr, "%-2s ", str); - fprintf(stderr, "%-s\n", kve->kve_path); - } - free(freep); -} +#include "missing/procstat_vm.c" #endif #if defined __linux__ -- cgit v1.2.3