Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(520)

Side by Side Diff: third_party/tcmalloc/chromium/src/pagemap.h

Issue 7050034: Merge google-perftools r109 (the current contents of third_party/tcmalloc/vendor) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: '' Created 9 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2005, Google Inc. 1 // Copyright (c) 2005, 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 28 matching lines...) Expand all
39 // the bits every time. 39 // the bits every time.
40 // 40 //
41 // The BITS parameter should be the number of bits required to hold 41 // The BITS parameter should be the number of bits required to hold
42 // a page number. E.g., with 32 bit pointers and 4K pages (i.e., 42 // a page number. E.g., with 32 bit pointers and 4K pages (i.e.,
43 // page offset fits in lower 12 bits), BITS == 20. 43 // page offset fits in lower 12 bits), BITS == 20.
44 44
45 #ifndef TCMALLOC_PAGEMAP_H_ 45 #ifndef TCMALLOC_PAGEMAP_H_
46 #define TCMALLOC_PAGEMAP_H_ 46 #define TCMALLOC_PAGEMAP_H_
47 47
48 #include "config.h" 48 #include "config.h"
49
50 #include <stddef.h> // for NULL, size_t
51 #include <string.h> // for memset
49 #if defined HAVE_STDINT_H 52 #if defined HAVE_STDINT_H
50 #include <stdint.h> 53 #include <stdint.h>
51 #elif defined HAVE_INTTYPES_H 54 #elif defined HAVE_INTTYPES_H
52 #include <inttypes.h> 55 #include <inttypes.h>
53 #else 56 #else
54 #include <sys/types.h> 57 #include <sys/types.h>
55 #endif 58 #endif
56 #ifdef WIN32 59 #ifdef WIN32
57 // TODO(jar): This is not needed when TCMalloc_PageMap1_LazyCommit has an API 60 // TODO(jar): This is not needed when TCMalloc_PageMap1_LazyCommit has an API
58 // supporting commit and reservation of memory. 61 // supporting commit and reservation of memory.
59 #include "common.h" 62 #include "common.h"
60 #endif 63 #endif
61 64
62 #include "internal_logging.h" 65 #include "internal_logging.h" // for ASSERT
63 66
64 // Single-level array 67 // Single-level array
65 template <int BITS> 68 template <int BITS>
66 class TCMalloc_PageMap1 { 69 class TCMalloc_PageMap1 {
67 private: 70 private:
68 static const int LENGTH = 1 << BITS; 71 static const int LENGTH = 1 << BITS;
69 72
70 void** array_; 73 void** array_;
71 74
72 public: 75 public:
(...skipping 439 matching lines...) Expand 10 before | Expand all | Expand 10 after
512 } 515 }
513 // Advance to next interior entry 516 // Advance to next interior entry
514 k = ((k >> LEAF_BITS) + 1) << LEAF_BITS; 517 k = ((k >> LEAF_BITS) + 1) << LEAF_BITS;
515 } 518 }
516 } 519 }
517 return NULL; 520 return NULL;
518 } 521 }
519 }; 522 };
520 523
521 #endif // TCMALLOC_PAGEMAP_H_ 524 #endif // TCMALLOC_PAGEMAP_H_
OLDNEW
« no previous file with comments | « third_party/tcmalloc/chromium/src/page_heap_allocator.h ('k') | third_party/tcmalloc/chromium/src/pprof » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698