summaryrefslogtreecommitdiffstats
path: root/include/utils
Commit message (Collapse)AuthorAgeFilesLines
* include: cleanup for -Wsystem-headerMark Salyzyn2014-05-232-5/+9
| | | | | | | - warnings as errors, or errors introduced when -Wsystem-header was experimentally introduced. Change-Id: Ia8f5b3c1c1096e191741223d52526aa48c7f1cc4
* Add guards to prevent typedefs when C++11 is available.Tim Murray2014-04-071-0/+3
| | | | | | char32_t and char16_t are both defined in C++11. Change-Id: I44fe8f4f05f230c18a1b77fa21b6a40c8f8ecc2d
* AArch64: Use negative values in error enumerationAshok Bhat2014-02-201-10/+10
| | | | | | | | | | | | | With AArch64 the enumerations with values in the range 0x80000000 to 0x80000007 are being assigned to ssize_t typed variables which are 64-bit rather than 32-bit, and are being used in conditions where they are being checked for being negative. This is not the case when ssize_t is 64-bit, so redefine this to INT32_MIN value. Change-Id: I7a031a940a28658b3bf34bebac93dfb3ba397b05 Signed-off-by: Marcus Oakland <marcus.oakland@arm.com> Signed-off-by: Ashok Bhat <ashok.bhat@arm.com>
* Revert "Move to the canonical UniquePtr.h."Elliott Hughes2014-02-042-1/+240
| | | | | | This reverts commit 2a72c575d260cd256f767b7ad511a6959444134b. Change-Id: Idb485f1be2906e8c1c8f0da3df186a7aade027f6
* Move to the canonical UniquePtr.h.Elliott Hughes2014-02-042-240/+1
| | | | Change-Id: I5330c36d2b571acb6d3debd30b8020e33aa8a4a7
* Rewrite libbacktrace to be all C++.Christopher Ferris2014-01-161-1/+1
| | | | | | | | | | | | | This includes removing the map_info.c source and replacing it with the BacktraceMap class to handle all map related code. Change all callers of libbacktrace map functionality. Also modify the corkscrew thread code so that it doesn't need to build the map twice (once in the corkscrew format and once in the libbacktrace format). Change-Id: I32865a39f83a3dd6f958fc03c2759ba47d12382e
* Move BACKTRACE_NO_TID to BACKTRACE_CURRENT_THREAD.Christopher Ferris2014-01-091-1/+1
| | | | | | | | | | | Use a bit better name for this. The other name was a bit confusing. Change-Id: I1261f2ee3854a9c8b82133ad0bfbbbe48b43c9ac (cherry picked from commit 242b1a8c7a5ec73172bac811e51acbc27201f22c) Conflicts: libbacktrace/Backtrace.cpp
* Move CallStack to libbacktrace.Christopher Ferris2014-01-092-32/+9
| | | | | | | | | Fix a small bug in the Printer for strings that didn't properly prepend the prefix. (cherry picked from commit 9b0e074c6d38143e01616404a08b0c7aa992f3c3) Change-Id: I78bfa3f76864c34f33fb439bf20dfc85616f1077
* Make libutils Looper independent of frameworks/nativeBrian Carlstrom2013-12-181-23/+112
| | | | Change-Id: I1dacca10a3cd7601abc3451b69ed761bf71c38fe
* utils: Add ProcessCallStack to collect stack traces for all threads in a processIgor Murashkin2013-10-253-18/+235
| | | | | | | - Also add a Printer class (print lines to logcat, fd, or strings) Bug: 11324229 Change-Id: I78435ed49aa196a0efb45bf9b2d58b62c41737d3
* minor tweaks to FlattenableUtilsMathias Agopian2013-08-011-5/+8
| | | | Change-Id: Ibfceec36434baac92c8815a18d902375d3fa1a6d
* Add a new utf8-to-utf16 conversion function.Dianne Hackborn2013-07-311-0/+7
| | | | Change-Id: I957c22fb219596ca4239db7a169473d3894b09eb
* Make Flattenable not virtual (libutils)Mathias Agopian2013-07-312-39/+92
| | | | | | | | | | | | Making an object Flattenable doesn't force it to become virtual anymore. For instance, Fence and GraphicBuffer are now non-virtual classes. Also change Flatennable protocol a bit so that it updates its parameters (pointers, sizes) to make it easier to implement a flattenable in terms of other flattenables. Change-Id: Ie81dc7637180b3c2cfcbaf644f8987ca804eb891
* libutils: give BasicHashtableImpl a virtual destructorAlex Ray2013-07-301-0/+1
| | | | Change-Id: I4ec590b060d732af5fe525670becbe778684247b
* utils: move thread enums to system/coreAlex Ray2013-07-301-47/+1
| | | | Change-Id: Ia97963cc9acf8661d01355786f5e7e7bf54581c2
* Added bitwise-or and bitwise-and to BitSetMichael Wright2013-07-301-0/+14
| | | | Change-Id: I9bbf41f9d2d4a2593b0e6d7d8be7e283f985bade
* Make trace macros slightly more robustTim Murray2013-07-301-0/+9
| | | | Change-Id: I9544eb7b27fc1a971cabadd8d5b4b4b80678febf
* remove unused declarations and reformatMathias Agopian2013-07-301-47/+44
| | | | Change-Id: I4e168fb62c275e02621c4b6e0c6000d0f006c327
* remove reserved virtual slotsMathias Agopian2013-07-301-20/+0
| | | | | | | these consume small amount of space (plt) in every library that links against libutils. Change-Id: I1b6b3dd9098aa5a051243f7a5dbf91cd7dcb8b2c
* new String8, String16 ctors to initialize empty static strings with static ↵Mathias Agopian2013-07-302-0/+18
| | | | | | | | | | | | | | | | linkage when libutils is statically linked, the ordering of the static initializer is not guaranteed and therefore it's unsafe to use empty static strings: e.g.: static String8 sThisStaticStringIsNotSafe; instead, this new constructor can be used: static String8 sThisStaticStringIsSafe(kEmptyString); Change-Id: Ia3daf1cab1c97d021c0ee9c2b394b5e27e8d6c0d
* libutils clean-upMathias Agopian2013-07-3016-1194/+12
| | | | Change-Id: I6ff4cfc736751de2912c697f954e45e275f2d386
* Add new Looper API to check whether the looper is idle.Dianne Hackborn2013-07-301-0/+11
| | | | | | | | This is just to support the watchdog to give it a faster way to determine if a thread is deadlocked without having to post a message to it. Change-Id: I068dc8b9387caf94fe5811fb4aeb0f9b57b1a080
* improved CallStack a bitMathias Agopian2013-07-301-2/+4
| | | | | | | - added a ctor that updates and dumps the stack immediately - added a "logtag" parameter to dump() Change-Id: Ie51c256071d282591752243bdb4f68cf9ff8829d
* Fix a crasher with RefBase debugging and vectors of wp<>Mathias Agopian2013-07-301-39/+56
| | | | | | | | | | | | | | | | | | | | | | | background: we have some code to fix-up the IDs of references when using RefBase's DEBUG_REFS when those refs are managed by arrays wp<> or sp<> (this is because wp<> / sp<> don't have a trivial ctor when DEBUG_REFS is enabled, and Vector treats them as trivial for obvious performance reasons) this is complicated by the fact that we don't want to have to recompile everything when enabling DEBUG_REFs (i.e.: the Vector code cannot know wheter it's enabled or not for its template stuff). problem: there was a bug in the fix-up code for wp<> which was trying to access the weakref_impl from the RefBase* however, this was moronic since RefBase could have been destroyed if there wasn't any more strong refs -- and this happned. Instead we need to get the weakref_impl directly from the wp<> Change-Id: Ie16e334204205fdbff142acb9faff8479a78450b
* Add Vector::resize()Jesse Hall2013-07-302-1/+8
| | | | | Bug: 8384764 Change-Id: Icee83d389f3e555eba7d419b64c8d52a9aa21b8b
* Add Thread::isRunning and Condition::signal(WakeUpType)Romain Guy2013-07-302-0/+16
| | | | | | | The signal() method is useful to choose whether to wake up one or all threads. Change-Id: I062ab6d3ddd306a9fb735549ea140e2a76eed75a
* rename binder services main thread to Binder_*Mathias Agopian2013-07-301-0/+3
| | | | | | | | | | | When a binder service's main thread joins the thread pool it retains its name (whatever the exec name was), which is very confusing in systrace. we now rename that thread just like its friends in the thread pool. Change-Id: Ibb3b6ff07304b247cfc6fb1694e72350c579513e
* utils: Allow non android namespaces to use ALOGD_IF_SLOWNaseer Ahmed2013-07-301-1/+1
| | | | Change-Id: I9207b64954fae2f56cc5f6aa5796a2e737400623
* Add LinearAllocatorChris Craik2013-07-301-0/+97
| | | | | | Moving from external/webkit/Source/WebCore/platform/graphics/android/utils/ Change-Id: If91830aa9b207dbc8692b2ca7c4a0b76778addd5
* utils: fix warnings for unused parametersIgor Murashkin2013-07-303-6/+6
| | | | Change-Id: Ibfb755a30ba2923669060fe0aed019beecbe38a1
* utils: clarify scoped tracing functionalityAlex Ray2013-07-301-8/+5
| | | | | | | | | ScopedTrace objects were being used in place of ATRACE_NAME because of a misunderstanding of it's function. Cleared up documentation for usage. Also explicitly use global namespace for sysprop callback. Change-Id: I7c248b486b614ccdb841659ca0dcfc644fda670a
* utils: Use cutils tracing functionality.Alex Ray2013-07-301-141/+9
| | | | | | Tracing functionality has moved to cutils. Change-Id: Ie78ccc1d59dd5178f5058fbc3858a37f9adce552
* Add LruCache::IteratorRomain Guy2013-07-301-24/+26
| | | | | | Required by libhwui Change-Id: I164b9a4a82d89d132da01a56535c0df084de86f7
* Add another ifndef and a couple of methods to LruCacheRomain Guy2013-07-302-0/+28
| | | | | | | The new methods on LruCache are needed by libhwui to manage the cache of paths. Change-Id: If54fa325c54e2b04e7fe5dfe6dad66066c40127c
* Add #ifndef to prevent multiple definitionsRomain Guy2013-07-301-0/+5
| | | | Change-Id: Ib861eee0f333fe29290437b7e67623622d8dabd0
* Reduce emulator logspamAndy McFadden2013-07-301-0/+2
| | | | | | | | | The emulator doesn't support systrace, but we should point that out at most once per process. Bug 7436352 Change-Id: I06b2c1ea0df6c02c11cd2496423c337f8d7c62a1
* Add an LRU cache plus hashing primitivesRaph Levien2013-07-304-1/+252
| | | | | | | | | | | | | | | This patch adds a hashtable-based LRU cache. This should be significantly higher performance than the GenerationCache it is intended to replace. It is a large part of the fix for bug 7271109 TextLayoutCache low-level performance issues. We added a new method to BasicHashtable to detect when rehashing is needed, because the internal linked list pointers would get invalidated by that rehashing. Also, the hash_type specialized to pointers had a small flaw. Change-Id: I950c2083f96519777b851dbe157100e0a334caec
* Ensure that Vector::erase() returns a valid iteratorJason Simmons2013-07-301-1/+2
| | | | | | | | | | Vector::erase may reallocate the Vector's storage while removing an element. However, erase() calls begin() before calling removeItemsAt(), thus caching a pointer the the Vector's old storage. If the storage is reallocated, the iterator returned by erase() will be based on the old storage pointer and will thus be invalid. Change-Id: I2450c55fd418e6b1c558a4ca7c024573abbaa098
* Revert "Revert "put back the unused virtuals in Vector<>""Dave Burke2013-07-301-0/+20
| | | | | | This reverts commit 225c66a48cdc3acef21ee380dc134449749d3cb3 Change-Id: If31a04b81052cbc7dd7bf237c07107c33066d03d
* Add runtime debugging capabilities to OpenGLRomain Guy2013-07-301-0/+5
| | | | | | | | | | | | | | | The shell property debug.egl.trace can now be set to: 0 disables tracing 1 logs all GL calls error checks glGetError after every GL call, logs a stack trace on error systrace logs each GL call to systrace Change-Id: I34a2a2d4e19c373fd9eaa1b0cd93e67c87378996
* Add TEMP_FAILURE_RETRY to ZipUtilsKenny Root2013-07-301-0/+23
| | | | Change-Id: I275c415f14eeffaf9a58d45f3ea014d766441ec3
* minor SharedBuffer clean-upMathias Agopian2013-07-301-17/+8
| | | | Change-Id: If38b7ce85806ae628c00f2c938de4e3f75142543
* Add a way to retrieve a Region as a SharedBufferMathias Agopian2013-07-301-1/+1
| | | | Change-Id: Ia53cb905fbc88f899521658545f990fb9217b1e1
* Revert "put back the unused virtuals in Vector<>"Mathias Agopian2013-07-301-20/+0
| | | | | | | | This reverts commit 1648d4c13ba2eff3ea14cd87ee94028458a39f97. Bug: 6977192 Change-Id: Idbb6b239aaed4fb1c054ce943f6ba06ede3492bb
* Fixed clang build error for libguiTareq A. Siraj2013-07-301-2/+2
| | | | | | | | | | | Fixed the order of the statements in ANDROID_SINGLETON_STATIC_INSTANCE macro so that the templated static member variable initialization comes before the instantiation of the Singleton class. This fixes the clang compile error. Change-Id: Ic47d17e152b657f2dff3191ccc3770753fdf002b Author: Tareq A. Siraj <tareq.a.siraj@intel.com> Reviewed-by: Edwin Vane <edwin.vane@intel.com>
* put back the unused virtuals in Vector<>Mathias Agopian2013-07-301-0/+20
| | | | | | | | | some binaries are using these private APIs and broke (as they should!) with this change. Temporarily restore the virtuals to work around this. Bug: 6977550 Change-Id: I7c37f24b16e4d586b89205c493db5169cf87e024
* get rid of mirrorItemAt() which isn't used anywhereMathias Agopian2013-07-302-22/+0
| | | | Change-Id: Id6f2dbeed21cabc127d39538c0ff464077ada83f
* improve [un]marshalling of non-binder objectsMathias Agopian2013-07-301-0/+72
| | | | | | | | | | | | | | | | | this change introduces a new class LightFlattenable<> which is a protocol to flatten simple objects that don't require binders or file descriptors; the benefit of this protocol is that it doesn't require the objects to have a virtual table and give us a consitant way of doing this. we also introduce an implementation of this protocol for POD structures, LightFlattenablePod<>. Parcel has been update to handle this protocol automatically. Sensor, Rect, Point and Region now use this new protocol. Change-Id: Icb3ce7fa1d785249eb666f39c2129f2fc143ea4a
* Add a very simple helper function to log slow functions.Jeff Brown2013-07-301-0/+38
| | | | Change-Id: I2e2e072206d02b572a330dd25857c161b5b563bf
* improve Vector<> safety checksMathias Agopian2013-07-304-38/+30
| | | | | | | | | | - make errors that will always cause a memory corruption always fatal (for eg: KeyedVector<>::editValue{For|At}() failure) - make other errors fatal in debug mode, those that can be caught by the caller. - fix typos Change-Id: I65cc7d81035c37ce2906fc4500c50e5d5b5c49eb