summaryrefslogtreecommitdiff
path: root/chromium/base/debug/alias.h
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/base/debug/alias.h')
-rw-r--r--chromium/base/debug/alias.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/chromium/base/debug/alias.h b/chromium/base/debug/alias.h
index cdd2372ea87..bd0904e5ab7 100644
--- a/chromium/base/debug/alias.h
+++ b/chromium/base/debug/alias.h
@@ -19,12 +19,15 @@ namespace debug {
// otherwise be live at the point of a potential crash. This can only be done
// with local variables, not globals, object members, or function return values
// - these must be copied to locals if you want to ensure they are recorded in
-// crash dumps. Note that if the local variable is a pointer then its value will
-// be retained but the memory that it points to will probably not be saved in
-// the crash dump - by default only stack memory is saved. Therefore the
-// aliasing technique is usually only worthwhile with non-pointer variables. If
-// you have a pointer to an object and you want to retain the object's state you
-// need to copy the object or its fields to local variables.
+// crash dumps. Function arguments are fine to use since the
+// base::debug::Alias() call on them will make sure they are copied to the stack
+// even if they were passed in a register. Note that if the local variable is a
+// pointer then its value will be retained but the memory that it points to will
+// probably not be saved in the crash dump - by default only stack memory is
+// saved. Therefore the aliasing technique is usually only worthwhile with
+// non-pointer variables. If you have a pointer to an object and you want to
+// retain the object's state you need to copy the object or its fields to local
+// variables.
//
// Example usage:
// int last_error = err_;