From 7d1e36a31582f45b532823ff37bca5cf2019792d Mon Sep 17 00:00:00 2001 From: Brian Anderson Date: Sun, 26 Feb 2012 16:24:37 -0800 Subject: [PATCH] rt: Remove ptr_vec. Unused --- src/rt/rust_internal.h | 28 ------------- src/rt/rust_util.h | 91 ------------------------------------------ 2 files changed, 119 deletions(-) diff --git a/src/rt/rust_internal.h b/src/rt/rust_internal.h index 4227cd62397..85b12b3e546 100644 --- a/src/rt/rust_internal.h +++ b/src/rt/rust_internal.h @@ -152,34 +152,6 @@ template struct region_owned { struct rust_cond { }; -// Helper class used regularly elsewhere. - -template class ptr_vec : public task_owned > { - static const size_t INIT_SIZE = 8; - rust_task *task; - size_t alloc; - size_t fill; - T **data; -public: - ptr_vec(rust_task *task); - ~ptr_vec(); - - size_t length() { - return fill; - } - - bool is_empty() { - return fill == 0; - } - - T *& operator[](size_t offset); - void push(T *p); - T *pop(); - T *peek(); - void trim(size_t fill); - void swap_delete(T* p); -}; - #include "memory_region.h" #include "rust_srv.h" #include "rust_log.h" diff --git a/src/rt/rust_util.h b/src/rt/rust_util.h index 2a842a67f4a..834d5043841 100644 --- a/src/rt/rust_util.h +++ b/src/rt/rust_util.h @@ -4,97 +4,6 @@ #include "rust_task.h" #include -// Utility type: pointer-vector. - -template -ptr_vec::ptr_vec(rust_task *task) : - task(task), - alloc(INIT_SIZE), - fill(0), - data(new (task, "ptr_vec") T*[alloc]) -{ - I(task->thread, data); - DLOG(task->thread, mem, "new ptr_vec(data=0x%" PRIxPTR ") -> 0x%" PRIxPTR, - (uintptr_t)data, (uintptr_t)this); -} - -template -ptr_vec::~ptr_vec() -{ - I(task->thread, data); - DLOG(task->thread, mem, "~ptr_vec 0x%" PRIxPTR ", data=0x%" PRIxPTR, - (uintptr_t)this, (uintptr_t)data); - I(task->thread, fill == 0); - task->free(data); -} - -template T *& -ptr_vec::operator[](size_t offset) { - I(task->thread, data[offset]->idx == offset); - return data[offset]; -} - -template -void -ptr_vec::push(T *p) -{ - I(task->thread, data); - I(task->thread, fill <= alloc); - if (fill == alloc) { - alloc *= 2; - data = (T **)task->realloc(data, alloc * sizeof(T*)); - I(task->thread, data); - } - I(task->thread, fill < alloc); - p->idx = fill; - data[fill++] = p; -} - -template -T * -ptr_vec::pop() -{ - return data[--fill]; -} - -template -T * -ptr_vec::peek() -{ - return data[fill - 1]; -} - -template -void -ptr_vec::trim(size_t sz) -{ - I(task->thread, data); - if (sz <= (alloc / 4) && - (alloc / 2) >= INIT_SIZE) { - alloc /= 2; - I(task->thread, alloc >= fill); - data = (T **)task->realloc(data, alloc * sizeof(T*)); - I(task->thread, data); - } -} - -template -void -ptr_vec::swap_delete(T *item) -{ - /* Swap the endpoint into i and decr fill. */ - I(task->thread, data); - I(task->thread, fill > 0); - I(task->thread, item->idx < fill); - fill--; - if (fill > 0) { - T *subst = data[fill]; - size_t idx = item->idx; - data[idx] = subst; - subst->idx = idx; - } -} - // Inline fn used regularly elsewhere. static inline size_t