about summary refs log tree commit diff
path: root/src/rt/rust_cc.cpp
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2011-09-20 19:14:31 -0700
committerPatrick Walton <pcwalton@mimiga.net>2011-09-20 19:14:58 -0700
commitab76305cb98c0fd3a128003874c854686d0ed4d9 (patch)
treef7ef39b65f2df1c448a3d0a1c872e2961954a055 /src/rt/rust_cc.cpp
parent74194df7dd93a29c59961841e01435c1c4e7d2e3 (diff)
downloadrust-ab76305cb98c0fd3a128003874c854686d0ed4d9.tar.gz
rust-ab76305cb98c0fd3a128003874c854686d0ed4d9.zip
rt: Skip over the reference count properly before walking the contents of the box when determining internal reference counts
Diffstat (limited to 'src/rt/rust_cc.cpp')
-rw-r--r--src/rt/rust_cc.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/rt/rust_cc.cpp b/src/rt/rust_cc.cpp
index 3d5464a2c39..6aba220c0b9 100644
--- a/src/rt/rust_cc.cpp
+++ b/src/rt/rust_cc.cpp
@@ -163,6 +163,8 @@ irc::compute_ircs(rust_task *task, irc_map &ircs) {
                                            end(task->local_allocs.end());
     while (begin != end) {
         uint8_t *p = reinterpret_cast<uint8_t *>(begin->first);
+        p += sizeof(uintptr_t); // Skip over the reference count.
+
         type_desc *tydesc = begin->second;
 
         DPRINT("determining internal ref counts: %p, tydesc=%p\n", p, tydesc);