OLD | NEW |
1 // Copyright (c) 2009, Google Inc. | 1 // Copyright (c) 2009, Google Inc. |
2 // All rights reserved. | 2 // All rights reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // met: |
7 // | 7 // |
8 // * Redistributions of source code must retain the above copyright | 8 // * Redistributions of source code must retain the above copyright |
9 // notice, this list of conditions and the following disclaimer. | 9 // notice, this list of conditions and the following disclaimer. |
10 // * Redistributions in binary form must reproduce the above | 10 // * Redistributions in binary form must reproduce the above |
(...skipping 19 matching lines...) Expand all Loading... |
30 // --- | 30 // --- |
31 // Author: Craig Silverstein | 31 // Author: Craig Silverstein |
32 | 32 |
33 #ifndef TCMALLOC_SYMBOLIZE_H_ | 33 #ifndef TCMALLOC_SYMBOLIZE_H_ |
34 #define TCMALLOC_SYMBOLIZE_H_ | 34 #define TCMALLOC_SYMBOLIZE_H_ |
35 | 35 |
36 #include "config.h" | 36 #include "config.h" |
37 #ifdef HAVE_STDINT_H | 37 #ifdef HAVE_STDINT_H |
38 #include <stdint.h> // for uintptr_t | 38 #include <stdint.h> // for uintptr_t |
39 #endif | 39 #endif |
| 40 #include <stddef.h> // for NULL |
40 #include <map> | 41 #include <map> |
41 | 42 |
42 using std::map; | 43 using std::map; |
43 | 44 |
44 // SymbolTable encapsulates the address operations necessary for stack trace | 45 // SymbolTable encapsulates the address operations necessary for stack trace |
45 // symbolization. A common use-case is to Add() the addresses from one or | 46 // symbolization. A common use-case is to Add() the addresses from one or |
46 // several stack traces to a table, call Symbolize() once and use GetSymbol() | 47 // several stack traces to a table, call Symbolize() once and use GetSymbol() |
47 // to get the symbol names for pretty-printing the stack traces. | 48 // to get the symbol names for pretty-printing the stack traces. |
48 class SymbolTable { | 49 class SymbolTable { |
49 public: | 50 public: |
(...skipping 23 matching lines...) Expand all Loading... |
73 static const int kSymbolSize = 1024; | 74 static const int kSymbolSize = 1024; |
74 | 75 |
75 // Map from addresses to symbol names. | 76 // Map from addresses to symbol names. |
76 SymbolMap symbolization_table_; | 77 SymbolMap symbolization_table_; |
77 | 78 |
78 // Pointer to the buffer that stores the symbol names. | 79 // Pointer to the buffer that stores the symbol names. |
79 char *symbol_buffer_; | 80 char *symbol_buffer_; |
80 }; | 81 }; |
81 | 82 |
82 #endif // TCMALLOC_SYMBOLIZE_H_ | 83 #endif // TCMALLOC_SYMBOLIZE_H_ |
OLD | NEW |