diff options
author | Mark Probst <mark.probst@gmail.com> | 2010-06-05 12:47:48 +0400 |
---|---|---|
committer | Mark Probst <mark.probst@gmail.com> | 2010-06-05 12:47:48 +0400 |
commit | 21e4378b0f582b9b25f1fdf6d7b85b53710f282c (patch) | |
tree | 8ec80f66f71b54d05f03de2ca2ce1550c547f6ae /tools | |
parent | d9687a8c5f73513d34c91140f9b4a5768eb3caab (diff) |
2010-06-05 Mark Probst <mark.probst@gmail.com>
* sgen-gc.c, sgen-protocol.c, sgen-protocol.h: Protocol degraded
allocations and distinguish between normal, degraded and pinned
allocations.
2010-06-05 Mark Probst <mark.probst@gmail.com>
* tools/sgen/sgen-grep-binprot.c: Updated for degraded and pinned
allocations.
svn path=/trunk/mono/; revision=158528
Diffstat (limited to 'tools')
-rw-r--r-- | tools/sgen/sgen-grep-binprot.c | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/tools/sgen/sgen-grep-binprot.c b/tools/sgen/sgen-grep-binprot.c index 1bc8b93a96a..a4d5b4e77c2 100644 --- a/tools/sgen/sgen-grep-binprot.c +++ b/tools/sgen/sgen-grep-binprot.c @@ -18,6 +18,8 @@ read_entry (FILE *in, void **data) switch (type) { case SGEN_PROTOCOL_COLLECTION: size = sizeof (SGenProtocolCollection); break; case SGEN_PROTOCOL_ALLOC: size = sizeof (SGenProtocolAlloc); break; + case SGEN_PROTOCOL_ALLOC_PINNED: size = sizeof (SGenProtocolAlloc); break; + case SGEN_PROTOCOL_ALLOC_DEGRADED: size = sizeof (SGenProtocolAlloc); break; case SGEN_PROTOCOL_COPY: size = sizeof (SGenProtocolCopy); break; case SGEN_PROTOCOL_PIN: size = sizeof (SGenProtocolPin); break; case SGEN_PROTOCOL_MARK: size = sizeof (SGenProtocolMark); break; @@ -54,6 +56,16 @@ print_entry (int type, void *data) printf ("alloc obj %p vtable %p size %d\n", entry->obj, entry->vtable, entry->size); break; } + case SGEN_PROTOCOL_ALLOC_PINNED: { + SGenProtocolAlloc *entry = data; + printf ("alloc pinned obj %p vtable %p size %d\n", entry->obj, entry->vtable, entry->size); + break; + } + case SGEN_PROTOCOL_ALLOC_DEGRADED: { + SGenProtocolAlloc *entry = data; + printf ("alloc degraded obj %p vtable %p size %d\n", entry->obj, entry->vtable, entry->size); + break; + } case SGEN_PROTOCOL_COPY: { SGenProtocolCopy *entry = data; printf ("copy from %p to %p vtable %p size %d\n", entry->from, entry->to, entry->vtable, entry->size); @@ -136,7 +148,9 @@ is_match (gpointer ptr, int type, void *data) case SGEN_PROTOCOL_THREAD_REGISTER: case SGEN_PROTOCOL_THREAD_UNREGISTER: return TRUE; - case SGEN_PROTOCOL_ALLOC: { + case SGEN_PROTOCOL_ALLOC: + case SGEN_PROTOCOL_ALLOC_PINNED: + case SGEN_PROTOCOL_ALLOC_DEGRADED: { SGenProtocolAlloc *entry = data; return matches_interval (ptr, entry->obj, entry->size); } |