Subversion Repositories shark

Compare Revisions

Ignore whitespace Rev 503 → Rev 504

/shark/trunk/tracer/newtrace/FTrace.c
153,6 → 153,8
return -1;
}
 
memset(FT_temp,0,sizeof(struct FTrace_Chunk) + FTRACE_OSD_CHUNK_HEAD + size + emergency_size);
 
err = FTrace_chunk_init(FT_temp, number, size, emergency_size, flags);
if (err != 0) {
#ifdef FTRACE_DEBUG
432,6 → 434,25
 
}
 
/* Update the OSD of actual chunk */
int FTrace_update_actual_chunk()
{
 
FTrace_lock();
 
if (ActualChunk == NULL) return 0;
 
FTrace_fsave();
FTrace_OSD_save_pointers();
FTrace_frestore();
 
FTrace_unlock();
 
return 0;
 
}
 
/* Create a new memory region where the compressed data are stored */
int FTrace_compress_chunk(int number, FTrace_flags new_flags)
{
560,12 → 581,27
void FTrace_chunk_dump(int number) {
 
FTrace_Chunk_Ptr FT_temp = ChunkTable[number];
int i,t;
DWORD p;
 
FTrace_update_actual_chunk();
 
cprintf("ID = %x\n",FT_temp->id);
cprintf("NUM = %d\n",FT_temp->number);
cprintf("FLAGS = %d\n",FT_temp->flags);
cprintf("SIZE = %d\n",FT_temp->size);
cprintf("EMERG = %d\n",FT_temp->emergency_size);
 
for (i=0; i<0xFF; i++) {
p = *(DWORD *)(FT_temp->osd + 8);
t = 0;
while((p + 16) < *(DWORD *)(FT_temp->osd + 8) + *(DWORD *)(FT_temp->osd + 12)) {
if (*(WORD *)(p+2) == i) t++;
p += 16;
}
if (t != 0)
cprintf("Event type %02x => %d\n",i,t);
}
}