ruby-changes:54805
From: nobu <ko1@a...>
Date: Thu, 7 Feb 2019 17:53:19 +0900 (JST)
Subject: [ruby-changes:54805] nobu:r67024 (trunk): Split procstat_vm.c
nobu 2019-02-07 17:53:13 +0900 (Thu, 07 Feb 2019) New Revision: 67024 https://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=revision&revision=67024 Log: Split procstat_vm.c Added files: trunk/missing/procstat_vm.c Modified files: trunk/LEGAL trunk/common.mk trunk/vm_dump.c Index: LEGAL =================================================================== --- LEGAL (revision 67023) +++ LEGAL (revision 67024) @@ -382,9 +382,9 @@ missing/mt19937.c:: https://github.com/ruby/ruby/blob/trunk/LEGAL#L382 The Wayback Machine url: http://web.archive.org/web/19990429082237/http://www.math.keio.ac.jp/matumoto/emt.html -vm_dump.c:procstat_vm:: +missing/procstat_vm.c:: - This file contains the source code under the new-style BSD license. + This file is under the new-style BSD license. >>> Copyright (c) 2007 Robert N. M. Watson Index: common.mk =================================================================== --- common.mk (revision 67023) +++ common.mk (revision 67024) @@ -3195,6 +3195,7 @@ vm_dump.$(OBJEXT): {$(VPATH)}missing.h https://github.com/ruby/ruby/blob/trunk/common.mk#L3195 vm_dump.$(OBJEXT): {$(VPATH)}node.h vm_dump.$(OBJEXT): {$(VPATH)}onigmo.h vm_dump.$(OBJEXT): {$(VPATH)}oniguruma.h +vm_dump.$(OBJEXT): {$(VPATH)}procstat_vm.c vm_dump.$(OBJEXT): {$(VPATH)}ruby_assert.h vm_dump.$(OBJEXT): {$(VPATH)}ruby_atomic.h vm_dump.$(OBJEXT): {$(VPATH)}st.h Index: vm_dump.c =================================================================== --- vm_dump.c (revision 67023) +++ vm_dump.c (revision 67024) @@ -734,91 +734,7 @@ rb_print_backtrace(void) https://github.com/ruby/ruby/blob/trunk/vm_dump.c#L734 } #ifdef HAVE_LIBPROCSTAT -#include <sys/user.h> -#include <sys/sysctl.h> -#include <sys/param.h> -#include <libprocstat.h> -# 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__ Index: missing/procstat_vm.c =================================================================== --- missing/procstat_vm.c (nonexistent) +++ missing/procstat_vm.c (revision 67024) @@ -0,0 +1,85 @@ https://github.com/ruby/ruby/blob/trunk/missing/procstat_vm.c#L1 +#include <sys/user.h> +#include <sys/sysctl.h> +#include <sys/param.h> +#include <libprocstat.h> +# 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); +} -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/