c1a4ab9c313d8a3d12007f2dbef7b5a6fa4ac2ef |
|
06-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/#/c/157220 Also fix an occurrence of LOGW missed in an earlier change. Bug: 5449033 Change-Id: I2e3b23839e6dcd09015d6402280e9300c75e3406
|
4308417beec548c2b2c06ecec4f7f4a965b09fb2 |
|
04-Jan-2012 |
Steve Block <steveblock@google.com> |
Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGE See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ic558031c75b3702d90eb78bd730501ae5d3c077b
|
68ecde1134a8d05803552fcd82994053ada3e80d |
|
27-Oct-2011 |
Jeff Brown <jeffbrown@google.com> |
DO NOT MERGE: Optimize IndirectRefTable. Removed unused debugging code that maintained pointers to the 4 previous objects in each slot. Promoted the serial number property of a slot to be first class. This is a sufficiently cheap and useful check to perform that we might as well always do it. Changed get() and remove() so they check the validity of the references at the same time as they retrieve them. They're also a bit smarter about checking the reference kind given that they can assume that the table will only contain references of one kind. The checks are now much more consistent. For example, remove() used to check whether an index was stale only in the case where it was not removing the top entry (now it always checks). Made add() return NULL instead of dvmAbort()'ing in the case where the table overflowed and ensure we don't blow away the table in that cases. This change resolves an issue with TestIndirectRefTable.cpp which deliberately overflows the table and expects add() to return NULL (as documented!). As it happens, the add() method is called in exactly 3 places in Jni.cpp. In each of those cases, the code was written to handle a NULL result and only in the case of adding a weak global reference did it not abort. Fixed the weak global reference case to be consistent with the others. Changed the signature of contains() to take an Object* since that's what we're actually looking for inside the table. Added a couple of calls to dump() in TestIndirectRefTable.cpp for visual inspection of its correctness. Performance as measured by TestIndirectRefTable on same hardware. Old implementation: - Add/remove 100 objects FIFO order, 100000 iterations, 0.023ms / iteration - Add/remove 100 objects LIFO order, 100000 iterations, 0.020ms / iteration - Get 100 objects, 100000 iterations, 0.009ms / iteration New implementation: - Add/remove 100 objects FIFO order, 100000 iterations, 0.010ms / iteration - Add/remove 100 objects LIFO order, 100000 iterations, 0.009ms / iteration - Get 100 objects, 100000 iterations, 0.002ms / iteration Cherry-pick from master. Conflicts: vm/IndirectRefTable.cpp Change-Id: I157f3c1ba598137222878b8e6a5890efb744fe76
|
5552e62455d486d19e5986a67ae2545411d50fbe |
|
27-Oct-2011 |
Jeff Brown <jeffbrown@google.com> |
Optimize IndirectRefTable. Removed unused debugging code that maintained pointers to the 4 previous objects in each slot. Promoted the serial number property of a slot to be first class. This is a sufficiently cheap and useful check to perform that we might as well always do it. Changed get() and remove() so they check the validity of the references at the same time as they retrieve them. They're also a bit smarter about checking the reference kind given that they can assume that the table will only contain references of one kind. The checks are now much more consistent. For example, remove() used to check whether an index was stale only in the case where it was not removing the top entry (now it always checks). Made add() return NULL instead of dvmAbort()'ing in the case where the table overflowed and ensure we don't blow away the table in that cases. This change resolves an issue with TestIndirectRefTable.cpp which deliberately overflows the table and expects add() to return NULL (as documented!). As it happens, the add() method is called in exactly 3 places in Jni.cpp. In each of those cases, the code was written to handle a NULL result and only in the case of adding a weak global reference did it not abort. Fixed the weak global reference case to be consistent with the others. Changed the signature of contains() to take an Object* since that's what we're actually looking for inside the table. Added a couple of calls to dump() in TestIndirectRefTable.cpp for visual inspection of its correctness. Performance as measured by TestIndirectRefTable on same hardware. Old implementation: - Add/remove 100 objects FIFO order, 100000 iterations, 0.023ms / iteration - Add/remove 100 objects LIFO order, 100000 iterations, 0.020ms / iteration - Get 100 objects, 100000 iterations, 0.009ms / iteration New implementation: - Add/remove 100 objects FIFO order, 100000 iterations, 0.010ms / iteration - Add/remove 100 objects LIFO order, 100000 iterations, 0.009ms / iteration - Get 100 objects, 100000 iterations, 0.002ms / iteration Change-Id: I1c904eb03bc8dd9822e6d9cce702c696e976974e
|
476157d87784f48935cb86f01c079db1f9338e36 |
|
27-Oct-2011 |
Jeff Brown <jeffbrown@google.com> |
Add a simple performance test for IndirectRefTable. Change-Id: Ib75354508fff1921d8d73eba5e3a3905a362b1e1
|
ce0968340f9ddd54f20e38d4946bfd2ef8f1f343 |
|
21-Jun-2011 |
Elliott Hughes <enh@google.com> |
Clean up IndirectRefTable a bit. The main purpose here was to have slightly less unclear warnings for JNI local reference abuse. Change-Id: I2c6378dd0a94d8afb96a8e409f7460205e3cd315
|
60fc806b679a3655c228b4093058c59941a49cfe |
|
26-May-2011 |
Dan Bornstein <danfuzz@android.com> |
Further conservation of newlines. Friends don't let friends end LOG() strings with newlines. Change-Id: I5a18c766c90c4ab5f03caa6acd601d34d91beb00
|
1e1433e78f560a01744e870c19c162ab88df9dc1 |
|
21-Apr-2011 |
Carl Shapiro <cshapiro@google.com> |
Remove unneeded void argument list declarations. Change-Id: Ica749f6defa890363ec531b29e25bc415dc2cbb9
|
d5c36b9040bd26a81219a7f399513526f9b46324 |
|
16-Apr-2011 |
Carl Shapiro <cshapiro@google.com> |
Move the remaining non-compiler VM code into C++. Change-Id: Id8693208d2741c55a7b0474d1264f2112019d11f
|