Commit graph

1326 commits

Author SHA1 Message Date
909c7a1715 now core operation of CmdClosure passes compler! 2009-06-22 06:18:13 +02:00
61f8c1814d tuple test pass 2009-06-22 06:05:32 +02:00
db9ef808a5 refactoring to solve consistency problems uncovered by the tests 2009-06-21 19:52:33 +02:00
c3768b93a1 function closure utils finished and pass test 2009-06-21 08:38:24 +02:00
231834d2e9 basic tuple creation and outline of the remainder of the test 2009-06-21 02:03:22 +02:00
ad7c326c9c got basic diagnostics for type tuples working 2009-06-20 23:18:02 +02:00
294c254f29 Fix instantiation of Tuple datastructs 2009-06-20 23:17:22 +02:00
0117e4bce5 start a function-closure unit test... 2009-06-20 18:41:18 +02:00
95f0b26e38 start a type tuple unit test... 2009-06-20 18:06:07 +02:00
1620b8dcef WIP fixes to Apply<N>, but yet doesn't work... 2009-06-20 09:32:22 +02:00
b26de14dcf WIP how to apply the param tuple? 2009-06-20 09:22:33 +02:00
bc94f299e2 hey... now storing the operation is almost effortless! 2009-06-20 07:13:20 +02:00
a28c05877f test pass (resolves Ticket #174) 2009-06-20 06:11:09 +02:00
079030818d draft a test to sharpen the idea of the function holder (erasure) 2009-06-20 04:43:52 +02:00
a565bfef73 some header-renaming 2009-06-20 01:28:47 +02:00
006c29c625 Idea how to store an unspecified functor to be used later as Command implementation 2009-06-20 00:00:29 +02:00
f358f548d1 draft version of CmdClosure and Mutation interface now passing compiler 2009-06-19 19:11:33 +02:00
e951c468a7 WIP: header rename 2009-06-19 14:47:37 +02:00
4307191369 merging latest bugfixes
Merge branch 'master' into session
2009-06-19 14:36:22 +02:00
0ab5a92629 WIP: test-driven brainstorming... how to capture state and params. 2009-06-19 05:57:06 +02:00
Christian Thaeter
52ac7bdc5e FIX: bogus pointer dereference causing gcc to barf
gcc (GCC) 4.2.4 (Ubuntu 4.2.4-1ubuntu3) reported:

./src/lib/mpool.c: In function ‘bitmap_bit_get_nth’:
./src/lib/mpool.c:119: warning: dereferencing type-punned
 pointer will break strict-aliasing rules
2009-06-19 04:22:29 +02:00
8dfc234729 small fix: wrong log formatting spec detected by valgrind 2009-06-19 03:21:43 +02:00
fba135c746 Merge backend and testsuite improvements 2009-06-19 01:19:20 +02:00
37c0175bd1 fix crash on closing lumiera, in case of starting multiple threads 2009-06-19 00:45:08 +02:00
3f9902f682 fix possible race in dummy player: sync on tick thread termination 2009-06-19 00:40:31 +02:00
d1b425aba9 finish and tidy the extracted headers 2009-06-17 06:55:18 +02:00
9d04f48c51 WIP: further split the headers 2009-06-16 12:07:49 +02:00
ab4b4c71e6 WIP: start extacting new headers 2009-06-16 11:39:36 +02:00
441cb6b9e2 WIP try to solve the problem of closing a function with arbitrary args 2009-06-15 03:47:05 +02:00
7741b50b91 WIP rewrote the Sub-Tuple extractor into a simplistic Tuple type 2009-06-14 19:40:35 +02:00
b937bd08ae WIP: parameter closure brainstorming 2009-06-14 05:38:35 +02:00
246529bae9 concpet draft of parameter type extraction and checking works (i.e. compiles) 2009-06-10 05:00:01 +02:00
e3da082016 WIP idea to allow arbitrary command parameters 2009-06-10 03:42:23 +02:00
102e96891b fixing, stubbing, and some chainsaw surgery to get half-finished code through the compiler 2009-06-09 09:05:19 +02:00
3a7de1654a WIP: create a "scrapbook" test for trying out some ideas 2009-06-08 21:29:09 +02:00
ba37045b48 WIP: interface/framwork skeleton 2009-06-08 04:50:29 +02:00
f1827ea753 WIP: test support macro for exception check 2009-06-07 03:22:08 +02:00
2731e34c3e WIP: test driven brainstorming: basic MObjectRef behaviour 2009-06-07 00:45:55 +02:00
091c3a20ef fix indentation 2009-06-06 23:58:44 +02:00
Christian Thaeter
64c1238445 FIX: mpool: macro for constants depending on host wordsize
This might fix http://issues.lumiera.org/ticket/136 I have no 32bit
system to validate this.
2009-06-06 16:05:34 +02:00
ee7f2d6c0f WIP: replace direct ctor call by an embedded factory member 2009-06-06 07:12:09 +02:00
90dffdc9d2 some cleanup and renaming 2009-06-06 06:55:13 +02:00
815f8569ce WIP: accessing the default PlacementIndex (within the Session) 2009-06-06 06:18:37 +02:00
fa31f3736e WIP some details regarding PlacementRef 2009-06-06 04:23:11 +02:00
4ee0b18731 Fix: activation of MObjectRef, exception safety 2009-06-06 04:04:33 +02:00
638022c07f WIP: add run-time type check API to Placement 2009-06-06 04:02:08 +02:00
d740d9734d re-enable test for waiting on thread termination 2009-06-05 05:35:24 +02:00
b6d22bb2e0 fix: condition for signalling thread termination is optional 2009-06-05 05:04:45 +02:00
e0ff915987 adapt thread-wrapper.hpp to backend thread API change 2009-06-05 05:00:53 +02:00
Christian Thaeter
58f1fbe3a8 mpool: completion
fix tests, add some benchmarks
finished documentation, cosmetics, cleanup
2009-06-04 18:11:45 +02:00
Christian Thaeter
92271ba1c1 mpool: add an alloc_near() function which takes a explicit hint for locality 2009-06-04 18:11:44 +02:00
Christian Thaeter
0dc0d18703 mpool: ldiv() division bites the dust in favor of some bitops
before:
 1,747,160,336  PROGRAM TOTALS
after:
 1,371,806,087  PROGRAM TOTALS
2009-06-04 18:11:44 +02:00
Christian Thaeter
9ed817df97 mpool: precalculate cluster size to avoid excess recalculations
Callgrind before:
 1,963,501,246  PROGRAM TOTALS
After:
 1,747,160,336  PROGRAM TOTALS
2009-06-04 18:11:44 +02:00
Christian Thaeter
29a1a6a7a0 mpool: some pending cosmetics an trace points 2009-06-04 18:11:27 +02:00
Christian Thaeter
2a9d59ccd0 WIP: pooled allocator, initial version
* creating and allocating, freeing elements
 * live objects will be destructed when a mpool gets destroyed and a
   destructor was set up
2009-06-04 18:10:25 +02:00
Christian Thaeter
062dbfe82f Merge commit '99b5f8'
* commit '99b5f8':
  adapt the Sync template
  Add reccondition to threads, make its functionality complete
  fix some includes for new mutex/recmutex headers
  weed out reccondition bugs/typos
  New condition and reccondition implementation
  split mutex.h again into mutex.h and recmutex.h
  typo fix in mutex.h
  rename casing of RecMutex to Recmutex to be consistent
  store lumiera_rwlock in sectionlock
  store a lumiera_mutex in a sectionlock, looks cleaner
  add check to chained locking validating that the parent lock is held
  rwlock makeover, locksections etc...
  error code changed to LOCK_DESTROY
  fix: forgotten backcasts in mutex.h
  new mutex and recmutex implementation (breaks sync.hpp for now)
2009-06-03 20:20:41 +02:00
Christian Thaeter
8f2333a786 Merge commit '59de53b25a78cd330c0c6e0f637e8cf7618da4'
* commit '59de53b25a78cd330c0c6e0f637e8cf7618da4':
  llist: add an generic void* to the compare, sort and search functions
  let llist_init return the initialized node
2009-06-03 18:47:56 +02:00
99b5f8d44d adapt the Sync template 2009-06-03 18:22:11 +02:00
Christian Thaeter
dd9b7a174f Add reccondition to threads, make its functionality complete
With this the threads are now usable, despite still a mockup
implementation.

Some basic tests to show their use included.
2009-06-03 18:22:11 +02:00
Christian Thaeter
323724b623 fix some includes for new mutex/recmutex headers 2009-06-03 18:22:10 +02:00
Christian Thaeter
7758d76c7b weed out reccondition bugs/typos 2009-06-03 18:22:10 +02:00
Christian Thaeter
d91620a60f New condition and reccondition implementation
Should be working but not thoroughly tested still, docs not complete
2009-06-03 18:22:10 +02:00
Christian Thaeter
4f29f302b2 split mutex.h again into mutex.h and recmutex.h 2009-06-03 18:22:10 +02:00
Christian Thaeter
ec62ca073b typo fix in mutex.h 2009-06-03 18:22:09 +02:00
Christian Thaeter
30a117c1d8 rename casing of RecMutex to Recmutex to be consistent 2009-06-03 18:22:09 +02:00
Christian Thaeter
93abe657c8 store lumiera_rwlock in sectionlock 2009-06-03 18:22:09 +02:00
Christian Thaeter
5b82f3355b store a lumiera_mutex in a sectionlock, looks cleaner 2009-06-03 18:22:09 +02:00
Christian Thaeter
cafcffd4b1 add check to chained locking validating that the parent lock is held 2009-06-03 18:22:08 +02:00
Christian Thaeter
5c2ac96f35 rwlock makeover, locksections etc...
The CHAINED variant is not tested, what could go wrong anyways :)
2009-06-03 18:22:08 +02:00
Christian Thaeter
ca0250c018 error code changed to LOCK_DESTROY 2009-06-03 18:22:08 +02:00
Christian Thaeter
cf664ca970 fix: forgotten backcasts in mutex.h 2009-06-03 18:22:07 +02:00
Christian Thaeter
a115759128 new mutex and recmutex implementation (breaks sync.hpp for now)
prepares that chained sections if different kinds can be mixed
makes recmutexes typesafe
improves nobug tracking
2009-06-03 18:22:07 +02:00
Christian Thaeter
59de53b25a llist: add an generic void* to the compare, sort and search functions
This allows the user to pass some extra data along, which improves the
usefulness in certain cases.
2009-06-03 18:22:01 +02:00
Christian Thaeter
85b1297b4a let llist_init return the initialized node
This makes it possible to use the init without a temporary variable:
 llist_insert_next (llist_init (foo), llist_init (bar));
