summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorJosh Blum2012-11-17 20:22:13 -0800
committerJosh Blum2012-11-17 20:22:13 -0800
commiteba4d4bbec74e4daf3927e75950ea50efa99739a (patch)
tree674ac466351ab42b0da6471d6e49d5e02ee05a9d /lib
parenteecfc6800e08bf3eec1c8fd93e8b07baf06230b3 (diff)
downloadsandhi-eba4d4bbec74e4daf3927e75950ea50efa99739a.tar.gz
sandhi-eba4d4bbec74e4daf3927e75950ea50efa99739a.tar.bz2
sandhi-eba4d4bbec74e4daf3927e75950ea50efa99739a.zip
created some metadata for work buffer array
Diffstat (limited to 'lib')
-rw-r--r--lib/block_task.cpp8
1 files changed, 8 insertions, 0 deletions
diff --git a/lib/block_task.cpp b/lib/block_task.cpp
index 2495f01..41f1787 100644
--- a/lib/block_task.cpp
+++ b/lib/block_task.cpp
@@ -125,6 +125,8 @@ void BlockActor::handle_task(void)
//-- initialize input buffers before work
//------------------------------------------------------------------
size_t output_inline_index = 0;
+ this->input_items.min_items() = ~0;
+ this->input_items.max_items() = 0;
for (size_t i = 0; i < num_inputs; i++)
{
this->sort_tags(i);
@@ -137,6 +139,8 @@ void BlockActor::handle_task(void)
this->input_items[i].get() = mem;
this->input_items[i].size() = items;
+ this->input_items.min_items() = std::min(this->input_items.min_items(), items);
+ this->input_items.max_items() = std::max(this->input_items.max_items(), items);
//inline dealings, how and when input buffers can be inlined into output buffers
//continue;
@@ -157,6 +161,8 @@ void BlockActor::handle_task(void)
//------------------------------------------------------------------
//-- initialize output buffers before work
//------------------------------------------------------------------
+ this->output_items.min_items() = ~0;
+ this->output_items.max_items() = 0;
for (size_t i = 0; i < num_outputs; i++)
{
ASSERT(this->output_queues.ready(i));
@@ -167,6 +173,8 @@ void BlockActor::handle_task(void)
this->output_items[i].get() = mem;
this->output_items[i].size() = items;
+ this->output_items.min_items() = std::min(this->output_items.min_items(), items);
+ this->output_items.max_items() = std::max(this->output_items.max_items(), items);
}
//------------------------------------------------------------------