#include <assert.h>
#include <glib.h>
-#include "../mono/metadata/sgen-protocol.h"
+#include <mono/metadata/sgen-protocol.h>
#define SGEN_PROTOCOL_EOF 255
case SGEN_PROTOCOL_ALLOC: 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;
case SGEN_PROTOCOL_WBARRIER: size = sizeof (SGenProtocolWBarrier); break;
case SGEN_PROTOCOL_GLOBAL_REMSET: size = sizeof (SGenProtocolGlobalRemset); break;
case SGEN_PROTOCOL_PTR_UPDATE: size = sizeof (SGenProtocolPtrUpdate); break;
printf ("pin obj %p vtable %p size %d\n", entry->obj, entry->vtable, entry->size);
break;
}
+ case SGEN_PROTOCOL_MARK: {
+ SGenProtocolMark *entry = data;
+ printf ("mark obj %p vtable %p size %d\n", entry->obj, entry->vtable, entry->size);
+ break;
+ }
case SGEN_PROTOCOL_WBARRIER: {
SGenProtocolWBarrier *entry = data;
printf ("wbarrier ptr %p value %p value_vtable %p\n", entry->ptr, entry->value, entry->value_vtable);
SGenProtocolPin *entry = data;
return matches_interval (ptr, entry->obj, entry->size);
}
+ case SGEN_PROTOCOL_MARK: {
+ SGenProtocolMark *entry = data;
+ return matches_interval (ptr, entry->obj, entry->size);
+ }
case SGEN_PROTOCOL_WBARRIER: {
SGenProtocolWBarrier *entry = data;
return ptr == entry->ptr || ptr == entry->value;