2009-06-03 18:19:56 +02:00
Anton Yakovlev
87e528bd58 Cyclic L1-list. Implements almost the same set of operations as for L2-list
(except those, which reverse enumeration of elements).
2009-06-03 18:12:35 +04:00
608c532df7 Fix: wrong wiring of subsystem descriptor for the Session 2009-06-02 03:32:48 +02:00
8a453bd52b WIP: start drafing MObjectRef 2009-06-02 03:31:52 +02:00
1f4676e7b6 cleanup old ID definiton now superseeded by hash-ID 2009-05-31 05:14:23 +02:00
d49eea6e5d finished reworking Placement (hierarchy and ID) 2009-05-31 05:02:03 +02:00
e8c25fca0a supply test definition 2009-05-31 02:41:00 +02:00
e0ad992f30 spinn-off: collecting some frequently used bits to support unit testing 2009-05-30 23:49:02 +02:00
20a1268683 recast the PlacementHierarchy_test to use the real Placement/MObject hierarchy 2009-05-29 23:13:56 +02:00
50a42e5104 extract dummy MObject hierarchy for unit tests 2009-05-29 22:12:12 +02:00
014b6c0b49 intend to use the time wrapper 2009-05-29 19:03:34 +02:00
940d63a9fa time wrapper minimal test coverage 2009-05-29 18:36:37 +02:00
dedb70aac9 @Joel: a simple convenience wrapper for gavl_time_t 2009-05-29 18:36:37 +02:00
efa7b4717c rework placement to contain a LUID, and to deal with inheritance according to the concept draft 2009-05-29 07:10:54 +02:00
003895b08d considering how to bring the new hash ID into Placement.
Which in turn is required for the Placement/MObject ref and the Placement index
2009-05-24 19:34:47 +02:00
85a9c99e52 hash ID: add trivial implementation + impl based on LUID 2009-05-24 05:14:11 +02:00
3b8a851722 add equality 2009-05-24 01:46:00 +02:00
2bb64a23fa augment test, rework access to the hashID, template on hash impl 2009-05-23 05:13:51 +02:00
e5d2042190 WIP rename and reorganise hash ID, now focussing on the Mixin 2009-05-23 03:43:39 +02:00
bac5da777b WIP document the concept of the hash ID, get rid of the uggly cast 2009-05-22 03:41:58 +02:00
020636b90a WIP extract the hash ID draft into separate header & test 2009-05-22 02:40:20 +02:00
0802d969cc WIP disentangle ID definition from target hierarchy by templating it on the base class 2009-05-22 02:15:58 +02:00
87362a4b0d WIP draft for a generic hash based and typed id, similar to asset::ID 2009-05-21 20:26:44 +02:00
35ebe966b5 add new kind of MObject (Binding) to express special scopes 2009-05-21 04:06:36 +02:00
cc66f2b0d0 preliminary placement index impl started.
Basically I need this simple framework to be able to write tests,
which enables me to flesh out the API, which in turn is a
prerequisite for defining the PlacementRef
2009-05-20 03:36:12 +02:00
cab776847d spelling and cleanup (to get it compiling) 2009-05-20 02:26:47 +02:00
7abada72fd a bit of API brainstorming 2009-05-13 03:46:08 +02:00