diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2012-01-12 09:28:29 -0800 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2012-01-12 13:47:38 -0800 |
| commit | 263f4c58a0c9409f257d45ae03d4b19700ef232b (patch) | |
| tree | af164d0b5f13701880e15c6c6fb6701c064eb006 /src/rt/rust_shape.cpp | |
| parent | e55aa6e5ef60369710d8b2e6f512b2ef84a8c548 (diff) | |
| download | rust-263f4c58a0c9409f257d45ae03d4b19700ef232b.tar.gz rust-263f4c58a0c9409f257d45ae03d4b19700ef232b.zip | |
add tydescs into shape, rewrite walk_fn_contents()
Diffstat (limited to 'src/rt/rust_shape.cpp')
| -rw-r--r-- | src/rt/rust_shape.cpp | 14 |
1 files changed, 5 insertions, 9 deletions
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<cmp,ptr_pair>::walk_box_contents1(); } + void walk_tydesc2(char) { + cmp_pointer(); + } + void walk_fn2(char) { return cmp_two_pointers(); } void walk_obj2() { return cmp_two_pointers(); } |
