Commit Graph

405 Commits

Author SHA1 Message Date
Jeff Brown
6f12d57325 Add a very simple helper function to log slow functions.
Change-Id: I2e2e072206d02b572a330dd25857c161b5b563bf
2012-08-10 22:03:55 -07:00
Mathias Agopian
69973992d5 improve Vector<> safety checks
- 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
2012-08-10 13:15:00 -07:00
Mathias Agopian
53095e25d6 libutils cleanup: remove unused or seldom used code from misc.{cpp|h}
Change-Id: I72206f16619d81887e3b85603494563faab3b445
2012-08-05 12:41:16 -07:00
Nick Pelly
074cd0c076 Add elapsedRealtimeNano(), and use CLOCK_BOOTTIME where possible.
Change-Id: I4231c8ca32663e6e2cb5b7c126d091f837373807
2012-07-19 16:06:21 -07:00
John Grossman
ec44ed0758 Utils: Fix a bug in the linear transformation code.
Hand merge from ics-aah

> Utils: Fix a bug in the linear transformation code.
>
> Fix a bug where an incorrect result would be computed if you used the
> linear transformation code to do a reverse transformation (from B's
> domain into A's domain) when the scaler fraction was negative.
>
> Change-Id: I8e5f109314d235a177ab41f65d3c4cd08cff78be
> Signed-off-by: John Grossman <johngro@google.com>

Change-Id: Id90e18f685c61c1a89fd91c32adcf01363b3e8f3
Signed-off-by: John Grossman <johngro@google.com>
2012-06-27 15:34:43 -07:00
Jeff Brown
9a6b4c73fa am d5085da3: am 4467bba7: Merge "Support looper callbacks based on smart pointers." into jb-dev
* commit 'd5085da3c0c103bba0c2c927382f7d414275b661':
  Support looper callbacks based on smart pointers.
2012-05-31 18:43:27 -07:00
Jeff Brown
ad7b3760ce am 80586761: am dad23789: Merge "Delete unused poll() code." into jb-dev
* commit '805867612c0c11d3bb494cbf454cbb2de21a1b75':
  Delete unused poll() code.
2012-05-31 18:43:26 -07:00
Jeff Brown
27d928474d am dce1547d: am 9e2e781a: Merge "Remove unused statistics code." into jb-dev
* commit 'dce1547d65877b89cec4e52ee8e5b39830911d00':
  Remove unused statistics code.
2012-05-31 18:43:26 -07:00
Jeff Brown
af567f73ac Support looper callbacks based on smart pointers.
Bug: 6559630
Change-Id: I5a667f219f431838638acefbc9fa6afa610971bd
2012-05-31 17:16:21 -07:00
Jeff Brown
588d5c8280 Delete unused poll() code.
We don't need this code anymore and it is just in the way.

Bug: 6559630
Change-Id: I1dc9decf85d5ea1feab159c2985da6c20baffdd5
2012-05-30 19:21:12 -07:00
Jeff Brown
1ea51bf519 Remove unused statistics code.
Bug: 6559630
Change-Id: Iacdf4bb4c1c125c09305cbd8cb443c7c80cfc010
2012-05-30 19:17:47 -07:00
Mathias Agopian
455961ef65 am e0607f05: am 5aed6843: Merge "fix a corruption in Vector<> when adding new items" into jb-dev
* commit 'e0607f0507fe647bd9262facfaf75146c074e933':
  fix a corruption in Vector<> when adding new items
2012-05-21 12:43:25 -07:00
Mathias Agopian
a9611c5d5b fix a corruption in Vector<> when adding new items
would happen when vectors are copied and new items is
added in both vectors. we didn't duplicate the underlying
storage when adding items in vectors.

Bug: 6515797
Change-Id: If544c07d96c05821e088d7f2c9b5736f7e306c31
2012-05-17 17:47:44 -07:00
Glenn Kasten
9121ece5fc am f30fd014: Merge "Workaround for add_tid_to_cgroup failed to write" into jb-dev
* commit 'f30fd01497a53cbff8692721026c3f7b6830158e':
  Workaround for add_tid_to_cgroup failed to write
2012-05-10 17:45:21 -07:00
Glenn Kasten
10cbbd8f1f Workaround for add_tid_to_cgroup failed to write
Bug: 6467109
Change-Id: I6dff8e608d83c7a7c453c25c94ad100f113769b9
2012-05-10 15:52:59 -07:00
Dianne Hackborn
daee0dcb43 am 555f89d8: Add callback hack to find out when to reload system properties.
* commit '555f89d8df316cdc5a25dbedb8614c2ac7a5e0a9':
  Add callback hack to find out when to reload system properties.
2012-05-10 09:31:08 -07:00
Dianne Hackborn
555f89d8df Add callback hack to find out when to reload system properties.
Every IBinder object can accept a new transaction to tell it that
it might want to reload system properties, and in the process
anyone can register a callback to be executed when this happens.

Use this to reload the trace property.

This is very much ONLY for debugging.

Change-Id: I55c67c46f8f3fa9073bef0dfaab4577ed1d47eb4
2012-05-09 14:53:26 -07:00
Dianne Hackborn
dad60f2aec am 34c65888: Change name of system property for traces.
* commit '34c65888d1842315e987045594e2999442c78f1d':
  Change name of system property for traces.
2012-05-09 01:55:27 -07:00
Dianne Hackborn
34c65888d1 Change name of system property for traces.
This allows the property to be changed from the settings UI.

Change-Id: Ife7424b3549e5bbe51b6ad2fb8e5edde3a9fd608
2012-05-08 14:54:24 -07:00
Andrew Hsieh
52016c18c3 Fixed 64-bit porting issues
Fixed two issues about casting between int and pointer which
cause compilation error in 64-bit mode (eg. for 64-bit emulator)

Change-Id: I5ca9a933a239db73e56d6f27de05aa42bd06a650
2012-05-02 12:30:00 +08:00
Glenn Kasten
a26e1cfbbc Scheduling group cleanup
Remove C++ APIs androidSetThreadSchedulingGroup and
androidGetThreadSchedulingGroup, and the ANDROID_TGROUP_* constants.

Former callers of these should now use the C APIs set_sched_policy and
get_sched_policy, and the SP_* constants.

Note: debug.sys.noschedgroups is not supported by the C APIs,
this needs to be discussed.

Change-Id: I32bbfc539ef4090faf9ef0320380e8cca9eae07c
2012-04-19 11:32:59 -07:00
Jeff Brown
a8be8fa096 Support tokenizing arbitrary content.
Bug: 6110399
Change-Id: I37be63b68934fd451e6dffbf7d6079553619c0a3
2012-04-17 18:19:50 -07:00
Glenn Kasten
84ed8001d4 Add a log tag
Change-Id: If30aa8536130cf6ff9918ce97c5e4e8651ae2fef
2012-04-05 13:43:57 -07:00
Keun young Park
b7beba4548 add Looper.cpp to build for linux host to use in CTS audio
Change-Id: I59cfe30fd48fcba0bb949033f4d2aef5ce9916e4
2012-03-26 14:44:24 -07:00
Colin Cross
1c6cd3803e frameworks/native: link host libutils against external/zlib
Fix the SDK build by statically linking host libutils against libz
from external/zlib.

Change-Id: Id6805d3c9071e6fa0559024336642b5386cf3c52
2012-03-23 10:14:56 -07:00
Colin Cross
163d5a9fa7 frameworks/native: move Zip* from libandroidfw to libutils
ZipUtils is needed by build/tools, move it from libandroidfw
(frameworks/base) to libutils (frameworks/native).

Change-Id: Ib8c41134ccdec6d6aa8d49860f8dddef49a24783
2012-03-22 18:50:03 -07:00
Jeff Brown
0818b0921e Add a simple work queue abstraction.
Makes it easy to schedule a bunch of work to happen in parallel.

Change-Id: Id9c0e52fc8b6d78d2b9ed4c2ee47abce0a01775c
2012-03-17 14:28:38 -07:00
Andrew Hsieh
93f283dba4 Added rules to build f/n/libs/utils in 64-bit: lib64utils.a
It's needed to build four shared libraries in 64-bit for 64-bit
emulator with "-gpu on"
  lib64OpenglRender.so
  lib64EGL_translator.so
  lib64GLES_CM_translator.so
  lib64GLES_V2_translator.so

Change-Id: Ia6c05b23df1e9cd9e7f2e94e4cd5bde4be5d336b
2012-03-13 00:55:34 -07:00
Jeff Brown
45b80c69ad Expose the set of enabled tags.
This is used by the Java trace wrappers to avoid JNI overhead
when trace tags are disabled.

Also added a new tag for the input subsystem and view hierarchy.

Change-Id: Ia04a507e42a37b1d3bbb19859e6c07a92f4fe9aa
2012-03-09 15:43:12 -08:00
Andrew Hsieh
5b06718071 Merge "Fixed several 64-bit porting issues" 2012-02-29 16:41:55 -08:00
Andrew Hsieh
0ae8c14b4b Fixed several 64-bit porting issues
1. Use "%zu" instead of "%d" for size_t in printf
2. Variable precision specifier (eg. "%.*s") in printf should be of type int.
   (iov_len is size_t which is 64-bit when compiled with -m64)
3. Use PRId64 instead of "%lld" to print variables of type int64_t

Change-Id: I2be40a6514b5dffa0038d62b9bccc3401b8756e6
2012-02-27 18:50:55 -08:00
Jamie Gennis
f64b1ca000 libutils: add a system-wide tracing utility
This change adds some utility functionality for doing userland tracing
into the kernel trace log.

Change-Id: Id0a8cee9ea515b1d8765afd1cecf472a88b4b9e8
2012-02-26 16:06:53 -08:00
Mathias Agopian
4f4c10104e frameworks/base refactoring
create the new libandroidfw from parts of libui and libutils

Change-Id: I1584995616fff5d527a2aba63921b682a6194d58
2012-02-20 22:38:43 -08:00
Mathias Agopian
a3a3881208 frameworks/base refactoring.
step 2: move libutils headers to their new home: androidfw

Change-Id: I14624ba23db92a81f2cb929f104386e1fab293ef
2012-02-17 19:01:26 -08:00
Iliyan Malchev
6032a77682 libs/utils: replace malloc() + memset() to zero with calloc()
Change-Id: I8bdf4360147e51e35c162856c9a859aed6acac34
Signed-off-by: Iliyan Malchev <malchev@google.com>
2012-02-17 14:27:13 -08:00
Glenn Kasten
a1eee39f58 Merge "Thread::getTid returns pid_t gettid() after run" 2012-02-02 13:24:52 -08:00
Dianne Hackborn
60b133efc3 aapt now sorts the strings in the resource string pool.
In our current environment with very many translations, this can
save a lot of RAM -- for example over 200K in Gmail just by sorting
the strings in the Gmail .apk (not the framework).

Also add a new aapt command to print the contents of the resource
table string pool.

Change-Id: I1da037b3e2c377b890833ff57ab158965314ac48
2012-01-31 15:41:30 -08:00
Glenn Kasten
ba699cb0f7 Thread::getTid returns pid_t gettid() after run
This is needed when the parent or any other thread besides the child
needs access to the child's kernel tid.

Change-Id: Ib148505913eb78314cfd76657c30d7b20663dffd
2012-01-17 09:38:23 -08:00
Steve Block
6726347e89 Rename LOG_ASSERT to ALOG_ASSERT DO NOT MERGE
See https://android-git.corp.google.com/g/157519

Bug: 5449033
Change-Id: I8ceb2dba1b031a0fd68d15d146960d9ced62bbf3
2012-01-09 21:36:22 +00:00
Steve Block
e6f43ddce7 Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/#/c/157220

Bug: 5449033
Change-Id: Ic9c19d30693bd56755f55906127cd6bd7126096c
2012-01-08 13:19:13 +00:00
Steve Block
32397c1cd3 Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/157065

Bug: 5449033
Change-Id: I00a4b904f9449e6f93b7fd35eac28640d7929e69
2012-01-06 10:07:54 +00:00
Steve Block
a19954ab37 Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/156801

Bug: 5449033
Change-Id: Ib08fe86d23db91ee153e9f91a99a35c42b9208ea
2012-01-04 20:05:49 +00:00
Steve Block
9d45368352 Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGE
See https://android-git.corp.google.com/g/156016

Bug: 5449033
Change-Id: I4c4e33bb9df3e39e11cd985e193e6fbab4635298
2012-01-03 22:38:27 +00:00
Jeff Brown
66fbde3050 Add a basic hashtable data structure, with tests!
The basic hashtable is intended to be used to support a variety
of different datastructures such as map, set, multimap,
multiset, linkedmap, generationcache, etc.

Consequently its interface is fairly primitive.

The basic hashtable supports copy-on-write style functionality
using SharedBuffer.

The change introduces a simple generic function in TypeHelpers for
specifying hash functions.  The idea is to add template
specializations of hash_type<T> next to the relevant data structures
such as String8, String16, sp<T>, etc.

Change-Id: I2c479229e9d4527b4fbfe3b8b04776a2fd32c973
2011-11-22 17:12:22 -08:00
Jeff Brown
504f982fd3 Use libcorkscrew to format the stack trace.
Change-Id: I3a5439ada76bc77c2dd491eaed2272e16a811cc7
2011-11-21 21:04:55 -08:00
Jeff Brown
343c59cc8d Merge "Slight change to the unwinder API." 2011-11-04 20:06:42 -07:00
Jeff Brown
2ab79e755b Slight change to the unwinder API.
Change-Id: I5424de76a21b74842e004e0281936b3f492d3c7a
2011-11-03 17:30:54 -07:00
Jamie Gennis
7fbb39960e am 236aea35: Merge changes Ibc99cb1c,Ie1f4f6f8 into ics-mr1
* commit '236aea3579787961fdd41d87574760b63323c0c1':
  BlobCache: implement cache serialization
  BlobCache: remove the mutex locking
2011-11-03 18:55:14 +00:00
Jamie Gennis
0e1bc17429 BlobCache: implement cache serialization
This change adds serialization and deserialization functionality to
BlobCache, conforming to the Flattenable interface.

Change-Id: Ibc99cb1c3d015f363d57d0713eabccec07ff975e
2011-10-31 18:49:32 -07:00
Jamie Gennis
93ca6fb91c BlobCache: remove the mutex locking
This change removes the mutex from the BlobCache class.  The caller must
be responsible for thread synchronization in order to properly implement
the Flattenable interface, which is coming soon.  Otherwise would be the
potential for the cache contents to change between the call to the
getFlattenedSize and flatten methods.  Because the caller must do this
synchronization anyway there's no reason to also some synchronization
inside BlobCache.

Change-Id: Ie1f4f6f82b78744f46a41ce863cac0cad276a20e
2011-10-31 18:48:31 -07:00