diff options
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/include/clang-c/Index.h | 44 | ||||
| -rw-r--r-- | clang/tools/c-index-test/c-index-test.c | 6 | ||||
| -rw-r--r-- | clang/tools/libclang/CIndex.cpp | 34 | ||||
| -rw-r--r-- | clang/tools/libclang/libclang.darwin.exports | 6 | ||||
| -rw-r--r-- | clang/tools/libclang/libclang.exports | 6 | 
5 files changed, 51 insertions, 45 deletions
diff --git a/clang/include/clang-c/Index.h b/clang/include/clang-c/Index.h index 728db906007..341e49a5129 100644 --- a/clang/include/clang-c/Index.h +++ b/clang/include/clang-c/Index.h @@ -1016,33 +1016,39 @@ CINDEX_LINKAGE int clang_reparseTranslationUnit(CXTranslationUnit TU,  /**    * \brief Categorizes how memory is being used by a translation unit.    */ -enum CXTUMemoryUsageKind { -  CXTUMemoryUsage_AST = 1, -  CXTUMemoryUsage_Identifiers = 2, -  CXTUMemoryUsage_Selectors = 3, -  CXTUMemoryUsage_GlobalCompletionResults = 4, -  CXTUMemoryUsage_First = CXTUMemoryUsage_AST, -  CXTUMemoryUsage_Last = CXTUMemoryUsage_GlobalCompletionResults +enum CXTUResourceUsageKind { +  CXTUResourceUsage_AST = 1, +  CXTUResourceUsage_Identifiers = 2, +  CXTUResourceUsage_Selectors = 3, +  CXTUResourceUsage_GlobalCompletionResults = 4, + +  CXTUResourceUsage_MEMORY_IN_BYTES_BEGIN = CXTUResourceUsage_AST, +  CXTUResourceUsage_MEMORY_IN_BYTES_END = +    CXTUResourceUsage_GlobalCompletionResults, + +  CXTUResourceUsage_First = CXTUResourceUsage_AST, +  CXTUResourceUsage_Last = CXTUResourceUsage_GlobalCompletionResults  };  /**    * \brief Returns the human-readable null-terminated C string that represents -  *  the name of the memory category. +  *  the name of the memory category.  This string should never be freed.    */  CINDEX_LINKAGE -const char *clang_getTUMemoryUsageName(enum CXTUMemoryUsageKind kind); +const char *clang_getTUResourceUsageName(enum CXTUResourceUsageKind kind); -typedef struct CXTUMemoryUsageEntry { +typedef struct CXTUResourceUsageEntry {    /* \brief The memory usage category. */ -  enum CXTUMemoryUsageKind kind;   -  /* \brief Memory usage in bytes. */ +  enum CXTUResourceUsageKind kind;   +  /* \brief Amount of resources used.  +      The units will depend on the resource kind. */    unsigned long amount; -} CXTUMemoryUsageEntry; +} CXTUResourceUsageEntry;  /**    * \brief The memory usage of a CXTranslationUnit, broken into categories.    */ -typedef struct CXTUMemoryUsage { +typedef struct CXTUResourceUsage {    /* \brief Private data member, used for queries. */    void *data; @@ -1051,17 +1057,17 @@ typedef struct CXTUMemoryUsage {    /* \brief An array of key-value pairs, representing the breakdown of memory              usage. */ -  CXTUMemoryUsageEntry *entries; +  CXTUResourceUsageEntry *entries; -} CXTUMemoryUsage; +} CXTUResourceUsage;  /**    * \brief Return the memory usage of a translation unit.  This object -  *  should be released with clang_disposeCXTUMemoryUsage(). +  *  should be released with clang_disposeCXTUResourceUsage().    */ -CINDEX_LINKAGE CXTUMemoryUsage clang_getCXTUMemoryUsage(CXTranslationUnit TU); +CINDEX_LINKAGE CXTUResourceUsage clang_getCXTUResourceUsage(CXTranslationUnit TU); -CINDEX_LINKAGE void clang_disposeCXTUMemoryUsage(CXTUMemoryUsage usage); +CINDEX_LINKAGE void clang_disposeCXTUResourceUsage(CXTUResourceUsage usage);  /**   * @} diff --git a/clang/tools/c-index-test/c-index-test.c b/clang/tools/c-index-test/c-index-test.c index a1065a832f4..f7b7a367cfd 100644 --- a/clang/tools/c-index-test/c-index-test.c +++ b/clang/tools/c-index-test/c-index-test.c @@ -373,10 +373,10 @@ void PrintDiagnostics(CXTranslationUnit TU) {  void PrintMemoryUsage(CXTranslationUnit TU) {    unsigned long total = 0.0;    unsigned i = 0; -  CXTUMemoryUsage usage = clang_getCXTUMemoryUsage(TU); +  CXTUResourceUsage usage = clang_getCXTUResourceUsage(TU);    fprintf(stderr, "Memory usage:\n");    for (i = 0 ; i != usage.numEntries; ++i) { -    const char *name = clang_getTUMemoryUsageName(usage.entries[i].kind); +    const char *name = clang_getTUResourceUsageName(usage.entries[i].kind);      unsigned long amount = usage.entries[i].amount;      total += amount;      fprintf(stderr, "  %s : %ld bytes (%f MBytes)\n", name, amount, @@ -384,7 +384,7 @@ void PrintMemoryUsage(CXTranslationUnit TU) {    }    fprintf(stderr, "  TOTAL = %ld bytes (%f MBytes)\n", total,            ((double) total)/(1024*1024)); -  clang_disposeCXTUMemoryUsage(usage);   +  clang_disposeCXTUResourceUsage(usage);    }  /******************************************************************************/ diff --git a/clang/tools/libclang/CIndex.cpp b/clang/tools/libclang/CIndex.cpp index 90d9881ce10..ce020882814 100644 --- a/clang/tools/libclang/CIndex.cpp +++ b/clang/tools/libclang/CIndex.cpp @@ -5181,39 +5181,39 @@ CXType clang_getIBOutletCollectionType(CXCursor C) {  // Inspecting memory usage.  //===----------------------------------------------------------------------===// -typedef std::vector<CXTUMemoryUsageEntry> MemUsageEntries; +typedef std::vector<CXTUResourceUsageEntry> MemUsageEntries; -static inline void createCXTUMemoryUsageEntry(MemUsageEntries &entries, -                                              enum CXTUMemoryUsageKind k, +static inline void createCXTUResourceUsageEntry(MemUsageEntries &entries, +                                              enum CXTUResourceUsageKind k,                                                double amount) { -  CXTUMemoryUsageEntry entry = { k, amount }; +  CXTUResourceUsageEntry entry = { k, amount };    entries.push_back(entry);  }  extern "C" { -const char *clang_getTUMemoryUsageName(CXTUMemoryUsageKind kind) { +const char *clang_getTUResourceUsageName(CXTUResourceUsageKind kind) {    const char *str = "";    switch (kind) { -    case CXTUMemoryUsage_AST: +    case CXTUResourceUsage_AST:        str = "ASTContext: expressions, declarations, and types";         break; -    case CXTUMemoryUsage_Identifiers: +    case CXTUResourceUsage_Identifiers:        str = "ASTContext: identifiers";        break; -    case CXTUMemoryUsage_Selectors: +    case CXTUResourceUsage_Selectors:        str = "ASTContext: selectors";        break; -    case CXTUMemoryUsage_GlobalCompletionResults: +    case CXTUResourceUsage_GlobalCompletionResults:        str = "Code completion: cached global results";        break;    }    return str;  } -CXTUMemoryUsage clang_getCXTUMemoryUsage(CXTranslationUnit TU) { +CXTUResourceUsage clang_getCXTUResourceUsage(CXTranslationUnit TU) {    if (!TU) { -    CXTUMemoryUsage usage = { (void*) 0, 0, 0 }; +    CXTUResourceUsage usage = { (void*) 0, 0, 0 };      return usage;    } @@ -5222,15 +5222,15 @@ CXTUMemoryUsage clang_getCXTUMemoryUsage(CXTranslationUnit TU) {    ASTContext &astContext = astUnit->getASTContext();    // How much memory is used by AST nodes and types? -  createCXTUMemoryUsageEntry(*entries, CXTUMemoryUsage_AST, +  createCXTUResourceUsageEntry(*entries, CXTUResourceUsage_AST,      (unsigned long) astContext.getTotalAllocatedMemory());    // How much memory is used by identifiers? -  createCXTUMemoryUsageEntry(*entries, CXTUMemoryUsage_Identifiers, +  createCXTUResourceUsageEntry(*entries, CXTUResourceUsage_Identifiers,      (unsigned long) astContext.Idents.getAllocator().getTotalMemory());    // How much memory is used for selectors? -  createCXTUMemoryUsageEntry(*entries, CXTUMemoryUsage_Selectors, +  createCXTUResourceUsageEntry(*entries, CXTUResourceUsage_Selectors,      (unsigned long) astContext.Selectors.getTotalMemory());    // How much memory is used for caching global code completion results? @@ -5239,18 +5239,18 @@ CXTUMemoryUsage clang_getCXTUMemoryUsage(CXTranslationUnit TU) {        astUnit->getCachedCompletionAllocator().getPtr()) {      completionBytes = completionAllocator-> getTotalMemory();    } -  createCXTUMemoryUsageEntry(*entries, CXTUMemoryUsage_GlobalCompletionResults, +  createCXTUResourceUsageEntry(*entries, CXTUResourceUsage_GlobalCompletionResults,      completionBytes); -  CXTUMemoryUsage usage = { (void*) entries.get(), +  CXTUResourceUsage usage = { (void*) entries.get(),                              (unsigned) entries->size(),                              entries->size() ? &(*entries)[0] : 0 };    entries.take();    return usage;  } -void clang_disposeCXTUMemoryUsage(CXTUMemoryUsage usage) { +void clang_disposeCXTUResourceUsage(CXTUResourceUsage usage) {    if (usage.data)      delete (MemUsageEntries*) usage.data;  } diff --git a/clang/tools/libclang/libclang.darwin.exports b/clang/tools/libclang/libclang.darwin.exports index 6219d557b32..30c3fd1ac30 100644 --- a/clang/tools/libclang/libclang.darwin.exports +++ b/clang/tools/libclang/libclang.darwin.exports @@ -21,7 +21,7 @@ _clang_defaultEditingTranslationUnitOptions  _clang_defaultReparseOptions  _clang_defaultSaveOptions  _clang_disposeCXCursorSet -_clang_disposeCXTUMemoryUsage +_clang_disposeCXTUResourceUsage  _clang_disposeCodeCompleteResults  _clang_disposeDiagnostic  _clang_disposeIndex @@ -36,7 +36,7 @@ _clang_equalTypes  _clang_executeOnThread  _clang_formatDiagnostic  _clang_getCString -_clang_getCXTUMemoryUsage +_clang_getCXTUResourceUsage  _clang_getCXXAccessSpecifier  _clang_getCanonicalCursor  _clang_getCanonicalType @@ -100,7 +100,7 @@ _clang_getRangeStart  _clang_getResultType  _clang_getSpecializedCursorTemplate  _clang_getSpellingLocation -_clang_getTUMemoryUsageName +_clang_getTUResourceUsageName  _clang_getTemplateCursorKind  _clang_getTokenExtent  _clang_getTokenKind diff --git a/clang/tools/libclang/libclang.exports b/clang/tools/libclang/libclang.exports index 2b960530833..4e96e8a0d6d 100644 --- a/clang/tools/libclang/libclang.exports +++ b/clang/tools/libclang/libclang.exports @@ -21,7 +21,7 @@ clang_defaultEditingTranslationUnitOptions  clang_defaultReparseOptions  clang_defaultSaveOptions  clang_disposeCXCursorSet -clang_disposeCXTUMemoryUsage +clang_disposeCXTUResourceUsage  clang_disposeCodeCompleteResults  clang_disposeDiagnostic  clang_disposeIndex @@ -36,7 +36,7 @@ clang_equalTypes  clang_executeOnThread  clang_formatDiagnostic  clang_getCString -clang_getCXTUMemoryUsage +clang_getCXTUResourceUsage  clang_getCXXAccessSpecifier  clang_getCanonicalCursor  clang_getCanonicalType @@ -100,7 +100,7 @@ clang_getRangeStart  clang_getResultType  clang_getSpecializedCursorTemplate  clang_getSpellingLocation -clang_getTUMemoryUsageName +clang_getTUResourceUsageName  clang_getTemplateCursorKind  clang_getTokenExtent  clang_getTokenKind  | 

