summaryrefslogtreecommitdiffstats
path: root/libart
Commit message (Collapse)AuthorAgeFilesLines
...
* Fix javadoc @char instead of @code.Elliott Hughes2014-06-261-1/+1
| | | | Change-Id: Icb2e2b075615fdf384c49da85145c2b5cb6f38c5
* Merge "Clarify the String.compareTo contract and add tests."Elliott Hughes2014-06-261-304/+148
|\
| * Clarify the String.compareTo contract and add tests.Elliott Hughes2014-06-261-304/+148
| | | | | | | | | | | | | | | | | | | | | | Our use of vague terms like "negative" and "positive" led VM engineers to assume they had more leeway than they actually do. While we're here, let's fix all the ambiguous use of 'character' and add a warning and link to Collator anywhere the non-standard (and non-locale-specific) case folding is used. Change-Id: I0a0fb2a493861d32fac0bc4e28ae9634f8ac342c
* | libcore: Clean up Enum.compareTo(E)Valter Strods2014-06-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | As E extends Enum<E>, it is safe to cast the comparable object to Enum<?> as it should not throw any exceptions. When it is cast, the ordinal value can be accessed directly. Doing so would be preferred as either both the variables this.ordinal and o.ordinal should be used or the methods this.ordinal() and o.ordinal() should be used without mixing them together. Change-Id: I7c4e93fdf35b0bf2949738a91c0855d9a52e5c13
* | Fix libart files to work with javadocBrian Carlstrom2014-06-182-2/+2
|/ | | | | Bug: 14298175 Change-Id: I3f36ca6259a28bf9beae02bf30ba365eb263e3c1
* Provide more information about the runtimeSebastien Hertz2014-05-221-0/+15
| | | | | | | | | | Adds methods vmInstructionSet, is64Bit and isCheckJniEnabled to the VMRuntime class. They are used by DdmHandleHello class in the framework to report new information about the runtime to DDMS. Bug: 14888999 Bug: 14888124 Change-Id: I8a2d3f22f84a093be2fbc74464af6aa7b2a2bebb
* Remove ArtMethod's quick fields for frame size and spills.Vladimir Marko2014-05-121-13/+0
| | | | | | | | This is a companion CL for art/ change "Move quick frame info to OatQuickMethodHeader." https://android-review.googlesource.com/93241 Change-Id: I07e2f4c756a0738433d9341847410b612001c5b6
* Handle Reference.get in native code.Mathieu Chartier2014-05-061-0/+198
| | | | | | | | | This enables us to have mostly concurrent reference processing in the GC. Reference.get() may block if references are being processed. Bug: 14381653 Change-Id: I7cf6ef34b08f804897c8e6d5e9e6ae94420dc489
* Add finalizer references in native code.Mathieu Chartier2014-05-011-3/+0
| | | | | | | | | | | Finalizers are now added from native code in the allocation code path. This is an optimization since some of the entrypoints aren't used for finalizable objects and therefore we can eliminate the check. Bug: 14078487 Change-Id: I7edba4c884abec23678e59eb7480abc344f1ffa8
* Add a mapping between ABIs and instruction sets.Narayan Kamath2014-05-011-0/+30
| | | | | | | | | | | Bridges the android ABI lists (TARGET_CPU_ABI, TARGET_CPU_ABI2 from the BoardConfig and android.os.Build.CPU_ABI) and the runtime concept of an instruction set used for compilation (the --instruction-set to dex2oat and so on). (cherry picked from commit 6174cff204aa36e622e9bd93569b4a1eb2ed222c) Change-Id: Id2eaa60f0546d6c88770f8981adac2a896ed7d49
* Merge "Remove ArtMethod's quick fields mapping table and vmap table."Vladimir Marko2014-04-281-16/+0
|\
| * Remove ArtMethod's quick fields mapping table and vmap table.Vladimir Marko2014-04-161-16/+0
| | | | | | | | | | | | | | | | This is a companion CL for art/ change "Move mapping table and vmap table offsets to OatMethodHeader." https://android-review.googlesource.com/90699 Change-Id: Ibc46e2d6f0f8dce5f1ec6acbefea3c80f034cbd2
* | Fix Class.newInstance to not wrap its exceptions.Jeff Hao2014-04-231-4/+4
|/ | | | | | | | | Unlike Constructor.newInstance, Class.newInstance should not wrap exceptions it throws. Bug: https://code.google.com/p/android/issues/detail?id=68620 Change-Id: I3b89e8417d770b1908fea585062e62d5de292331
* Merge "Fix reflection access checks for app compatibility in libcore."Jeff Hao2014-04-011-0/+7
|\
| * Fix reflection access checks for app compatibility in libcore.Jeff Hao2014-04-011-0/+7
| | | | | | | | | | | | | | Libcore side of this change. Corresponding art change here: https://android-review.googlesource.com/#/c/89620/ Change-Id: I00610421438155fc60d6780b06581b874419ca2b
* | Rename read barrier-related fields.Hiroshi Yamauchi2014-03-311-3/+3
|/ | | | | Bug: 12687968 Change-Id: I9161cb06dda2e9113476f2f400cac70e01726c58
* Add access checks to Method and Field reflection.Jeff Hao2014-03-275-47/+135
| | | | | | | Libcore side of this change. Has a corresponding art change. Bug: 13620925 Change-Id: I68f726af5f2b5a79c9ffd6f2c76a0b3f2600ca9d
* ART sampling profilerDave Allison2014-03-071-1/+1
| | | | | | | | | | | | | | | Add isDexOptNeededInternal() to the DexFile class. This is like isDexOptNeeded() except takes additional arguments that are used to determine whether a profile has changed of not. The isDexOptNeeded() method is part of the exported API and cannot be changed. The new method is not part of the API. Also add additional argument to the registerAppInfo() methods (the package name). This is used to determine the profile filename. Bug: 12877748 Change-Id: If862cc5d20fae4b9d46c488f401cda6d433b4a57
* Add unpadded array allocations.Ian Rogers2014-02-281-0/+7
| | | | | | | | | | | | | | | Unpadded array allocations avoid unused bytes following arrays. API conventions follow those of newNonMovableArray. Dalvik implementation assume dlmalloc allocation properties, ART implementation is handled by resizing the array post-allocation: https://android-review.googlesource.com/83670 Add VMRuntimeTest to check the properties of the array allocation routines. Change java.lang.reflect.Array.newInstance to compare more probable array types before less probable ones. Bug: 13028925. Change-Id: Icf6bfb1aa5ad4faa062b393082c689b6118a84b5
* (Experimental) Add Brooks pointers (libcore).Hiroshi Yamauchi2014-02-251-0/+9
| | | | | | This feature is disabled by default. Change-Id: Ia8db311c1bc994737964121700a70b33920ddc4a
* Merge "Add documentation around zero-length timeouts"Neil Fuller2014-02-122-48/+56
|\
| * Add documentation around zero-length timeoutsNeil Fuller2014-02-122-48/+56
| | | | | | | | | | | | | | | | | | | | | | Add documentation to cover the fact that wait() and join() treat zero-length timeouts as "wait indefinitely". Improved documentation for when a thread is already interrupted when the various sleep/join/wait calls are made, and what happens to the interrupted state. Bug: 12931322 Change-Id: I4e8353cb556ff335df187fd5efa1f42c9b196cd6
* | Don't hardcode object layout in Unsafe.Hiroshi Yamauchi2014-02-111-19/+5
| | | | | | | | Change-Id: I0e2509a1a46c2aa937e4a45cabefb4998a8ed7f4
* | Fix Thread.sleep(0) of an interrupted threadBrian Carlstrom2014-02-101-0/+14
|/ | | | | Bug: 12929305 Change-Id: I3061c3345c68de8bcf438e6935446b4f7cd76001
* 64bit ART object model changes.Ian Rogers2014-02-063-34/+95
| | | | | | | The libcore portion of: https://android-review.googlesource.com/#/c/80375/ Change-Id: Ic974e92fbb98e184b9cb01ea82b0bfba03374f79
* Merge "ART: remove dex cache's initialized static storage."Ian Rogers2014-01-082-4/+0
|\
| * ART: remove dex cache's initialized static storage.Ian Rogers2014-01-072-4/+0
| | | | | | | | Change-Id: I01f099b26bbfa04cc211e31cd0444400d0a00395
* | Add registerAppInfo to the VMRuntime objectDave Allison2013-12-181-0/+5
|/ | | | | | | | | This adds the native function registerAppInfo() to the VMRuntime object. It is called by the ActivityThread in the framework to tell the runtime about application info. Bug: 11539952 Change-Id: I3958a40af5afd513f943093fb483885c2b6b119e
* Add method for updating dalvik process state through VMRuntime.Mathieu Chartier2013-11-251-0/+6
| | | | | | | | | Used to know when to do trimming and will be used for knowing when to do compaction. Bug: 8981901 Change-Id: I0f715f8c9dfc5f7399b54261fe08410449fef10e
* Replace usage of CopyOnWriteArraySet.Narayan Kamath2013-11-222-22/+40
| | | | | | | | | | | Use a List<Class<?>> as the cache key instead, but dedup and check for nulls in the list using a HashSet instead. This will improve performance for large lists of interfaces. bug: 10316383 Change-Id: Id0c36a731e6e3cb39bf36c083180c0c4da5c2dd4 (cherry picked from commit 6074af533f57a93e1b8e1ab63dce6a264a4d5dae)
* Fix the art version of getGenericSuperclass.Narayan Kamath2013-11-221-1/+6
| | | | | | | | art version of: https://android-review.googlesource.com/#/c/70325 bug: 10918616 Change-Id: Id4e221137410027757a5353476d78290f73d7ad8 (cherry picked from commit 34ab628b61321c17b5c1406656e7b352ab0a76a2)
* Fix Class.getEnclosingClass for anonymous classes declared in <clinit> methodsBrian Carlstrom2013-11-071-4/+5
| | | | | | | | | (cherry picked from commit b9be313bdc257089534f738ff8e1e5ad4de3d25e) Bug: 11245138 Related bug: https://code.google.com/p/android/issues/detail?id=61003 Change-Id: I5cc1db6ca6628b845409d7a6ea864da5f625fdc3
* Libcore support for Interface Method Tables (IMT).Jeff Hao2013-11-071-0/+3
| | | | | | (cherry picked from commit 500f98f9696baad7ba16bd5ad65e8caa475ebfe7) Change-Id: I0d611ba7b24f2a990a4a2958939b0f6d739d3c14
* Add VMRuntime.getTargetSdkVersion.Alex Klyubin2013-10-241-2/+18
| | | | | | | The goal is to enable libcore to adjust its behavior based on the target SDK version / API Level of the app. Change-Id: I60f1febc1f8ddf2a97925a48ddf232508d5c44f9
* Merge "Preload DexCaches"Brian Carlstrom2013-10-211-3/+5
|\
| * Preload DexCachesBrian Carlstrom2013-10-161-3/+5
| | | | | | | | | | Bug: 11045348 Change-Id: Idbd6ad284964035a3fcf1ec360a3490f32f99d42
* | Fix libart String.charAt documentation to match libdvm.Elliott Hughes2013-10-161-7/+2
|/ | | Change-Id: I901d818e96af0b9240808bb70ccbe8a17854d485
* Fix Class.getDeclaringClass bug for ARTBrian Carlstrom2013-10-121-0/+3
| | | | | Bug: https://code.google.com/p/android/issues/detail?id=61003 Change-Id: Ia2cc774a9239ecd64f8039b2ca9e27593126e2cf
* am 83c419d7: am c8cfc667: Preload DexCachesBrian Carlstrom2013-10-091-0/+4
|\ | | | | | | | | * commit '83c419d78e40c8bccc07ba3f118667b8bb958d30': Preload DexCaches
| * Preload DexCachesBrian Carlstrom2013-10-081-0/+4
| | | | | | | | | | Bug: 11045348 Change-Id: I3025d8f95e157af602b0ae91d974cb5e6678fb3d
* | am 94b1bae4: Merge commit \'a6e22fc9\' into manualmergeIan Rogers2013-09-234-55/+176
|\ \ | |/ | | | | | | * commit '94b1bae43287c5c8e2d31d05d4f68441acf667ab': Avoid computing class def indices.
| * Avoid computing class def indices.Ian Rogers2013-09-214-55/+176
| | | | | | | | | | | | | | | | | | | | | | Bug: 10244719 Also tidy AnnotationAccess. (cherry-picked from 8b2c0b9abc3f520495f4387ea040132ba85cae69) Change-Id: I6ec8fd4e36b428d7e16e01d98b7bebc143fac8c3 Conflicts: libdvm/src/main/java/java/lang/Class.java
* | am b80808d7: am 98430d0d: Fix getGenericInterfaces for the no annotation case.Ian Rogers2013-09-231-1/+1
|\ \ | |/ | | | | | | * commit 'b80808d79017cb1be406ffdc67fb26cc15c65eea': Fix getGenericInterfaces for the no annotation case.
| * Fix getGenericInterfaces for the no annotation case.Ian Rogers2013-09-211-1/+1
| | | | | | | | | | | | | | | | | | Bug: 10244719 (cherry-picked from 43111aab512b1a7c7c8095a7135a7ae2754ea5bd) Change-Id: I758d32e9cffcabf771e6f5f86ffa2666c8e1cb02 Conflicts: libdvm/src/main/java/java/lang/Class.java
* | am 3f1ad69e: Merge commit \'d4ec55c4\' into manualmergeIan Rogers2013-09-233-14/+27
|\ \ | |/ | | | | | | * commit '3f1ad69ef4655901cbf71c4c1fbae074bc320585': Lazier annotation signature parsing.
| * Lazier annotation signature parsing.Ian Rogers2013-09-213-14/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 10244719. Also, make wider use of empty arrays. Also, use named inner classes to aid profiling. Remove caching as the empty result will be fast. Porting the ART changes to DVM, to avoid the caching, results in bringing in a bunch of other ART clean-up. TODO, avoid modified-UTF8 to String conversions by Dex. Change-Id: I051b6e34b5a4e7a7f1383461a799755947a5ba36 Conflicts: libdvm/src/main/java/java/lang/Class.java
* | Fix Java 7 build.Ying Wang2013-09-201-1/+1
|/ | | | | | | See http://bugs.sun.com/view_bug.do?bug_id=6904536 Bug: 8992787 Change-Id: Ib84a28a3df4517be86cd3342e6f916a5d905be89
* Use the docs-approved Android x.y (Name) format consistently.Elliott Hughes2013-09-031-5/+5
| | | | | | | Also include the API level where the reason for mentioning the version is an API difference (as opposed to simply a behavioral difference). Change-Id: Idd69630fc5d6f6f0bd5d1c524cb32fd8c2fb750d
* Add libcore support for sample profiling from traceview gui.Jeff Hao2013-08-281-395/+0
| | | | | | | | | This change unifies the native method tracing interface between art and dalvik, and so the two files can merged again. (cherry picked from commit cd28c9550cbc77b5b856a13638f221f1cd9fc6ab) Change-Id: Id834945644615c4d8d8536140842d9036f38fbeb
* Fix arrayIndexScale.Ian Rogers2013-08-281-1/+1
| | | | | | | | Bug 10430382. (cherry picked from commit 9da79116014d4396d33a9a1ada891c49aed7c6a3) Change-Id: Ife41904b1580dae74ae17d49c799a1a81d4a18bc