summaryrefslogtreecommitdiffstats
path: root/libart
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Share ClassLoader codeBrian Carlstrom2013-08-143-922/+0
| | | | | Bug: 9071417 Change-Id: Icdde3aace023d1d7509c932cdd71f203213b59d6
* Refactor ART java.lang.reflect implementationBrian Carlstrom2013-08-1310-365/+527
| | | | | | | | Bug: 10014286. (cherry picked from commit 1222a700a25956b0e3634731160017f0d3aa0585) Change-Id: Ic5672489f6c028d47e6c2a499d6a2bbdd5cc4e4c
* Increase breadcrumbs for class lookup failures.Ian Rogers2013-08-131-11/+25
| | | | | | | | | | | | | Dex files are loaded early and then queried against. This leads to IOExceptions for failed to load dex files being unavailable when a findClass is performed. Its useful to have the IOExceptions as then its possible to determine why a class wasn't found, for example, because the jar archive was empty. This change caches the IOExceptions that occur during the loading of dex files and then adds them to the suppressed exceptions reported when findClass fails. Change-Id: I31693400c503a113282f9d094ddfd84ebc3cf6dd (cherry picked from commit 04205541b4dda4c199a7fe72ab72eb0766a4207c)
* Remove updateProcessState.Mathieu Chartier2013-08-101-6/+0
| | | | Change-Id: Icbbc65dbc51bb46e64df27a5066b2ef08fe7b93f (cherry picked from commit 7798d7373c11f47a81f465577e4074480de82af6)
* Fix AIOOBE in Method.compareParameters.Ian Rogers2013-08-081-1/+1
| | | | | | | | Bug: 10032782 (cherry-picked from commit f700b73e492203ec773fb76d4525394ed3a1cc23) Change-Id: Id46690c1b3b08594cc8ad54f22f601b44d17841e
* Fix sign-extension of type indices.Ian Rogers2013-08-082-3/+3
| | | | | | | | | We pass type indices as ints but Dex represents them as shorts. Avoid sign extending the shorts which would cause problem for dex cache indices, etc. (cherry-picked from commit 1d02e61adf72a3cd59b796fc8d7ee1161ba66e7a) Change-Id: Id9b540863fee56ad3165f4cac2a23389ba78ca2e