summaryrefslogtreecommitdiffstats
path: root/compiler/llvm/gbc_expander.cc
Commit message (Collapse)AuthorAgeFilesLines
* Remove portable.Elliott Hughes2014-12-121-3796/+0
| | | | Change-Id: I3bf3250fa866fd2265f1b115d52fa5dedc48a7fc
* Replace memory barriers to better reflect Java needs.Hans Boehm2014-07-111-7/+7
| | | | | | | | | | | | | | | | Replaces barriers that enforce ordering of one access type (e.g. Load) with respect to another (e.g. store) with more general ones that better reflect both Java requirements and actual hardware barrier/fence instructions. The old code was inconsistent and unclear about which barriers implied which others. Sometimes multiple barriers were generated and then eliminated; sometimes it was assumed that certain barriers implied others. The new barriers closely parallel those in C++11, though, for now, we use something closer to the old naming. Bug: 14685856 Change-Id: Ie1c80afe3470057fc6f2b693a9831dfe83add831
* Make class status volatile.Ian Rogers2014-06-021-0/+4
| | | | | | | Discourage loads and stores from reordering around the status being updated. Bug: 15347354 Change-Id: Ice805cb834617747c8209e98a142d3e5c7585719
* Now we have a proper C++ library, use std::unique_ptr.Ian Rogers2014-05-191-2/+2
| | | | | | | Also remove the Android.libcxx.mk and other bits of stlport compatibility mechanics. Change-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61
* Cache field lowering info in mir_graph.Vladimir Marko2014-03-031-16/+17
| | | | Change-Id: I9f9d76e3ae6c31e88bdf3f59820d31a625da020f
* Object model changes to support 64bit.Ian Rogers2014-02-061-2/+2
| | | | | | | | | | | | | | | | | | | | | | | Modify mirror objects so that references between them use an ObjectReference value type rather than an Object* so that functionality to compress larger references can be captured in the ObjectRefererence implementation. ObjectReferences are 32bit and all other aspects of object layout remain as they are currently. Expand fields in objects holding pointers so they can hold 64bit pointers. Its expected the size of these will come down by improving where we hold compiler meta-data. Stub out x86_64 architecture specific runtime implementation. Modify OutputStream so that reads and writes are of unsigned quantities. Make the use of portable or quick code more explicit. Templatize AtomicInteger to support more than just int32_t as a type. Add missing, and fix issues relating to, missing annotalysis information on the mutator lock. Refactor and share implementations for array copy between System and uses elsewhere in the runtime. Fix numerous 64bit build issues. Change-Id: I1a5694c251a42c9eff71084dfdd4b51fff716822
* Remove intialized static storage from dex cache.Ian Rogers2014-01-081-39/+22
| | | | | | | | | The initialized static storage array is used by compiled code to determine if for a sget/sput class initialization is necessary. The compiled code typically doesn't require this test as the class is pre-initialized or the class being accessed is the same as the current method. Change-Id: Icbc45e692b3d0ac61e559e69edb6c9b29439e571
* Refactor CompilerDriver::Compute..FieldInfoIan Rogers2013-09-061-6/+6
| | | | | | | Don't use non-const reference arguments. Move ins before outs. Change-Id: I7b251156388d8f07513b3da62ebfd29e5fd9ff76
* Refactor CompilerDriver::ComputeInvokeInfoIan Rogers2013-09-061-4/+4
| | | | | | | Don't use non-const reference arguments. Move ins before outs. Change-Id: I4a7b8099abe91ea60f93a56077f4989303fa4876
* Disable devirtualization detection in DEX-to-DEX compiler.Sebastien Hertz2013-09-061-1/+1
| | | | | | | | | This CL allows the DEX-to-DEX compiler to disable devirtualization detection. This allows to quicken invoke-virtual/range instructions that used to be eligible for devirtualization. Bug: 10632943 Change-Id: I6c9f4d3249cf42b47f004be5825b3186fa83501e
* Refactor java.lang.reflect implementationBrian Carlstrom2013-08-131-10/+10
| | | | | | | | | | | Cherry-picked from commit ed41d5c44299ec5d44b8514f6e17f802f48094d1. Move to ArtMethod/Field instead of AbstractMethod/Field and have java.lang.reflect APIs delegate to ArtMethod/ArtField. Bug: 10014286. Change-Id: Iafc1d8c5b62562c9af8fb9fd8c5e1d61270536e7
* Fix cpplint whitespace/comments issuesBrian Carlstrom2013-07-261-23/+23
| | | | Change-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496
* Fixing cpplint readability/check issuesBrian Carlstrom2013-07-181-3/+3
| | | | Change-Id: Ia81db7238b4a13ff2e585aaac9d5e3e91df1e3e0
* Fix cpplint readability/fn_size issuesBrian Carlstrom2013-07-181-1/+1
| | | | Change-Id: I1efdb07a948a2af49db1a9d21ccab16dacc03a54
* Fix cpplint build/namespaces issuesBrian Carlstrom2013-07-181-90/+150
| | | | Change-Id: I19c68703270c1482d6c6aad8cdf97d3d2924360a
* Fix cpplint whitespace/blank_line issuesBrian Carlstrom2013-07-181-5/+0
| | | | Change-Id: Ice937e95e23dd622c17054551d4ae4cebd0ef8a2
* Create separate Android.mk for main build targetsBrian Carlstrom2013-07-121-0/+3753
The runtime, compiler, dex2oat, and oatdump now are in seperate trees to prevent dependency creep. They can now be individually built without rebuilding the rest of the art projects. dalvikvm and jdwpspy were already this way. Builds in the art directory should behave as before, building everything including tests. Change-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81