diff options
Diffstat (limited to 'chromium/base/debug/alias.h')
-rw-r--r-- | chromium/base/debug/alias.h | 15 |
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_; |