From 263f4c58a0c9409f257d45ae03d4b19700ef232b Mon Sep 17 00:00:00 2001 From: Niko Matsakis Date: Thu, 12 Jan 2012 09:28:29 -0800 Subject: add tydescs into shape, rewrite walk_fn_contents() --- src/rt/rust_shape.cpp | 14 +++++--------- 1 file changed, 5 insertions(+), 9 deletions(-) (limited to 'src/rt/rust_shape.cpp') diff --git a/src/rt/rust_shape.cpp b/src/rt/rust_shape.cpp index b7ab591ce04..961cfe7bc46 100644 --- a/src/rt/rust_shape.cpp +++ b/src/rt/rust_shape.cpp @@ -44,15 +44,7 @@ type_param::make(const type_desc **tydescs, unsigned n_tydescs, return ptrs; } -// Constructs type parameters from a function shape. This is a bit messy, -// because it requires that the function shape have a specific format. -type_param * -type_param::from_fn_shape(rust_opaque_closure *env, arena &arena) { - unsigned n_tydescs = env->td->n_obj_params & 0x7fffffff; - return make(env->captured_tds, n_tydescs, arena); -} - -// Constructs type parameters from an object shape. This is also a bit messy, +// Constructs type parameters from an object shape. This is a bit messy, // because it requires that the object shape have a specific format. type_param * type_param::from_obj_shape(const uint8_t *sp, ptr dp, arena &arena) { @@ -354,6 +346,10 @@ public: data::walk_box_contents1(); } + void walk_tydesc2(char) { + cmp_pointer(); + } + void walk_fn2(char) { return cmp_two_pointers(); } void walk_obj2() { return cmp_two_pointers(); } -- cgit 1.4.1-3-g733a5