summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Reduced memory usage of primitive fields smaller than 4-bytesFred Shih2014-08-2551-511/+2281
| | | | | | | | | | Reduced memory used by byte and boolean fields from 4 bytes down to a single byte and shorts and chars down to two bytes. Fields are now arranged as Reference followed by decreasing component sizes, with fields shuffled forward as needed. Bug: 8135266 Change-Id: I65eaf31ed27e5bd5ba0c7d4606454b720b074752
* Merge "Support running without a boot image."Brian Carlstrom2014-08-2516-51/+306
|\
| * Support running without a boot image.Alex Light2014-08-2516-51/+306
| | | | | | | | | | | | Bug: 17000769 Change-Id: I6404d5050c8a2f4ee6e70d58532eb25ee9de248e
* | Merge "Fix GC memory overhead accounting."Mathieu Chartier2014-08-252-3/+9
|\ \
| * | Fix GC memory overhead accounting.Mathieu Chartier2014-08-252-3/+9
|/ / | | | | | | | | | | | | | | | | | | There was some missing null checks. Bug: 16238192 (cherry picked from commit 2e290fb35ba1959e5a0ac85e87591ab9623808c1) Change-Id: I4220272ac9c194e30fc307fca9918a4bb725e261
* | Merge "Clean up Handle usage."Mathieu Chartier2014-08-2516-199/+203
|\ \
| * | Clean up Handle usage.Mathieu Chartier2014-08-2316-199/+203
|/ / | | | | | | | | | | | | | | | | | | | | Prefer using ConstHandle instead of Handle as function arguments since you can't assign new references to ConstHandle which helps prevent bugs. Changed NullHandle to be a ConstHandle so that you can never modify it to be a non null reference. Change-Id: I81cb979f6f8d5b49e5614966a2caf28c3701dd4f
* | Merge "ART: Clean up compiler"Andreas Gampe2014-08-2347-1100/+1440
|\ \
| * | ART: Clean up compilerAndreas Gampe2014-08-2247-1100/+1440
| | | | | | | | | | | | | | | | | | | | | Clean up the compiler: less extern functions, dis-entangle compilers, hide some compiler specifics, lower global includes. Change-Id: Ibaf88d02505d86994d7845cf0075be5041cc8438
* | | Merge "Add fallback for non moving space being full."Mathieu Chartier2014-08-236-52/+124
|\ \ \ | |/ / |/| |
| * | Add fallback for non moving space being full.Mathieu Chartier2014-08-226-52/+124
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | When the non moving space becomes full, we disable moving GC and make the main space the new non moving space. Also added a runtime option for changing the non moving space size: -XX:NonMovingSpaceCapacity. Bug: 17189964 (cherry picked from commit 4c5a469683e433f126c9863cd393747d2e7c4a29) Change-Id: If82e3c6f8a0f389e37e14a0b1e6d5126d571fd7a
* | Merge "ART: Support MIRGraph constant interface"Ian Rogers2014-08-222-4/+29
|\ \
| * | ART: Support MIRGraph constant interfaceRazvan A Lupusoru2014-08-222-4/+29
| | | | | | | | | | | | | | | | | | | | | | | | -Adds a helper to be able to ask for a wide constant. -Allows MIRGraph to provide interface to set constants. Change-Id: Id282ee1604a0bd0bce6f495176d6bca35dcd5a00 Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
* | | Merge "Using the correct time for wait_start_ms when lock contention logging ↵Ian Rogers2014-08-221-1/+1
|\ \ \ | | | | | | | | | | | | is enabled"
| * | | Using the correct time for wait_start_ms when lock contention logging is enabledXin Guan2014-08-221-1/+1
|/ / / | | | | | | | | | | | | | | | Bug: 17208457 Change-Id: I35555e0acf3b37bb3776a62c64d59ae93403b237 (cherry picked from commit b894a19dfd668b6779de939cf5265b7e409d8809)
* | | Merge "ART: Reject field accesses to non-reference vregs."Andreas Gampe2014-08-221-0/+5
|\ \ \
| * | | ART: Reject field accesses to non-reference vregs.Stephen Kyle2014-08-221-0/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The verifier will now reject any iget/iput insts that do not have a reference object in vB. Bug: 17207857 Change-Id: I2826f0f7abfc88561f4da9486588592f4b296d14 Signed-off-by: Stuart Monteith <stuart.monteith@arm.com>
* | | | Merge "Handlerize MethodVerifier::mirror_method_."Hiroshi Yamauchi2014-08-225-39/+48
|\ \ \ \
| * | | | Handlerize MethodVerifier::mirror_method_.Hiroshi Yamauchi2014-08-225-39/+48
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The method (mirror_method_) wasn't handlerized across some allocation/GC points such as the ResolveType() call in ScanTryCatchBlocks() and the GetReturnType() calls in CodeFlowVerifyInstruction(). Bug: 12687968 Change-Id: I95323de14459eb5a7c4abfcf44f882f86d59be64
* | | | | Merge "Fix testing wrong variable for non zygote."Mathieu Chartier2014-08-222-5/+1
|\ \ \ \ \
| * | | | | Fix testing wrong variable for non zygote.Mathieu Chartier2014-08-222-5/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For non zygote we want to only have a single non moving space to let dex2oat use RosAlloc for all allocations. Fixed stale low memory logic in parsed options. Bug: 17189964 (cherry picked from commit a12c2a945fe3f10d3ed31aa5db3e422cc1ad7f98) Change-Id: I4fc00b277db6780ed410eab4cd969e8f004d5348
* | | | | | Merge "Always setup the native bridge library"Calin Juravle2014-08-224-10/+12
|\ \ \ \ \ \ | |_|/ / / / |/| | | | |
| * | | | | Always setup the native bridge libraryCalin Juravle2014-08-224-10/+12
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ... even if the string is empty. This will initialize the native bridge library but mark it as unavailable. - also, rename native_bridge_library_path to native_bridge_library_filename to be closer to the actual meaning (it's just the filename without any path). Bug: 16404669 (cherry picked from commit I94628639691459d48d1fbf0841f36b68d51818e7) Change-Id: I94628639691459d48d1fbf0841f36b68d51818e7
* | | | | Merge "GetDalvikDisassembly should work even without SSA info"Ian Rogers2014-08-221-37/+37
|\ \ \ \ \
| * | | | | GetDalvikDisassembly should work even without SSA infoSerguei Katkov2014-08-211-37/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is good if GetDalvikDisassembly can dump MIR even if SSA register info is not available. Without this patch it crashes. Change-Id: I704c28c891cd2580a7819f7fd972167c3bf67ddc Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
* | | | | | Merge "ART: Fix frontend to allow possibility of multiple code units"Ian Rogers2014-08-221-3/+3
|\ \ \ \ \ \ | |_|_|_|/ / |/| | | | |
| * | | | | ART: Fix frontend to allow possibility of multiple code unitsRazvan A Lupusoru2014-08-201-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This patch addresses a potential problem in frontend which refers to the CompilationUnit's code unit. However, a MIRGraph may have multiple code units and thus it makes sense to refer to the current one being handled. Change-Id: I69ca7b6056652109c969e7c583fc223e45315c96 Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
* | | | | | Merge "ARM64: Avoid the duplication of condition codes."Ian Rogers2014-08-222-36/+16
|\ \ \ \ \ \
| * | | | | | ARM64: Avoid the duplication of condition codes.Alexandre Rames2014-08-222-36/+16
| | |_|_|/ / | |/| | | |
* | | | | | Merge "AArch64: Improve MIR to LIR translation for abs"Ian Rogers2014-08-224-8/+27
|\ \ \ \ \ \ | |/ / / / / |/| | | | |
| * | | | | AArch64: Improve MIR to LIR translation for absMartyn Capewell2014-08-204-8/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Improve translation by using a shorter and more efficient sequence for integer abs, and replacing UBFM with AND for FP abs in integer registers. Change-Id: Ifc39cd7806ed637d5cfc3284c435b5d501047eb5 Signed-off-by: Alexandre Rames <alexandre.rames@arm.com>
* | | | | | Merge "ART: Add dex dependency for gtest"Andreas Gampe2014-08-221-1/+1
|\ \ \ \ \ \
| * | | | | | ART: Add dex dependency for gtestAndreas Gampe2014-08-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Change-Id: I22d5e9b69e40585c6ee57381ee758b4b32e07f96
* | | | | | | Merge "Fix signal test build"Dave Allison2014-08-221-2/+0
|\ \ \ \ \ \ \
| * | | | | | | Fix signal test buildDave Allison2014-08-211-2/+0
|/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 17188805 (cherry picked from commit b9d6a55eb4eb5872739ed26ac535f0c6342e813b) Change-Id: I0a271aa214eebe11a8442ebf68811e0d8f077d36
* | | | | | | Merge "Add supported architectures to signal test."Dave Allison2014-08-221-10/+32
|\ \ \ \ \ \ \
| * | | | | | | Add supported architectures to signal test.Dave Allison2014-08-211-10/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds ARM, AARCH64, i386 and x86_64 to the supported architectures in 004-SignalTest Bug: 16948053 (cherry picked from commit d4af31aa69fe8786a291c566c375bbac04da9ced) Change-Id: I17a992b2cf47f8744f867b8e3f1c360aa345093d
* | | | | | | | Merge "Fix fault handler to unregister on shutdown"Dave Allison2014-08-224-3/+16
|\ \ \ \ \ \ \ \
| * | | | | | | | Fix fault handler to unregister on shutdownDave Allison2014-08-214-3/+16
| |/ / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This fixes a problem with the fault handler where it wasn't unregistering itself during shutdown of the runtime. Bug: 17133266 (cherry picked from commit e8b9afcd0cd86b8808af29a97332038aab70c604) Change-Id: I1a4ec4292ec049046dda30769265680201729efb
* | | | | | | | Merge "Remove profiler log line"Dave Allison2014-08-221-1/+0
|\ \ \ \ \ \ \ \ | |_|/ / / / / / |/| | | | | | |
| * | | | | | | Remove profiler log lineDave Allison2014-08-211-1/+0
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This removes a LOG(INFO) saying that the profile is disabled. Bug: 17166556 (cherry picked from commit b9c3888380666a7b44718f04f787693787cd57c6) Change-Id: I9c9c470f554605a1183bcf84c5d864f9c4f24f72
* | | | | | | Merge "ART: Remove a BasicBlock's fall_through pointer in Hide()"Ian Rogers2014-08-211-0/+5
|\ \ \ \ \ \ \
| * | | | | | | ART: Remove a BasicBlock's fall_through pointer in Hide()Jean Christophe Beyler2014-08-201-0/+5
| | |_|_|/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the fall_through link that a BasicBlock has to its child when calling its Hide function. Useful for removing the visible link that is there when we dump the CFG. Change-Id: Ie82c48b195d1d62e2984d284dcc29ed7d7444db2 Signed-off-by: Jean Christophe Beyler <jean.christophe.beyler@intel.com>
* | | | | | | Merge "Avoid handle-less fields in ClassLinker::InitializeClass()"Hiroshi Yamauchi2014-08-214-16/+22
|\ \ \ \ \ \ \
| * | | | | | | Avoid handle-less fields in ClassLinker::InitializeClass()Hiroshi Yamauchi2014-08-214-16/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There were some handle-less fields in a SafeMap across GC points. Bug: 12687968 Change-Id: Ib8c6527d4e23031f1d0074fa11d8f85499b68340
* | | | | | | | Merge "ART: Implement kMirOpNullCheck"Ian Rogers2014-08-214-2/+32
|\ \ \ \ \ \ \ \
| * | | | | | | | ART: Implement kMirOpNullCheckRazvan A Lupusoru2014-08-204-2/+32
| | |/ / / / / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The semantics of kMirOpNullCheck is to check object for null and throw exception in that case. However, the implementation for it is empty. This has been changed and appropriate dataflow have been added to correctly reflect behavior. In order to allow testing of implementation, the SpecialMethodInliner has been updated to get rid of invoke and use this instead. This helps all optimizations which do not check the MIR_INLINED flag because when invoke is left in, they believe that invoke will still be done. Change-Id: I62e425e42bdbc6357246fb949db5f79de73cf358 Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
* | | | | | | | Merge "Make a couple of map checks debug only."Brian Carlstrom2014-08-212-14/+29
|\ \ \ \ \ \ \ \
| * | | | | | | | Make a couple of map checks debug only.Narayan Kamath2014-08-212-14/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This cost us close to 80ms in app startup times. The checks that a reused region was within an already existent map has been demoted to a debug check. A couple of other negative checks have been removed outright because one of them was superflous and the other wasn't guaranteed to be correct. bug: 16828525 (cherry picked from commit bddaea2b88b0a19d9cc7a4dea772af8e829323b3) Change-Id: Ia6f3e69692bb9cb5b4ff6f47946ea38a56d4cdb6
* | | | | | | | | Merge "Fix host 64-bit ISA string"Andreas Gampe2014-08-211-1/+1
|\ \ \ \ \ \ \ \ \ | |/ / / / / / / / |/| | | | | | | |