[PD-cvs] externals/grill/flext/source fldsp.cpp, 1.31, 1.32 flmap.h, 1.23, 1.24 flmsg.cpp, 1.20, 1.21 flout.cpp, 1.27, 1.28 flprefix.h, 1.36, 1.37 flqueue.cpp, 1.39, 1.40 flsupport.cpp, 1.57, 1.58 flxlet.cpp, 1.10, 1.11

Thomas Grill xovo at users.sourceforge.net
Fri Oct 27 15:34:58 CEST 2006


Update of /cvsroot/pure-data/externals/grill/flext/source
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7429/source

Modified Files:
	fldsp.cpp flmap.h flmsg.cpp flout.cpp flprefix.h flqueue.cpp 
	flsupport.cpp flxlet.cpp 
Log Message:
fix for Codewarrior compilation
update docs
fixed anything/symbol message mixup (thanks to Stefano Papetti)
fixed typos, dates, contact info
added gcc branch hinting


Index: flqueue.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flqueue.cpp,v
retrieving revision 1.39
retrieving revision 1.40
diff -C2 -d -r1.39 -r1.40
*** flqueue.cpp	24 May 2006 12:20:57 -0000	1.39
--- flqueue.cpp	27 Oct 2006 13:34:56 -0000	1.40
***************
*** 209,213 ****
          {
              if(th) {
!                 if(out < 0)
                      // message to self
                      th->CbMethodHandler(-1-out,sym,argc,argc > STATSIZE?argv:argl); 
--- 209,213 ----
          {
              if(th) {
!                 if(UNLIKELY(out < 0))
                      // message to self
                      th->CbMethodHandler(-1-out,sym,argc,argc > STATSIZE?argv:argl); 
***************
*** 239,243 ****
              sym = s;
              argc = cnt;
!             if(cnt > STATSIZE) {
                  argv = new t_atom[cnt];
                  flext::CopyAtoms(cnt,argv,lst);
--- 239,243 ----
              sym = s;
              argc = cnt;
!             if(UNLIKELY(cnt > STATSIZE)) {
                  argv = new t_atom[cnt];
                  flext::CopyAtoms(cnt,argv,lst);
***************
*** 252,256 ****
      {
          Msg *m = &msg;
!         if(m->Ok()) {
              for(; m->nxt; m = m->nxt) {}
              m = m->nxt = new Msg;
--- 252,256 ----
      {
          Msg *m = &msg;
!         if(LIKELY(m->Ok())) {
              for(; m->nxt; m = m->nxt) {}
              m = m->nxt = new Msg;
***************
*** 263,267 ****
  inline void Queue::Push(MsgBundle *m)
  {
!     if(m) {
          Put(m);
          Trigger();
--- 263,267 ----
  inline void Queue::Push(MsgBundle *m)
  {
!     if(LIKELY(m)) {
          Put(m);
          Trigger();
***************
*** 532,536 ****
  {
      void *cl = recv->s_thing;
!     if(!cl) return false;
      
  #if FLEXT_SYS == FLEXT_SYS_PD
--- 532,536 ----
  {
      void *cl = recv->s_thing;
!     if(UNLIKELY(!cl)) return false;
      
  #if FLEXT_SYS == FLEXT_SYS_PD

Index: flout.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flout.cpp,v
retrieving revision 1.27
retrieving revision 1.28
diff -C2 -d -r1.27 -r1.28
*** flout.cpp	15 May 2006 23:03:52 -0000	1.27
--- flout.cpp	27 Oct 2006 13:34:56 -0000	1.28
***************
*** 21,25 ****
  { 
      outlet *o = GetOut(n); 
!     if(o) { 
          CRITON(); 
          if(IsSymbol(at))
--- 21,25 ----
  { 
      outlet *o = GetOut(n); 
!     if(LIKELY(o)) { 
          CRITON(); 
          if(IsSymbol(at))
***************
*** 46,55 ****
  #if defined(FLEXT_THREADS)
      #if FLEXT_QMODE == 2
!         #define CHKTHR() ((IsSystemThread() || IsThread(flext::thrmsgid)) && !InDSP())
      #else
!         #define CHKTHR() (IsSystemThread() && !InDSP())
      #endif
  #else
!     #define CHKTHR() (!InDSP())
  #endif
  
--- 46,55 ----
  #if defined(FLEXT_THREADS)
      #if FLEXT_QMODE == 2
!         #define CHKTHR() (LIKELY((IsSystemThread() || IsThread(flext::thrmsgid)) && !InDSP()))
      #else
!         #define CHKTHR() (LIKELY(IsSystemThread() && !InDSP()))
      #endif
  #else
!     #define CHKTHR() (LIKELY(!InDSP()))
  #endif
  

Index: flmap.h
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flmap.h,v
retrieving revision 1.23
retrieving revision 1.24
diff -C2 -d -r1.23 -r1.24
*** flmap.h	11 Oct 2005 10:09:23 -0000	1.23
--- flmap.h	27 Oct 2006 13:34:56 -0000	1.24
***************
*** 59,63 ****
      {
          void *r;
!         if(n) 
              r = _set(tsize,k,t);
          else {
--- 59,63 ----
      {
          void *r;
!         if(LIKELY(n)) 
              r = _set(tsize,k,t);
          else {
***************
*** 69,77 ****
      }
  
!     void *find(int tsize,size_t k) const { return n?_find(tsize,k):0; }
  
      void *remove(int tsize,size_t k) 
  	{ 
! 		void *r = n?_remove(tsize,k):0; 
  //		check(tsize); 
  		return r; 
--- 69,77 ----
      }
  
!     void *find(int tsize,size_t k) const { return LIKELY(n)?_find(tsize,k):0; }
  
      void *remove(int tsize,size_t k) 
  	{ 
! 		void *r = LIKELY(n)?_remove(tsize,k):0; 
  //		check(tsize); 
  		return r; 
***************
*** 214,218 ****
      { 
          void *d = TableAnyMap::remove(N,*(size_t *)&k); 
!         if(d) --count;
          return (T)d;
      }
--- 214,218 ----
      { 
          void *d = TableAnyMap::remove(N,*(size_t *)&k); 
!         if(LIKELY(d)) --count;
          return (T)d;
      }

Index: flmsg.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flmsg.cpp,v
retrieving revision 1.20
retrieving revision 1.21
diff -C2 -d -r1.20 -r1.21
*** flmsg.cpp	15 May 2006 23:03:52 -0000	1.20
--- flmsg.cpp	27 Oct 2006 13:34:56 -0000	1.21
***************
*** 128,132 ****
  
      // search for exactly matching tag
!     if(methhead && (lst = methhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true;
      if((lst = clmethhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true;
  
--- 128,132 ----
  
      // search for exactly matching tag
!     if(UNLIKELY(methhead) && (lst = methhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true;
      if((lst = clmethhead->FindList(s,inlet)) != NULL && TryMethTag(lst,s,argc,argv)) return true;
  
***************
*** 143,147 ****
      ItemCont *clmethhead = ClMeths(thisClassId());
  
!     if(methhead && (lst = methhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true;
      if((lst = clmethhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true;
  
--- 143,147 ----
      ItemCont *clmethhead = ClMeths(thisClassId());
  
!     if(UNLIKELY(methhead) && (lst = methhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true;
      if((lst = clmethhead->FindList(sym_anything,inlet)) != NULL && TryMethAny(lst,s,argc,argv)) return true;
  

Index: flxlet.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flxlet.cpp,v
retrieving revision 1.10
retrieving revision 1.11
diff -C2 -d -r1.10 -r1.11
*** flxlet.cpp	19 Nov 2005 23:10:54 -0000	1.10
--- flxlet.cpp	27 Oct 2006 13:34:56 -0000	1.11
***************
*** 39,43 ****
  void flext_base::AddInlet(xlettype tp,int mult,const char *desc)
  {
!     if(incnt+mult >= MAXLETS)
          post("%s - too many inlets",thisName());
      else
--- 39,43 ----
  void flext_base::AddInlet(xlettype tp,int mult,const char *desc)
  {
!     if(UNLIKELY(incnt+mult >= MAXLETS))
          post("%s - too many inlets",thisName());
      else
***************
*** 51,55 ****
  void flext_base::AddOutlet(xlettype tp,int mult,const char *desc)
  {
!     if(outcnt+mult >= MAXLETS)
          post("%s - too many outlets",thisName());
      else
--- 51,55 ----
  void flext_base::AddOutlet(xlettype tp,int mult,const char *desc)
  {
!     if(UNLIKELY(outcnt+mult >= MAXLETS))
          post("%s - too many outlets",thisName());
      else
***************
*** 63,67 ****
  void flext_base::DescInlet(int ix,const char *d)
  {
!     if(ix >= incnt)
          post("%s - inlet %i not found",thisName(),ix);
      else
--- 63,67 ----
  void flext_base::DescInlet(int ix,const char *d)
  {
!     if(UNLIKELY(ix >= incnt))
          post("%s - inlet %i not found",thisName(),ix);
      else
***************
*** 71,75 ****
  void flext_base::DescOutlet(int ix,const char *d)
  {
!     if(ix >= outcnt)
          post("%s - outlet %i not found",thisName(),ix);
      else
--- 71,75 ----
  void flext_base::DescOutlet(int ix,const char *d)
  {
!     if(UNLIKELY(ix >= incnt))
          post("%s - outlet %i not found",thisName(),ix);
      else

Index: flprefix.h
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flprefix.h,v
retrieving revision 1.36
retrieving revision 1.37
diff -C2 -d -r1.36 -r1.37
*** flprefix.h	7 Oct 2005 12:58:48 -0000	1.36
--- flprefix.h	27 Oct 2006 13:34:56 -0000	1.37
***************
*** 413,416 ****
--- 413,425 ----
  #endif
  
+ // branching hints
+ #ifdef __GNUC__
+ #define LIKELY(expression) (__builtin_expect(!!(expression), 1))
+ #define UNLIKELY(expression) (__builtin_expect(!!(expression), 0))
+ #else
+ #define LIKELY(expression) (expression)
+ #define UNLIKELY(expression) (expression)
+ #endif
+ 
  
  #endif // __FLEXT_PREFIX_H

Index: fldsp.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/fldsp.cpp,v
retrieving revision 1.31
retrieving revision 1.32
diff -C2 -d -r1.31 -r1.32
*** fldsp.cpp	15 May 2006 23:03:52 -0000	1.31
--- fldsp.cpp	27 Oct 2006 13:34:56 -0000	1.32
***************
*** 50,54 ****
      if(!obj->thisHdr()->z_disabled)
  #else
!     if(obj->dspon)
  #endif
      {
--- 50,54 ----
      if(!obj->thisHdr()->z_disabled)
  #else
!     if(LIKELY(obj->dspon))
  #endif
      {

Index: flsupport.cpp
===================================================================
RCS file: /cvsroot/pure-data/externals/grill/flext/source/flsupport.cpp,v
retrieving revision 1.57
retrieving revision 1.58
diff -C2 -d -r1.57 -r1.58
*** flsupport.cpp	15 Dec 2005 23:04:06 -0000	1.57
--- flsupport.cpp	27 Oct 2006 13:34:56 -0000	1.58
***************
*** 120,124 ****
  #endif
      char *blk;
!     if(bytes >= LARGEALLOC) {
  #if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_)
          blk = (char *)::sysmem_newptr(bytes);
--- 120,124 ----
  #endif
      char *blk;
!     if(UNLIKELY(bytes >= LARGEALLOC)) {
  #if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_)
          blk = (char *)::sysmem_newptr(bytes);
***************
*** 164,168 ****
  	size_t bytes = *(size_t *)ori;
  
!     if(bytes >= LARGEALLOC) {
  #if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_)
          ::sysmem_freeptr(ori);
--- 164,168 ----
  	size_t bytes = *(size_t *)ori;
  
!     if(UNLIKELY(bytes >= LARGEALLOC)) {
  #if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_)
          ::sysmem_freeptr(ori);
***************
*** 206,210 ****
  
      char *blk;
!     if(bytes >= LARGEALLOC) {
  #if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_)
          blk = (char *)::sysmem_newptr(bytes);
--- 206,210 ----
  
      char *blk;
!     if(UNLIKELY(bytes >= LARGEALLOC)) {
  #if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_)
          blk = (char *)::sysmem_newptr(bytes);
***************
*** 240,244 ****
  	size_t bytes = *(size_t *)((char *)blk-sizeof(size_t));
  
!     if(bytes >= LARGEALLOC) {
  #if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_)
          ::sysmem_freeptr(ori);
--- 240,244 ----
  	size_t bytes = *(size_t *)((char *)blk-sizeof(size_t));
  
!     if(UNLIKELY(bytes >= LARGEALLOC)) {
  #if FLEXT_SYS == FLEXT_SYS_MAX && defined(_SYSMEM_H_)
          ::sysmem_freeptr(ori);





More information about the Pd-cvs mailing list