diff options
author | Ivan Penkov <ivanpe@chromium.org> | 2016-06-05 22:41:10 -0700 |
---|---|---|
committer | Ivan Penkov <ivanpe@chromium.org> | 2016-06-05 22:41:10 -0700 |
commit | 240ed57ee1ac6a87b91526b8331717d494801826 (patch) | |
tree | 93c085a3fd036fde3bee99c4496db1adae5d2cc6 /src/processor/basic_code_modules.h | |
parent | Make the getting started section in the README better (diff) | |
download | breakpad-240ed57ee1ac6a87b91526b8331717d494801826.tar.xz |
Adding support for overlapping ranges to RangeMap.
When enabled, adding of a new range that overlaps with an existing one can be a successful operation. The range which ends at the higher address will be shrunk down by moving its start position to a higher address so that it does not overlap anymore.
This change is required to fix http://crbug/611824. The actual fix will come in a separate CL.
R=mmandlis@chromium.org
Review URL: https://codereview.chromium.org/2029953003 .
Diffstat (limited to 'src/processor/basic_code_modules.h')
-rw-r--r-- | src/processor/basic_code_modules.h | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/processor/basic_code_modules.h b/src/processor/basic_code_modules.h index ace569b8..97579b4d 100644 --- a/src/processor/basic_code_modules.h +++ b/src/processor/basic_code_modules.h @@ -41,13 +41,14 @@ #ifndef PROCESSOR_BASIC_CODE_MODULES_H__ #define PROCESSOR_BASIC_CODE_MODULES_H__ +#include <stddef.h> + #include "google_breakpad/processor/code_modules.h" +#include "processor/linked_ptr.h" +#include "processor/range_map.h" namespace google_breakpad { -template<typename T> class linked_ptr; -template<typename AddressType, typename EntryType> class RangeMap; - class BasicCodeModules : public CodeModules { public: // Creates a new BasicCodeModules object given any existing CodeModules @@ -75,7 +76,7 @@ class BasicCodeModules : public CodeModules { // The map used to contain each CodeModule, keyed by each CodeModule's // address range. - RangeMap<uint64_t, linked_ptr<const CodeModule> > *map_; + RangeMap<uint64_t, linked_ptr<const CodeModule> > map_; private: // Disallow copy constructor and assignment operator. |