summaryrefslogtreecommitdiff
path: root/indra/newview/llappviewer.cpp
AgeCommit message (Collapse)Author
2017-05-02DRTVWR-418, MAINT-6996: Rationalize LLMemory wrt 64-bit support.Nat Goodspeed
There were two distinct LLMemory methods getCurrentRSS() and getWorkingSetSize(). It was pointless to have both: on Windows they were completely redundant; on other platforms getWorkingSetSize() always returned 0. (Amusingly, though the Windows implementations both made exactly the same GetProcessMemoryInfo() call and used exactly the same logic, the code was different in the two -- as though the second was implemented without awareness of the first, even though they were adjacent in the source file.) One of the actual MAINT-6996 problems was due to the fact that getWorkingSetSize() returned U32, where getCurrentRSS() returns U64. In other words, getWorkingSetSize() was both useless *and* wrong. Remove it, and change its one call to getCurrentRSS() instead. The other culprit was that in several places, the 64-bit WorkingSetSize returned by the Windows GetProcessMemoryInfo() call (and by getCurrentRSS()) was explicitly cast to a 32-bit data type. That works only when explicitly or implicitly (using LLUnits type conversion) scaling the value to kilobytes or megabytes. When the size in bytes is desired, use 64-bit types instead. In addition to the symptoms, LLMemory was overdue for a bit of cleanup. There was a 16K block of memory called reserveMem, the comment on which read: "reserve 16K for out of memory error handling." Yet *nothing* was ever done with that block! If it were going to be useful, one would think someone would at some point explicitly free the block. In fact there was a method freeReserve(), apparently for just that purpose -- which was never called. As things stood, reserveMem served only to *prevent* the viewer from ever using that chunk of memory. Remove reserveMem and the unused freeReserve(). The only function of initClass() and cleanupClass() was to allocate and free reserveMem. Remove initClass(), cleanupClass() and the LLCommon calls to them. In a similar vein, there was an LLMemoryInfo::getPhysicalMemoryClamped() method that returned U32Bytes. Its job was simply to return a size in bytes that could fit into a U32 data type, returning U32_MAX if the 64-bit value exceeded 4GB. Eliminate that; change all its calls to getPhysicalMemoryKB() (which getPhysicalMemoryClamped() used internally anyway). We no longer care about any platform that cannot handle 64-bit data types.
2017-04-27DRTVWR-418: Remove misleading comment -- no more implicit deleteAll().Nat Goodspeed
The comment indicates that calling LLSingletonBase::deleteAll() is optional because the LLSingleton machinery implicitly calls that during final static-object cleanup. That is no longer true.
2017-04-21Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-04-19merge changes for 5.0.4-releaseOz Linden
2017-04-19mergeBrad Payne (Vir Linden)
2017-10-06MAINT-1013 Changing YieldTime should show effects immediatelyandreykproductengine
2017-03-28MAINT-6980 FIXED Ctrl + Alt + Shift + B does not force a crash on macMnikolenko Productengine
2017-03-21SL-409 - added version field = 2 to asset stats, made viewer-side metrics ↵Brad Payne (Vir Linden)
files exactly match the payload sent to simulator.
2017-03-16merge CEF update and fixes from callumOz Linden
2017-03-14Tweak CEF plugin version to include Chrome equivalentCallum Prentice
2017-03-13DRTVWR-418: Tweak shutdown sequence to avoid resurrecting singletons.Nat Goodspeed
The LLSingletonBase::deleteAll() call late in LLAppViewer::cleanup() deletes the LLSingleton(s) used by the logging machinery, among other things. Attempting further logging after that call (such as our cheery "Goodbye!") has the unfortunate effect of attempting to resurrect the deleted LLSingleton(s). Move "Goodbye!" to just *before* the call. Also, given that call, the manual references to a couple specific LLSingletons in ~LLAppViewer() are (a) unnecessary and (b) cause attempted resurrection. Eliminate both.
2017-03-10SL-409 - fixes for viewer asset metrics. Copy and/or assignment of Recording ↵Brad Payne (Vir Linden)
objects is failing, changed to create LLSD blob earlier and just copy that.
2017-03-06merge changes for 5.0.2-releaseOz Linden
2017-03-06Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-02-27Look for logcontrol-dev.xml in the user settings directoryOz Linden
2017-02-22Use new version info from CEF plugin to display in About boxCallum Prentice
2017-02-21First round of changes to replace LLCEFLib with Dullahan. Mostly Windows ↵Callum Prentice
changes in this batch since I'm working on Windows box but some speculative macOS ones too although they are quite untested
2017-02-15MAINT-7051 Release Notes url shouldn't include the EDU parameterAndreyL ProductEngine
2017-02-13Automated merge with head of callum_linden/viewer64-callumcallum@lindenlab.com
2017-02-03Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed
2017-01-27MergeRider Linden
2017-01-26MAINT-7082: Clean up, remove log spam.Rider Linden
2017-01-26MAINT-7082: max_idle_time unused.Rider Linden
2017-01-25MAINT-7082: Remove waiting loop in frame when textures queued for download ↵Rider Linden
in alternate thread. With debug spam for observation.
2016-12-22MAINT-7024 Release notes page was requested prior to proxy initialization.andreykproductengine
2016-12-20DRTVWR-418 fix BOOL/bool comparison that errors out as as warning on VS 2013 ↵Callum Prentice
builds
2017-05-19MAINT-2060 Fixed Double Freeze when clicking on Help>About Second Lifeusername = daianakproductengine
2016-12-09Simplify version line in the About box, add address size to itOz Linden
2016-12-05merge changes for 5.0.0-releaseOz Linden
2016-12-05Merged in lindenlab/viewer-releaseAndreyL ProductEngine
DRTVWR-412 Bento (avatar skeleton extensions)
2016-12-02show the build address size in the About boxOz Linden
2016-11-21Merged in Ansariel/storm-2141AndreyL ProductEngine
2016-11-16mergeBrad Payne (Vir Linden)
2016-11-14STORM-2141: Fix various inventory floater related issues:Ansariel
* Opening new inventory via Control-Shift-I shortcut uses legacy and potentinally dangerous code path * Closing new inventory windows don't release memory * During shutdown legacy and inoperable code for inventory window cleanup is called * Remove old and unused inventory legacy code
2016-11-08Backed out changeset: 2a56972b1571AndreyL ProductEngine
Reverting MAINT-6259
2016-11-08Backed out changeset: 27782e83386bAndreyL ProductEngine
Reverting MAINT-6793
2017-03-21pull from V64 gateGlenn Glazer
2017-03-16merge cleanupGlenn Glazer
2017-03-16pull from viewer64 gatecoyot@coyot-sager-PC
2017-02-28mergecoyot@coyot-sager-PC
2016-11-14MAINT-6920 More information in About Second Life floaterandreykproductengine
2016-11-14Merged in lindenlab/viewer-cleanupAndreyL ProductEngine
2016-10-18mergeBrad Payne (Vir Linden)
2016-10-18MAINT-6793 Rigged mesh sometimes full of holesandreykproductengine
2016-10-11MAINT-5232: Merge up to VLC viewer from viewer-releaseNat Goodspeed
2016-10-10Merged in lindenlab/viewer-releaseAndreyL ProductEngine
2016-09-20mergeBrad Payne (Vir Linden)
2016-09-16MergeRider Linden
2016-09-16MergeRider Linden
2016-09-16Automated merge with ssh://bitbucket.org/lindenlab/viewer-releaseNat Goodspeed