From 596d19e2ea1f2cc96f7e493171a692bc0b912ce6 Mon Sep 17 00:00:00 2001 From: Roy Frostig Date: Wed, 28 Jul 2010 14:00:44 -0700 Subject: Test the deque a bit. Give it a get-by-index method. Fix two uncovered state-calculation bugs --- one decently, the other with an ugly hack. Bug on the latter coming right up. --- src/rt/rust_crate_cache.cpp | 1 + src/rt/rust_upcall.cpp | 9 +++++++-- 2 files changed, 8 insertions(+), 2 deletions(-) (limited to 'src/rt') diff --git a/src/rt/rust_crate_cache.cpp b/src/rt/rust_crate_cache.cpp index 650e3bb1..c5076639 100644 --- a/src/rt/rust_crate_cache.cpp +++ b/src/rt/rust_crate_cache.cpp @@ -216,6 +216,7 @@ rust_crate_cache::get_type_desc(size_t size, "rust_crate_cache::descs[%" PRIdPTR "] = 0x%" PRIxPTR, i, descs[i]); td->descs[i] = descs[i]; + td->is_stateful |= descs[i]->is_stateful; } adjust_disp(td->copy_glue_off, descs[0], td); adjust_disp(td->drop_glue_off, descs[0], td); diff --git a/src/rt/rust_upcall.cpp b/src/rt/rust_upcall.cpp index ff6874e4..8ce40b57 100644 --- a/src/rt/rust_upcall.cpp +++ b/src/rt/rust_upcall.cpp @@ -499,8 +499,13 @@ extern "C" CDECL uintptr_t upcall_require_c_sym(rust_task *task, } extern "C" CDECL type_desc * -upcall_get_type_desc(rust_task *task, rust_crate const *curr_crate, - size_t size, size_t align, size_t n_descs, type_desc const **descs) { +upcall_get_type_desc(rust_task *task, + rust_crate const *curr_crate, + size_t size, + size_t align, + size_t n_descs, + type_desc const **descs) +{ LOG_UPCALL_ENTRY(task); task->log(rust_log::UPCALL | rust_log::CACHE, "upcall get_type_desc with size=%" PRIdPTR -- cgit v1.2.3