aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorRoy Frostig <[email protected]>2010-08-24 19:49:39 -0700
committerRoy Frostig <[email protected]>2010-08-24 19:49:39 -0700
commit7ccdb883748a66122b88663139920db4f15a6920 (patch)
tree8f9047cd531e21629df652f81592da32170a2182 /src/lib
parentAdd std.dbg module for inspecting rust values in memory. (diff)
downloadrust-7ccdb883748a66122b88663139920db4f15a6920.tar.xz
rust-7ccdb883748a66122b88663139920db4f15a6920.zip
Add support in dbg.debug_obj for printing the obj body.
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/dbg.rs15
1 files changed, 12 insertions, 3 deletions
diff --git a/src/lib/dbg.rs b/src/lib/dbg.rs
index 195a693a..3aaf3add 100644
--- a/src/lib/dbg.rs
+++ b/src/lib/dbg.rs
@@ -9,7 +9,7 @@ native "rust" mod rustrt {
fn debug_opaque[T](&T x);
fn debug_box[T](@T x);
fn debug_tag[T](&T x);
- fn debug_obj[T](&T x, uint nmethods);
+ fn debug_obj[T](&T x, uint nmethods, uint nbytes);
fn debug_fn[T](&T x);
}
@@ -33,8 +33,17 @@ fn debug_tag[T](&T x) {
rustrt.debug_tag[T](x);
}
-fn debug_obj[T](&T x, uint nmethods) {
- rustrt.debug_obj[T](x, nmethods);
+/**
+ * `nmethods` is the number of methods we expect the object to have. The
+ * runtime will print this many words of the obj vtbl).
+ *
+ * `nbytes` is the number of bytes of body data we expect the object to have.
+ * The runtime will print this many bytes of the obj body. You probably want
+ * this to at least be 4u, since an implicit captured tydesc pointer sits in
+ * the front of any obj's data tuple.x
+ */
+fn debug_obj[T](&T x, uint nmethods, uint nbytes) {
+ rustrt.debug_obj[T](x, nmethods, nbytes);
}
fn debug_fn[T](&T x) {