diff options
| author | Patrick Walton <pcwalton@mimiga.net> | 2011-09-01 11:46:36 -0700 |
|---|---|---|
| committer | Patrick Walton <pcwalton@mimiga.net> | 2011-09-01 11:47:58 -0700 |
| commit | 9d00ef9a461ec04962f4ffbd6567364c0c2e9d73 (patch) | |
| tree | a5b3c58ea4efc15f1a6aa5e08377a12938c21f1a /src/rt | |
| parent | bbac2dd7687608f1865539e2be92201d127b43a8 (diff) | |
| download | rust-9d00ef9a461ec04962f4ffbd6567364c0c2e9d73.tar.gz rust-9d00ef9a461ec04962f4ffbd6567364c0c2e9d73.zip | |
rt: Make logging more resilient to null vector pointers (useful when debugging GC)
Diffstat (limited to 'src/rt')
| -rw-r--r-- | src/rt/rust_shape.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/rt/rust_shape.h b/src/rt/rust_shape.h index 3b3eda5ce57..dd09940a539 100644 --- a/src/rt/rust_shape.h +++ b/src/rt/rust_shape.h @@ -1015,11 +1015,17 @@ private: prefix("") {} void walk_evec(bool is_pod, uint16_t sp_size) { - walk_vec(is_pod, get_evec_data_range(dp)); + if (!get_dp<void *>(dp)) + out << prefix << "(null)"; + else + walk_vec(is_pod, get_evec_data_range(dp)); } void walk_vec(bool is_pod, uint16_t sp_size) { - walk_vec(is_pod, get_vec_data_range(dp)); + if (!get_dp<void *>(dp)) + out << prefix << "(null)"; + else + walk_vec(is_pod, get_vec_data_range(dp)); } void walk_tag(tag_info &tinfo, uint32_t tag_variant) { |
