diff options
Diffstat (limited to 'indra')
| -rw-r--r-- | indra/llcommon/CMakeLists.txt | 4 | ||||
| -rw-r--r-- | indra/llcommon/llallocator.cpp | 58 | ||||
| -rw-r--r-- | indra/llcommon/llallocator.h | 51 | ||||
| -rw-r--r-- | indra/llcommon/llallocator_heap_profile.cpp | 138 | ||||
| -rw-r--r-- | indra/llcommon/llallocator_heap_profile.h | 71 | ||||
| -rw-r--r-- | indra/newview/llappviewer.cpp | 3 | ||||
| -rw-r--r-- | indra/newview/llappviewer.h | 5 | ||||
| -rw-r--r-- | indra/newview/llviewerprecompiledheaders.h | 1 | 
8 files changed, 0 insertions, 331 deletions
| diff --git a/indra/llcommon/CMakeLists.txt b/indra/llcommon/CMakeLists.txt index 165bfd52d5..c4041f0c79 100644 --- a/indra/llcommon/CMakeLists.txt +++ b/indra/llcommon/CMakeLists.txt @@ -18,8 +18,6 @@ set(llcommon_SOURCE_FILES      commoncontrol.cpp      indra_constants.cpp      lazyeventapi.cpp -    llallocator.cpp -    llallocator_heap_profile.cpp      llapp.cpp      llapr.cpp      llassettype.cpp @@ -127,8 +125,6 @@ set(llcommon_HEADER_FILES      lazyeventapi.h      linden_common.h      llalignedarray.h -    llallocator.h -    llallocator_heap_profile.h      llapp.h      llapr.h      llassettype.h diff --git a/indra/llcommon/llallocator.cpp b/indra/llcommon/llallocator.cpp deleted file mode 100644 index abe3779b85..0000000000 --- a/indra/llcommon/llallocator.cpp +++ /dev/null @@ -1,58 +0,0 @@ -/** - * @file llallocator.cpp - * @brief Implementation of the LLAllocator class. - * - * $LicenseInfo:firstyear=2009&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#include "linden_common.h" -#include "llallocator.h" - -// -// stub implementations for when tcmalloc is disabled -// - -void LLAllocator::setProfilingEnabled(bool should_enable) -{ -} - -// static -bool LLAllocator::isProfiling() -{ -    return false; -} - -std::string LLAllocator::getRawProfile() -{ -    return std::string(); -} - -LLAllocatorHeapProfile const & LLAllocator::getProfile() -{ -    mProf.mLines.clear(); - -    // *TODO - avoid making all these extra copies of things... -    std::string prof_text = getRawProfile(); -    //std::cout << prof_text << std::endl; -    mProf.parse(prof_text); -    return mProf; -} diff --git a/indra/llcommon/llallocator.h b/indra/llcommon/llallocator.h deleted file mode 100644 index aa3eead546..0000000000 --- a/indra/llcommon/llallocator.h +++ /dev/null @@ -1,51 +0,0 @@ -/** - * @file llallocator.h - * @brief Declaration of the LLAllocator class. - * - * $LicenseInfo:firstyear=2009&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifndef LL_LLALLOCATOR_H -#define LL_LLALLOCATOR_H - -#include <string> - -#include "llallocator_heap_profile.h" - -class LL_COMMON_API LLAllocator { -    friend class LLMemoryView; - -public: -    void setProfilingEnabled(bool should_enable); - -    static bool isProfiling(); - -    LLAllocatorHeapProfile const & getProfile(); - -private: -    std::string getRawProfile(); - -private: -    LLAllocatorHeapProfile mProf; -}; - -#endif // LL_LLALLOCATOR_H diff --git a/indra/llcommon/llallocator_heap_profile.cpp b/indra/llcommon/llallocator_heap_profile.cpp deleted file mode 100644 index 8cc44b6a01..0000000000 --- a/indra/llcommon/llallocator_heap_profile.cpp +++ /dev/null @@ -1,138 +0,0 @@ -/** - * @file llallocator_heap_profile.cpp - * @brief Implementation of the parser for tcmalloc heap profile data. - * @author Brad Kittenbrink - * - * $LicenseInfo:firstyear=2009&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#include "linden_common.h" -#include "llallocator_heap_profile.h" - -#include <boost/algorithm/string/split.hpp> -#include <boost/bind.hpp> -#include <boost/lexical_cast.hpp> -#include <boost/range/iterator_range.hpp> - -static const std::string HEAP_PROFILE_MAGIC_STR = "heap profile:"; - -static bool is_separator(char c) -{ -    return isspace(c) || c == '[' || c == ']' || c == ':'; -} - -void LLAllocatorHeapProfile::parse(std::string const & prof_text) -{ -    // a typedef for handling a token in the string buffer -    // it's a begin/end pair of string::const_iterators -    typedef boost::iterator_range<std::string::const_iterator> range_t; - -    mLines.clear(); - -    if(prof_text.compare(0, HEAP_PROFILE_MAGIC_STR.length(), HEAP_PROFILE_MAGIC_STR) != 0) -    { -        // *TODO - determine if there should be some better error state than -        // mLines being empty. -brad -        LL_WARNS() << "invalid heap profile data passed into parser." << LL_ENDL; -        return; -    } - -    std::vector< range_t > prof_lines; - -    std::string::const_iterator prof_begin = prof_text.begin() + HEAP_PROFILE_MAGIC_STR.length(); - -    range_t prof_range(prof_begin, prof_text.end()); -    boost::algorithm::split(prof_lines, -        prof_range, -        boost::bind(std::equal_to<llwchar>(), '\n', _1)); - -    std::vector< range_t >::const_iterator i; -    for(i = prof_lines.begin(); i != prof_lines.end() && !i->empty(); ++i) -    { -        range_t const & line_text = *i; - -        std::vector<range_t> line_elems; - -        boost::algorithm::split(line_elems, -            line_text, -            is_separator); - -        std::vector< range_t >::iterator j; -        j = line_elems.begin(); - -        while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens -        llassert_always(j != line_elems.end()); -        U32 live_count = boost::lexical_cast<U32>(*j); -        ++j; - -        while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens -        llassert_always(j != line_elems.end()); -        U64 live_size = boost::lexical_cast<U64>(*j); -        ++j; - -        while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens -        llassert_always(j != line_elems.end()); -        U32 tot_count = boost::lexical_cast<U32>(*j); -        ++j; - -        while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens -        llassert_always(j != line_elems.end()); -        U64 tot_size = boost::lexical_cast<U64>(*j); -        ++j; - -        while(j != line_elems.end() && j->empty()) { ++j; } // skip any separator tokens -    llassert(j != line_elems.end()); -        if (j != line_elems.end()) -    { -        ++j; // skip the '@' - -        mLines.push_back(line(live_count, live_size, tot_count, tot_size)); -        line & current_line = mLines.back(); - -        for(; j != line_elems.end(); ++j) -        { -            if(!j->empty()) -            { -                U32 marker = boost::lexical_cast<U32>(*j); -                current_line.mTrace.push_back(marker); -            } -        } -    } -    } -    // *TODO - parse MAPPED_LIBRARIES section here if we're ever interested in it -} - -void LLAllocatorHeapProfile::dump(std::ostream & out) const -{ -    for (const LLAllocatorHeapProfile::line& line : mLines) -    { -        out << line.mLiveCount << ": " << line.mLiveSize << '[' << line.mTotalCount << ": " << line.mTotalSize << "] @"; - -        for (const stack_marker marker : line.mTrace) -        { -            out << ' ' << marker; -        } -        out << '\n'; -    } -    out.flush(); -} - diff --git a/indra/llcommon/llallocator_heap_profile.h b/indra/llcommon/llallocator_heap_profile.h deleted file mode 100644 index 22f284b703..0000000000 --- a/indra/llcommon/llallocator_heap_profile.h +++ /dev/null @@ -1,71 +0,0 @@ -/** - * @file llallocator_heap_profile.h - * @brief Declaration of the parser for tcmalloc heap profile data. - * @author Brad Kittenbrink - * - * $LicenseInfo:firstyear=2009&license=viewerlgpl$ - * Second Life Viewer Source Code - * Copyright (C) 2010, Linden Research, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; - * version 2.1 of the License only. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA - * - * Linden Research, Inc., 945 Battery Street, San Francisco, CA  94111  USA - * $/LicenseInfo$ - */ - -#ifndef LL_LLALLOCATOR_HEAP_PROFILE_H -#define LL_LLALLOCATOR_HEAP_PROFILE_H - -#include "stdtypes.h" - -#include <map> -#include <vector> - -class LLAllocatorHeapProfile -{ -public: -    typedef int stack_marker; - -    typedef std::vector<stack_marker> stack_trace; - -    struct line { -        line(U32 live_count, U64 live_size, U32 tot_count, U64 tot_size) : -            mLiveSize(live_size), -            mTotalSize(tot_size), -            mLiveCount(live_count), -            mTotalCount(tot_count) -        { -        } -        U64 mLiveSize, mTotalSize; -        U32 mLiveCount, mTotalCount; -        stack_trace mTrace; -    }; - -    typedef std::vector<line> lines_t; - -    LLAllocatorHeapProfile() -    { -    } - -    void parse(std::string const & prof_text); - -    void dump(std::ostream & out) const; - -public: -    lines_t mLines; -}; - - -#endif // LL_LLALLOCATOR_HEAP_PROFILE_H diff --git a/indra/newview/llappviewer.cpp b/indra/newview/llappviewer.cpp index b75d02a8a7..afa701c5f2 100644 --- a/indra/newview/llappviewer.cpp +++ b/indra/newview/llappviewer.cpp @@ -62,7 +62,6 @@  #include "llfocusmgr.h"  #include "llurlfloaterdispatchhandler.h"  #include "llviewerjoystick.h" -#include "llallocator.h"  #include "llcalc.h"  #include "llconversationlog.h"  #if LL_WINDOWS @@ -769,8 +768,6 @@ bool LLAppViewer::init()          LLError::setFatalFunction([rc](const std::string&){ _exit(rc); });      } -    mAlloc.setProfilingEnabled(gSavedSettings.getBOOL("MemProfiling")); -      // Initialize the non-LLCurl libcurl library.  Should be called      // before consumers (LLTextureFetch).      mAppCoreHttp.init(); diff --git a/indra/newview/llappviewer.h b/indra/newview/llappviewer.h index cf5f1ab1e3..9a5dd6dca3 100644 --- a/indra/newview/llappviewer.h +++ b/indra/newview/llappviewer.h @@ -44,7 +44,6 @@  #define LL_LLAPPVIEWER_H  #include "llapp.h" -#include "llallocator.h"  #include "llapr.h"  #include "llcontrol.h"  #include "llsys.h"          // for LLOSInfo @@ -194,8 +193,6 @@ public:      // *NOTE:Mani Fix this for login abstraction!!      void handleLoginComplete(); -    LLAllocator & getAllocator() { return mAlloc; } -      // On LoginCompleted callback      typedef boost::signals2::signal<void (void)> login_completed_signal_t;      login_completed_signal_t mOnLoginCompleted; @@ -338,8 +335,6 @@ private:      bool mAgentRegionLastAlive;      LLUUID mAgentRegionLastID; -    LLAllocator mAlloc; -      // llcorehttp library init/shutdown helper      LLAppCoreHttp mAppCoreHttp; diff --git a/indra/newview/llviewerprecompiledheaders.h b/indra/newview/llviewerprecompiledheaders.h index 6561f0d644..7c8067ede3 100644 --- a/indra/newview/llviewerprecompiledheaders.h +++ b/indra/newview/llviewerprecompiledheaders.h @@ -50,7 +50,6 @@  // Library headers from llcommon project:  #include "indra_constants.h"  #include "llinitparam.h" -#include "llallocator.h"  #include "llapp.h"  #include "llcriticaldamp.h"  #include "lldefs.h" | 
