aboutsummaryrefslogtreecommitdiff
path: root/libdex
Commit message (Collapse)AuthorAgeFilesLines
* libdex: Invert the default for dexopt-on-cacheRicardo Cerqueira2013-12-191-1/+1
| | | | | | | | | | | | | | | The growth of /system apps and total /data space are making this device-breaking (insufficient space to dexopt everything to /cache), pointless (/data has more than enough room to hold the cache), and in some cases, both. The default behavior is now the same as mainline Android's: dexopt everything to /data. Set dalvik.vm.dexopt-data-only=0 to change that and dexopt /system apps to /cache. If you do that, make sure your /cache can accomodate double the size of the dex classes in system, since in some extreme cases that has been observed during dex2oat Change-Id: Ia99655731c882e54bdc85293c467288fb4dc65df
* Move verification of class access flags to libdexBen Gruver2013-12-181-3/+2
| | | | | | | Change-Id: I020a168cfff46e319b0bebb6c7477f0b4139c6de Conflicts: libdex/DexSwapVerify.cpp
* Merge branch 'kk_2.7_rb1.9' of git://codeaurora.org/platform/dalvik into cafSteve Kondik2013-11-114-1/+17
|\ | | | | | | Change-Id: I885fab2470352d0a625c9946d0d5c9111486b713
| * dalvik: dalvik device extension pack.Xin Qi2013-10-314-1/+17
| | | | | | | | | | | | | | | | | | Add support for customer device extension Change-Id: I0402a630ba212d1c5e81cda110f61210f7b60384 (cherry picked from commit 11499df326462bfe25890a35c6abbf019ff7784e) (cherry picked from commit e03b8f8da9cf4eef64cedf39ce9ca90d26ce5124) (cherry picked from commit fb360be406f35b9591f12c61936657f03cc5880f)
* | Unbreak building host modulesRicardo Cerqueira2013-11-062-1/+8
| | | | | | | | | | | | bionic is now a dependency for properties Change-Id: Icd406e639ca297244ab809f523c6830c2240d20b
* | Merge tag 'android-4.4_r1' into cm-11.0Ricardo Cerqueira2013-11-013-65/+159
|\| | | | | | | Android 4.4 Release 1.0
| * Merge "Ignore invalid access flags." into klp-devJeff Hao2013-09-191-7/+14
| |\
| | * Ignore invalid access flags.Elliott Hughes2013-09-161-7/+14
| | | | | | | | | | | | | | | Bug: 10134551 Change-Id: I9df8f7a2541e0c9bd2f9294a202fef2afce815f8
| * | Fix mac sdk buildKenny Root2013-09-191-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Macs don't have off64_t and instead use loff_t. This is taken care of in the Compat.h header from system/core. Include that. Bug: 10424836 Change-Id: Ic892e1edfecab502159209d463394864370c5537
| * | Reconcile differences between zip implementationsKenny Root2013-09-181-57/+137
| |/ | | | | | | | | | | | | Copy new behavior of ZipFileRO to dalvik's ZipArchive.cpp Bug: 10424836 Change-Id: Ic0ce11281f7318abda9d3c8062a095186448d2a9
| * add static dependency on liblogColin Cross2013-07-231-0/+2
| | | | | | | | Change-Id: Id431382f0fc71ef126dd35e5949d5de2abe2b785
| * Merge "Move verification of class access flags to libdex"Elliott Hughes2013-05-131-0/+5
| |\
| | * Move verification of class access flags to libdexBen Gruver2013-05-081-0/+5
| | | | | | | | | | | | Change-Id: I020a168cfff46e319b0bebb6c7477f0b4139c6de
| * | Fix bad whitespace alignment from LOGW to ALOGW changeBrian Carlstrom2013-05-031-2/+2
| |/ | | | | | | Change-Id: I8eba74b92976f433aff42e6c4461e3127e519d77
| * Remove unnecessary JNI_H_INCLUDE from LOCAL_C_INCLUDESBrian Carlstrom2013-05-031-1/+0
| | | | | | | | Change-Id: I463a62898e5dd8eb01d1dfbaf71f67d8e1b4e67c
* | Revert "Move verification of class access flags to libdex"Ricardo Cerqueira2013-11-011-5/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit aa897b06230453519c4ec636f229c72ac0015897. Revert "Reject dex files that attempt to use unspecified class access flags" This reverts commit 2f824d3e4835479409724ea02d0a23114cd4ff81. Revert "If dalvik wants ASCII casing, it needs to ask for it." This reverts commit d91250308fc4c423d11955174c21566fa19df07c. Revert "JIT: Combine add with shift and offset for array load & store." This reverts commit a9ecd84e5f5423a1ba6bbb2bb9256b0dc382de44. Revert "JIT: Use rsb and shift in easy multiply." This reverts commit 25b94295a57290623e34882e7fd86ea10928a54e. Revert "Excessive JNI: Dump HPROF dump." This reverts commit 8d30a7402d48c4ffe2bf28ede78c6b3b52b15304. Revert "dalvik/vm: Dalvik startup with a low memory footprint" This reverts commit 15726c81059b74bf2352db29a3decfc4ea9c1428.
* | Move verification of class access flags to libdexBen Gruver2013-10-251-0/+5
| | | | | | | | Change-Id: I020a168cfff46e319b0bebb6c7477f0b4139c6de
* | libdex: Skip the dexroot-on-cache stuff for user buildsSteve Kondik2013-10-232-0/+6
| | | | | | | | Change-Id: I432b96ae3e25977ea17558b4a3f8ca90903cb5b5
* | Revert "Disable /cache/dalvik-cache (temporarily?)"Fused2013-08-031-2/+0
| | | | | | | | | | | | This reverts commit 59e79c413311dc6796683dc34ce00e5842e7f3cc. Change-Id: I81bc9a338b7bf2c40fa1850981359505e36ffa29
* | Disable /cache/dalvik-cache (temporarily?)Ricardo Cerqueira2013-07-261-0/+2
| | | | | | | | | | | | | | | | | | | | When writing to /cache, processes are inheriting their own ownership permissions instead of the system/metagroup abstraction used in /data, which makes writing to this dalvik-cache fail. Go back to using only /data until this is identified and fixed Change-Id: I9ae19321f158ac86a9c5dd4d2db1268eec278c11
* | dvm: Bring back the ANDROID_DATA overrideRicardo Cerqueira2013-07-241-1/+1
| | | | | | | | | | | | | | This got broken by the split-cache patch, and it's impacting the CTS vm unit. Fixit. Change-Id: I602824afef19c92a4d2c1702d10c8f0315277227
* | Exclude sha1.c when building libdex for deviceJim Huang2013-07-241-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In bionic, there is already an optimized SHA-1 hash implementation, and the file 'sha1.c' in libdex is almost identical. It is only necessary to build sha1.c for host version of libdex. In addition, the SHA-1 hash implementation in bionic is slightly faster than the one included in libdex. Here is the reference SHA-1 benchmark on Nexus S: [libdex] Rounds: 100000, size: 6250K, time: 1.28s, speed: 4.768 MB/s [bionic] Rounds: 100000, size: 6250K, time: 1.184s, speed: 5.156 MB/s (manually cherry-picked commit 55ac5b0a908b85c050f34dc603f62dd4b1fc4e9f)
* | DexOpt anything in /system on /cachectso2013-07-241-1/+31
|/ | | | | | Allow system property to disable use of /cache for dexfiles. (manually cherry-picked commit 15d27bbe10e307136e081bedb7cf25131896f1cb)
* Remove dead code.Elliott Hughes2012-12-172-95/+3
| | | | Change-Id: I56c27c510c8fc0ba2d8e691c788b433dce250f7a
* Fix Method.getParameterAnnotations.Elliott Hughes2012-07-231-7/+14
| | | | | | | | | | | The dex format represents parameter annotations using an annotation_set_ref_item for each parameter. According to the spec, the item's annotation_offset can be "0 if there are no annotations for this element". The Dalvik VM accepts 0 values in the verification step, but Method#getParameterAnnotations then crashes with a segmentation fault. Bug: http://code.google.com/p/android/issues/detail?id=35304 Change-Id: I0ac7336d369894520c8e17848ab6a91dbbd905e9
* Use uintptr_t for cast pointer to integer.SangWook Han2012-07-184-4/+4
| | | | | | | On 64bit host, sizeof pointer is not equal to sizeof int/u4. Need for host tools. Change-Id: Id8d9418787e79523226b9c9e3f67277f9ac7c6aa
* am 6353fe2f: am 2a3cc744: Merge "Set SYSTEM_PAGE_SIZE from PAGE_SHIFT"Elliott Hughes2012-03-301-0/+4
|\ | | | | | | | | * commit '6353fe2fbb380551a576fb38ad68dbc1566d250c': Set SYSTEM_PAGE_SIZE from PAGE_SHIFT
| * Set SYSTEM_PAGE_SIZE from PAGE_SHIFTChris Dearman2012-01-301-0/+4
| | | | | | | | | | | | Hardwiring the expected page size is not portable Signed-off-by: Chris Dearman <chris@mips.com>
* | Rename (IF_)LOGE(_IF) to (IF_)ALOGE(_IF) DO NOT MERGESteve Block2012-01-088-161/+161
| | | | | | | | | | | | | | | | | | 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
* | Rename (IF_)LOGW(_IF) to (IF_)ALOGW(_IF) DO NOT MERGESteve Block2012-01-065-40/+40
| | | | | | | | | | | | | | See https://android-git.corp.google.com/g/157065 Bug: 5449033 Change-Id: Ia5d301248024df26c2a29dabdfe738e39ec87c82
* | Rename (IF_)LOGI(_IF) to (IF_)ALOGI(_IF) DO NOT MERGESteve Block2012-01-052-2/+2
| | | | | | | | | | | | | | See https://android-git.corp.google.com/g/156801 Bug: 5449033 Change-Id: Ic558031c75b3702d90eb78bd730501ae5d3c077b
* | Remove unsupported experimental opcodes.Elliott Hughes2012-01-054-1211/+6
| | | | | | | | | | | | | | External developers were starting to try to get themselves into trouble with this stuff... Change-Id: I2b03bfeaa8c98b6a994bc7924fc8dcf4e4d4f6cb
* | Rename (IF_)LOGD(_IF) to (IF_)ALOGD(_IF) DO NOT MERGESteve Block2012-01-033-4/+4
| | | | | | | | | | | | | | See https://android-git.corp.google.com/g/156016 Bug: 5449033 Change-Id: Ic663376d1ad6a6cb14bf81405ad9afd247cf2f60
* | Rename (IF_)LOGV(_IF) to (IF_)ALOGV(_IF) DO NOT MERGESteve Block2011-10-266-19/+19
|/ | | | | | | See https://android-git.corp.google.com/g/#/c/143865 Bug: 5449033 Change-Id: I8bd96961e369a08e86ff78b82d90f20f42787eb1
* Fix memory leak in mapCentralDirectory.Jeff Brown2011-07-191-28/+28
| | | | | | | | | | | | | Bug: 4984352 mapCentralDirectory was allocating a buffer of size 65557 that it passed to mapCentralDirectory0. Then mapCentralDirectory0 was reallocating a new buffer which it failed to free. This patch rearranges the code a little to ensure that only buffer gets allocated and it gets freed. Change-Id: I3b22e2b904f6e7584ab8a3af49c8f1350a40be87
* Normalize the include guard style.Carl Shapiro2011-06-1415-44/+44
| | | | | | | | | | An leading underscore followed by a capital letter is a reserved name space in C and C++. This change also moves any #include directives within the include guard in some of the compiler/codegen/arm header files. Change-Id: I9715e2c5301699d31886e61d0fe6e29483555a2a
* Add some error checking and clean out some cruft.Dan Bornstein2011-06-021-4/+5
| | | | | | | | | | | | | | | | Error checking #1: When a cached dex file can't be created, do extra analysis to figure out (and report) why. Error checking #2: When opening classpath entries, become sensitive to the file extension, only trying to open files with the right extensions and complaining explicitly if it's unrecognized. Cruft cleaning: We've never supported finding class files in directory hierarchies in Dalvik. Fix some related comments and clean out some code that tried (in vain) to implement a piece of that. Bug: 4523201 Change-Id: I05b7a8570f147955cd62229fca72b50d36703752
* More LOG newline cleanup.Dan Bornstein2011-05-262-2/+2
| | | | | | | This changes all the places I could find where the log string was on the line after its LOG call. Change-Id: Iac6a9fcc64f46631fb093824ab60237dce1a5241
* Prefer printf format "%#x" over "0x%x".Dan Bornstein2011-05-262-50/+50
| | | | | | I exist to serve. Change-Id: I8e2880b20eefd466da8515d5b6b0c5cb75d56169
* Conservation of newlines in libdex.Dan Bornstein2011-05-258-213/+213
| | | | | | | The log facility adds newlines automatically, and the prevailing convention is now to omit them. Change-Id: I14762ea4a7c24eea333f778724a0e4b6b65bae2b
* Update dex file magic number.Dan Bornstein2011-05-253-28/+46
| | | | | | | | | | | | | | | | | | | | Even though the dex format was technically resilient with respect to the addition of new opcodes, consensus is that the errors one sees when trying to use a new dex file on an old build were sufficiently inscrutable that it was worth the effort to update the version number embedded in the dex format magic. This change updates dx to produce the new version number when extended opcodes are enabled (which is the default, but may be overridden by targeting an older API level). This also updates the vm to recognize and accept both the new current version number as well as the immediately previous one. Note: It won't reject an old-version file if it happens to use the new opcodes; that would just be a gratuitous and pointless failure. Bug: 4364986 Change-Id: If8febbb0b91c1719df4247bf69c511251362d91f
* Merge remote branch 'goog/dalvik-dev' into dalvik-dev-to-masterBrian Carlstrom2011-05-0532-248/+262
|\ | | | | | | Change-Id: I99c4289bd34f63b0b970b6ed0fa992b44e805393
| * Make libdex structures tool friendly.Carl Shapiro2011-04-2719-234/+105
| | | | | | | | | | | | | | | | | | | | Previously, the struct name and its typedef name were identical. This confuses emacs and etags. This change eliminates the typedef names and removes the extern "C" wrapping the libdex header files. To support this change the transitive C dependencies have been made to compile as C++ instead. Change-Id: I7065f32d61d776f9b09c7b461adf2502268d852f
| * Compile libdex as C++.Dan Bornstein2011-04-1421-131/+165
| | | | | | | | | | | | The major-looking code changes were all just to unravel some gotos. Change-Id: I86f98a48b160f357ce93c87446bad5d705d5f05b
| * Convert the internal and in-line natives to C++.Carl Shapiro2011-04-1213-1/+102
| | | | | | | | Change-Id: I2ece682bc3b4d3b55ab27c60fd84a0b3243d7ca6
| * Compile the garbage collector and heap profiler as C++.Carl Shapiro2011-04-081-0/+8
|/ | | | Change-Id: I25d8fa821987a3dd6d7109d07fd42dbf2fe0e589
* Optimize annotations.Jesse Wilson2011-03-241-1/+1
| | | | | | | See libcore change I5912b526dfa87a61a95fbe7b7efc48d0dca3ad38 Change-Id: I89ed0be331eea3d9c0d02bebeaa719b686d532ca http://code.google.com/p/android/issues/detail?id=7811
* Add a missing strings.h include for strcasecmp.Carl Shapiro2011-03-211-0/+1
| | | | Change-Id: I06949c34d8ce0f48fa905d3a03d87de81e47e2f9
* Move finalization out of the VM.Carl Shapiro2011-03-211-2/+2
| | | | | | | | | This change introduces a new reference class whose referent points to instances requiring finalization. This makes the finalization of objects possible using a reference queue and a dedicated thread which removes objects from the queue. Change-Id: I0ff6dd272f00ca08c6ed3aa667bf766a039a944e
* Clarify a comment.Dan Bornstein2011-03-112-1/+3
| | | | | | Per suggestion during code review of previous patch. Change-Id: I9bf88d3127f32036c1668ad03ffc491947a4f696