diff options
| author | Brian Anderson <banderson@mozilla.com> | 2011-09-21 17:07:29 -0700 |
|---|---|---|
| committer | Brian Anderson <banderson@mozilla.com> | 2011-09-21 17:08:40 -0700 |
| commit | a993621e43eeb6d4303d1f78faaf54cc881d49ab (patch) | |
| tree | 4e3fbedd50ee65aa78acc8772b2595e98b4709d7 /src/rt/rust_shape.cpp | |
| parent | 42fd2a9d89e87e8840324873df23ab76ed2f4d3d (diff) | |
| download | rust-a993621e43eeb6d4303d1f78faaf54cc881d49ab.tar.gz rust-a993621e43eeb6d4303d1f78faaf54cc881d49ab.zip | |
Log and compare unique boxes
Issue #409
Diffstat (limited to 'src/rt/rust_shape.cpp')
| -rw-r--r-- | src/rt/rust_shape.cpp | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/rt/rust_shape.cpp b/src/rt/rust_shape.cpp index 7f242143d51..c6ee35717dc 100644 --- a/src/rt/rust_shape.cpp +++ b/src/rt/rust_shape.cpp @@ -279,6 +279,12 @@ private: result = sub.result; } + inline void walk_uniq_contents(cmp &sub) { + sub.align = true; + sub.walk(); + result = sub.result; + } + inline void cmp_two_pointers() { ALIGN_TO(alignof<void *>() * 2); data_pair<uint8_t *> fst = bump_dp<uint8_t *>(dp); @@ -341,6 +347,10 @@ public: data<cmp,ptr_pair>::walk_box_contents(); } + void walk_uniq() { + data<cmp,ptr_pair>::walk_uniq_contents(); + } + void walk_fn() { return cmp_two_pointers(); } void walk_obj() { return cmp_two_pointers(); } |
