#define pmcupdateObj(objptr) ((void *)((struct ___Object___ *)objptr)->marked)
-#define PMCUPDATEOBJ(obj) {void *updatetmpptr=obj; if (updatetmpptr!=NULL) {obj=pmcupdateObj(updatetmpptr);}}
+#define PMCUPDATEOBJ(obj) {void *updatetmpptr=obj; tprintf("UP%x\n", updatetmpptr); if (updatetmpptr!=NULL) {obj=pmcupdateObj(updatetmpptr);}}
#define PMCUPDATEOBJNONNULL(obj) {void *updatetmpptr=obj; obj=pmcupdateObj(updatetmpptr);}
void pmc_referenceupdate(void *bottomptr, void *topptr) {
void *tmpptr=bottomptr;
+ tprintf("%x -- %x\n", bottomptr, topptr);
while(tmpptr<topptr) {
unsigned int type;
unsigned int size;
gettype_size(tmpptr, &type, &size);
+ size=((size-1)&(~(ALIGNMENTSIZE-1)))+ALIGNMENTSIZE;
+ tprintf("%x typ=%u sz=%u\n", tmpptr, type, size);
if (!type) {
tmpptr+=ALIGNMENTSIZE;
continue;
pmc_updatePtrs(tmpptr, type);
}
tmpptr+=size;
+ tprintf("INC\n");
}
}
unsigned int type;
unsigned int size;
gettype_size(tmpptr, &type, &size);
+ size=((size-1)&(~(ALIGNMENTSIZE-1)))+ALIGNMENTSIZE;
if (!type) {
tmpptr+=ALIGNMENTSIZE;
continue;
unsigned int type;
unsigned int size;
gettype_size(lastobj, &type, &size);
+ size=((size-1)&(~(ALIGNMENTSIZE-1)))+ALIGNMENTSIZE;
void *forwardptr=(void *)((struct ___Object___ *) lastobj)->marked;
((struct ___Object___ *) lastobj)->marked=NULL;
if (forwardptr) {