Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Probst <mark.probst@gmail.com>2010-06-05 12:47:48 +0400
committerMark Probst <mark.probst@gmail.com>2010-06-05 12:47:48 +0400
commit21e4378b0f582b9b25f1fdf6d7b85b53710f282c (patch)
tree8ec80f66f71b54d05f03de2ca2ce1550c547f6ae /tools/sgen
parentd9687a8c5f73513d34c91140f9b4a5768eb3caab (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/sgen')
-rw-r--r--tools/sgen/sgen-grep-binprot.c16
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);
}