]> git.saurik.com Git - apple/xnu.git/blob - bsd/dev/dtrace/scripts/vm_object_ownership.d
xnu-7195.50.7.100.1.tar.gz
[apple/xnu.git] / bsd / dev / dtrace / scripts / vm_object_ownership.d
1 #!/usr/sbin/dtrace -s
2
3 vminfo:::object_ownership_change
4 {
5 old_owner = (task_t)arg1;
6 if (old_owner == 0) {
7 old_pid = -1;
8 old_name = "(nil)";
9 } else {
10 old_proc = (proc_t)old_owner->bsd_info;
11 old_pid = old_proc->p_pid;
12 old_name = old_proc->p_comm;
13 }
14 new_owner = (task_t)arg4;
15 if (new_owner == 0) {
16 new_pid = -1;
17 new_name = "(nil)";
18 } else {
19 new_proc = (proc_t)new_owner->bsd_info;
20 new_pid = new_proc->p_pid;
21 new_name = new_proc->p_comm;
22 }
23
24 printf("%d[%s] object 0x%p id 0x%x purgeable:%d owner:0x%p (%d[%s]) tag:%d nofootprint:%d -> owner:0x%p (%d[%s]) tag:%d nofootprint:%d",
25 pid, execname, arg0, arg7, ((vm_object_t)arg0)->purgable,
26 old_owner, old_pid, old_name,
27 arg2, arg3,
28 new_owner, new_pid, new_name,
29 arg5, arg6);
30 stack();
31 ustack();
32 }