[PD-cvs] externals/pdp/system/kernel pdp_list.c, 1.3, 1.4 pdp_mem.c, 1.3, 1.4 pdp_packet.c, 1.3, 1.4 pdp_post.c, 1.3, 1.4 pdp_type.c, 1.3, 1.4
Tom Schouten
doelie at users.sourceforge.net
Fri Sep 1 15:45:33 CEST 2006
Update of /cvsroot/pure-data/externals/pdp/system/kernel
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2628/system/kernel
Modified Files:
pdp_list.c pdp_mem.c pdp_packet.c pdp_post.c pdp_type.c
Log Message:
pdp current darcs merge
Index: pdp_list.c
===================================================================
RCS file: /cvsroot/pure-data/externals/pdp/system/kernel/pdp_list.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** pdp_list.c 16 Dec 2005 01:05:39 -0000 1.3
--- pdp_list.c 1 Sep 2006 13:45:31 -0000 1.4
***************
*** 761,768 ****
/* return element at index */
! t_pdp_word pdp_list_index(t_pdp_list *l, int index)
{
t_pdp_atom *a;
! for (a = l->first; index--; a = a->next);
return a->w;
}
--- 761,768 ----
/* return element at index */
! t_pdp_word pdp_list_index(t_pdp_list *l, int indx)
{
t_pdp_atom *a;
! for (a = l->first; indx--; a = a->next);
return a->w;
}
Index: pdp_mem.c
===================================================================
RCS file: /cvsroot/pure-data/externals/pdp/system/kernel/pdp_mem.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** pdp_mem.c 16 Dec 2005 01:05:39 -0000 1.3
--- pdp_mem.c 1 Sep 2006 13:45:31 -0000 1.4
***************
*** 20,26 ****
--- 20,31 ----
#include <stdlib.h>
+ #include <stdio.h>
#include "pdp_mem.h"
#include "pdp_debug.h"
+ // defined here so we don't need to rebuild when changing it (deps for headers are broken)
+ #define PDP_FASTALLOC_BLOCK_ELEMENTS 4096
+ //#define PDP_FASTALLOC_BLOCK_ELEMENTS 1
+ #define D if (0)
/* malloc wrapper that calls garbage collector */
***************
*** 31,34 ****
--- 36,41 ----
PDP_ASSERT(ptr);
+ D fprintf(stderr, "alloc %p %d\n", ptr, size);
+
return ptr;
***************
*** 42,45 ****
--- 49,53 ----
void pdp_dealloc(void *stuff)
{
+ D fprintf(stderr, "dealloc %p\n", stuff);
free (stuff);
}
***************
*** 88,91 ****
--- 96,103 ----
}
+ #define USE_FASTALLOC 1
+
+ #if USE_FASTALLOC
+
void *pdp_fastalloc_new_atom(t_pdp_fastalloc *x)
{
***************
*** 128,129 ****
--- 140,148 ----
}
+ #else
+
+ void *pdp_fastalloc_new_atom(t_pdp_fastalloc *x) {return pdp_alloc(12);}
+ void pdp_fastalloc_save_atom(t_pdp_fastalloc *x, void *atom) {pdp_dealloc(atom);}
+ t_pdp_fastalloc *pdp_fastalloc_new(unsigned int size) {return 0;}
+
+ #endif
Index: pdp_type.c
===================================================================
RCS file: /cvsroot/pure-data/externals/pdp/system/kernel/pdp_type.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** pdp_type.c 16 Dec 2005 01:05:39 -0000 1.3
--- pdp_type.c 1 Sep 2006 13:45:31 -0000 1.4
***************
*** 343,347 ****
}
if (program_last == program_tail){
! pdp_post("ERROR: pdp_packet_convert: conversion loop detected");
}
program_last = program_tail;
--- 343,347 ----
}
if (program_last == program_tail){
! //pdp_post("ERROR: pdp_packet_convert: conversion loop detected");
}
program_last = program_tail;
Index: pdp_packet.c
===================================================================
RCS file: /cvsroot/pure-data/externals/pdp/system/kernel/pdp_packet.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** pdp_packet.c 16 Dec 2005 01:05:39 -0000 1.3
--- pdp_packet.c 1 Sep 2006 13:45:31 -0000 1.4
***************
*** 33,36 ****
--- 33,38 ----
+ #define D if(0)
+
/* packet implementation. contains class and packet (instance) handling
***************
*** 153,156 ****
--- 155,159 ----
/* call class constructor */
while(a){
+ D pdp_post("new: %s", type->s_name);
c = (t_pdp_class *)(a->w.w_pointer);
if (c->type && pdp_type_description_match(type, c->type)){
***************
*** 288,291 ****
--- 291,303 ----
*/
+ /* NEW DOES NOT USE THE REUSE FIFO !!!!
+ this is a true and genuine mess:
+ the reuse fifo can grow indefinitely with garbage elements if it's never used,
+ while it points to stale packets.. backdoor access = BAD.
+
+ if i recall, this is mainly a compatibility issue..
+
+ */
+
int
pdp_packet_new(unsigned int datatype, unsigned int datasize)
***************
*** 328,331 ****
--- 340,346 ----
_pdp_packet_save_nolock(int packet)
{
+
+
+
t_pdp *header = pdp_packet_header(packet);
t_pdp_symbol *s;
***************
*** 335,339 ****
--- 350,377 ----
s = header->desc;
if (!s->s_reusefifo) s->s_reusefifo = pdp_list_new(0);
+
+
+ /* big o hack: since pdp_packet_new can reap packets behind our back,
+ we won't add a packet if it's already in here */
+
+ if (1) {
+ t_pdp_atom *a = s->s_reusefifo->first;
+ while (a){
+ if (a->w.w_packet == packet) goto found;
+ a = a->next;
+ }
+ }
+
pdp_list_add(s->s_reusefifo, a_packet, (t_pdp_word)packet);
+
+ found:
+
+
+
+ if (PDP_DEBUG){
+ int el = s->s_reusefifo->elements;
+ int maxel = 100;
+ if (el > maxel) pdp_post("WARNING: %s reuse fifo has %d elements.", s->s_name, el);
+ }
}
Index: pdp_post.c
===================================================================
RCS file: /cvsroot/pure-data/externals/pdp/system/kernel/pdp_post.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** pdp_post.c 16 Dec 2005 01:05:39 -0000 1.3
--- pdp_post.c 1 Sep 2006 13:45:31 -0000 1.4
***************
*** 30,34 ****
/* write a message to log (console) */
! void pdp_post_n(char *fmt, ...)
{
va_list ap;
--- 30,34 ----
/* write a message to log (console) */
! void _pdp_post_n(char *fmt, ...)
{
va_list ap;
***************
*** 37,41 ****
va_end(ap);
}
! void pdp_post(char *fmt, ...)
{
va_list ap;
--- 37,41 ----
va_end(ap);
}
! void _pdp_post(char *fmt, ...)
{
va_list ap;
More information about the Pd-cvs
mailing list