aboutsummaryrefslogtreecommitdiff
path: root/src/rt
diff options
context:
space:
mode:
authorGraydon Hoare <[email protected]>2010-06-25 21:57:46 -0700
committerGraydon Hoare <[email protected]>2010-06-25 21:57:46 -0700
commit37426e42cf78a43779312d780eecb21a64006d99 (patch)
tree6eb0b5a43bf0672e2d272f78ef9b939333af47fc /src/rt
parentPass type parameters to free function called from sweep loop. (diff)
downloadrust-37426e42cf78a43779312d780eecb21a64006d99.tar.xz
rust-37426e42cf78a43779312d780eecb21a64006d99.zip
Add sever-glue, for missing first stage of sweep.
Diffstat (limited to 'src/rt')
-rw-r--r--src/rt/rust_crate_cache.cpp1
-rw-r--r--src/rt/rust_internal.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/src/rt/rust_crate_cache.cpp b/src/rt/rust_crate_cache.cpp
index fa10b91b..2db0eb45 100644
--- a/src/rt/rust_crate_cache.cpp
+++ b/src/rt/rust_crate_cache.cpp
@@ -221,6 +221,7 @@ rust_crate_cache::get_type_desc(size_t size,
adjust_disp(td->drop_glue_off, descs[0], td);
adjust_disp(td->free_glue_off, descs[0], td);
adjust_disp(td->mark_glue_off, descs[0], td);
+ adjust_disp(td->sever_glue_off, descs[0], td);
adjust_disp(td->obj_drop_glue_off, descs[0], td);
HASH_ADD(hh, this->type_descs, descs, keysz, td);
return td;
diff --git a/src/rt/rust_internal.h b/src/rt/rust_internal.h
index 7f703012..c9a28946 100644
--- a/src/rt/rust_internal.h
+++ b/src/rt/rust_internal.h
@@ -306,6 +306,7 @@ struct type_desc {
uintptr_t copy_glue_off;
uintptr_t drop_glue_off;
uintptr_t free_glue_off;
+ uintptr_t sever_glue_off; // For GC.
uintptr_t mark_glue_off; // For GC.
uintptr_t obj_drop_glue_off; // For custom destructors.