summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Create separate Android.mk for main build targetsBrian Carlstrom2013-07-12511-175462/+0
| | | | | | | | | | 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
* Revert "Always enable lock level checks." DO NOT MERGEBrian Carlstrom2013-07-121-1/+1
| | | | | | | | This reverts commit ccf124800fe025be3ca05c28a60514909ca66a11. (cherry picked from commit 27c590edf6c24107b6473e84e526c432bd081f6e) Change-Id: I2be879dcd126fc8d043641bdfbf2f9b80a678d10
* Merge "Fixes for portable build" into dalvik-devBrian Carlstrom2013-07-122-3/+3
|\
| * Fixes for portable buildBrian Carlstrom2013-07-122-3/+3
| | | | | | | | Change-Id: I29d6a9fb7f8ec134128329d974acf6b6534e25f1
* | Add HAVE_ANDROID_OS check around cutils/properties.h includeBrian Carlstrom2013-07-121-1/+4
|/ | | | Change-Id: Ibe3ffd4a829d3ec0e41f861b09da0990e603f2c2
* resolved conflicts for merge of 51c2467e to dalvik-devBrian Carlstrom2013-07-1244-320/+265
|\ | | | | | | Change-Id: Ia7a8785d3220df6feeb999bc70f6d1917cad8d75
| * libart-compiler cleanupBrian Carlstrom2013-07-1144-320/+265
| | | | | | | | | | | | | | | | | | | | | | | | - Move compile-time code to src/compiler and libart-compiler OatWriter, ImageWriter, ElfWriter, ElfFixup, ElfStripper, stub generation - Move ClassReference and MethodReference to remove MethodVerifier dependency on CompilerDriver - Move runtime_support_llvm.cc out of src/compiler and next to runtime_support.cc - Change dex2oat and gtests to directly depend on libart-compiler - Move non-common definitions from Android.common.mk to more specific makefiles - Add LOCAL_ADDITIONAL_DEPENDENCIES on appropriate makefiles Change-Id: I897027e69945914128f21f317a92caf9255bc600
| * Revert "Always enable lock level checks." DO NOT MERGEBrian Carlstrom2013-07-101-1/+1
| | | | | | | | This reverts commit ccf124800fe025be3ca05c28a60514909ca66a11.
* | Port 1778d17feda232e5f794ba1ebdf400a600a17fd8 to art.Elliott Hughes2013-07-111-13/+38
| | | | | | | | | | | | | | | | Increase the default alloc tracker maximum, and add a new system property "dalvik.vm.allocTrackerMax" that allows developers to choose an arbitrary limit. Change-Id: I8b3fcfb00ba87d1cf515d5835c101b5375b1d8a2
* | Merge "Adds missing dataflow flag for invoke-interface." into dalvik-devSebastien Hertz2013-07-112-4/+4
|\ \
| * | Adds missing dataflow flag for invoke-interface.Sebastien Hertz2013-07-112-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | Adds missing DF_NULL_CHK_OUT0 flag in dataflow attributes of invoke-interface and invoke-interface-range instructions. This is used by null check elimination pass. Change-Id: I41e6ff414b3d74a16d1e020fa8988a30b7431afa
* | | Fix DDMS allocation tracker.Mathieu Chartier2013-07-111-100/+100
|/ / | | | | | | | | | | | | | | | | | | | | The allocation tracker previously did a NewByteArray while holding the gAllocTrackerLock. This was problematic due to the fact that this new allocation would also try to acquire said lock. Fixed the issue by moving the newByteArray call outside of the lock. Bug: 9767557 Change-Id: I7e94e631d9c96aa642637de52f100b371f813294
* | Fix GetDirectBufferrAddress to use GetLongField.Jeff Hao2013-07-101-1/+1
| | | | | | | | | | | | The return type of this was recently changed from int to long. Change-Id: Ia9e5356b53fb3bf0f83190e42023ec56ad2bff54
* | Fix debug build assertion failing on boot.Jeff Hao2013-07-101-6/+1
| | | | | | | | Change-Id: Ica7b115340821fc729db674077ed2a488c02b7c3
* | am 4922e9d4: Use /system/framework/framework.jar:preloaded-classes for on ↵Brian Carlstrom2013-07-105-33/+90
|\| | | | | | | | | | | | | device dex2oat * commit '4922e9d4e5f86e40ca89fb097cec40e191dae0a1': Use /system/framework/framework.jar:preloaded-classes for on device dex2oat
| * Use /system/framework/framework.jar:preloaded-classes for on device dex2oatBrian Carlstrom2013-07-105-33/+90
| | | | | | | | Change-Id: I30ccbd5295a2979b9c89f00c93ad316d9b6475e9
* | am c6444052: Update class_initializer_black_list for masterBrian Carlstrom2013-07-101-0/+131
|\| | | | | | | | | * commit 'c64440528822281a7889aba9cebf96baa4235b87': Update class_initializer_black_list for master
| * Update class_initializer_black_list for masterBrian Carlstrom2013-07-101-0/+131
| | | | | | | | Change-Id: Id8c69cc349290ba7d255ea214f8d1b51d3ce062a
* | Merge "Fix -Xint mode." into dalvik-devJeff Hao2013-07-092-34/+31
|\ \
| * | Fix -Xint mode.Sebastien Hertz2013-07-092-34/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 9700950 Make ClassLinker::FixupStaticTrampolines updates entry point from compiled code with interpreter entry point when interpreter mode is enabled. Change-Id: Ie52ace8ea054ae7cb17442264dc62f68472409c6
* | | Adds ThrowAbstractMethodError to common throws.Sebastien Hertz2013-07-094-12/+17
|/ / | | | | | | Change-Id: Ib9b6b634a934b075a168534e50b2160a4e4dbc65
* | Interpret methods invoked via JNI in interpreter only mode.Jeff Hao2013-07-082-2/+25
| | | | | | | | | | | | | | | | | | This fixes the issue of Dhrystone having the same performance in interpreter only mode. Main was executing compiled code since it uses CallStaticVoidMethod directly. Now a check for interpreter only mode in InvokeWithArgArray redirects it to the interpreter. Change-Id: If6e6d8ede5cd0d8ad687d161667056373b1b031c
* | Merge "Fix GetQuickCodeFor to return actual code pointer if it exists." into ↵Jeff Hao2013-07-081-1/+2
|\ \ | | | | | | | | | dalvik-dev
| * | Fix GetQuickCodeFor to return actual code pointer if it exists.Jeff Hao2013-07-031-1/+2
| | | | | | | | | | | | | | | | | | | | | If the compiled entry point is the interpreter entry point, the code now tries to get oat code for it before returning. Change-Id: Iea1cec1ed003aadd71b432cc405fc81509bc644a
* | | Improve sticky GC ergonomicsMathieu Chartier2013-07-083-39/+39
|/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before we scheduled a partial GC after 10 sticky GC had been run to prevent excessive heap growth and fragmentation. The issue with this is that it was just a ballpark estimate which was not based on reality. The new behaviour has that we do sticky GC until we have less space remaining than minimum free after the GC. When this occurs, we set the next GC to be a partial GC. After a partial / full GC we grow the heap and set the next GC to be a sticky GC. This prevents the heap from always growing more than the target utilization, while ensuring that we do sticky GC often. dumpsys meminfo: ~450Mb -> 420Mb. Slight slowdown in GCBench. Change-Id: Ifd865123f7d4ae39914fda44c9225a6731d27890
* | Merge "Preparing SSA support for SEA IR: reaching definitions." into dalvik-devAnwar Ghuloum2013-07-038-101/+1249
|\ \
| * | Preparing SSA support for SEA IR: reaching definitions.Dragos Sbirlea2013-07-038-101/+1249
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Added the following: - Downward-exposed uses. - Reaching definitions. - Better .dot generation. Per file: sea_ir/sea.*: Downward exposed definitions and reaching definitions code. dex_instruction.*: Wrapper function added to expose the vA register, which is later used by dataflow analysis. sea_ir/instruction_tools.*: These tools provide info needed by dataflow analysis that is dependent on dex format. dex/frontend.cc: Formatting issues fixed. sea_ir/*.*: All files pass cpplint validation. *.mk: Support for new files added in this CL. Change-Id: Ic510e7fb55aebcde99a121304ee7e841a3307358
* | | Merge "Add marks for instrumentation frames that get interpreted." into ↵Jeff Hao2013-07-036-21/+25
|\ \ \ | |/ / |/| | | | | dalvik-dev
| * | Add marks for instrumentation frames that get interpreted.Jeff Hao2013-07-026-21/+25
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | During instrumentation, if a method goes to the interpreter, a special callee- save ref and args method frame is pushed onto the stack, instead of a frame for the method being called. This change adds a bool to mark methods that end up interpreted, so things that walk the stack know to look for the callee-save method instead. Also included is a change to UnsafeLogFatalForThreadSuspendAllTimeout to prevent it from grabbing locks before dumping. This was breaking DumpLocked, which eventually gets a ScopedObjectAccessUnchecked requiring those locks not be held. Change-Id: I7e68cf195c77f40df6f497551c94b0926d3c5065
* | Merge "Constructor barrier support in DEX-to-DEX compiler." into dalvik-devSebastien Hertz2013-07-034-5/+63
|\ \
| * | Constructor barrier support in DEX-to-DEX compiler.Sebastien Hertz2013-07-014-5/+63
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 9307738 Some constructors require a barrier before returning. This CL introduces the RETURN-VOID-BARRIER instruction. The DEX-to-DEX compiler replaces all RETURN-VOID instructions where a barrier is required by this instruction. The interpreter and the verifier are updated to support this new instruction. Change-Id: If31979b4027bc12157b933eda9fcbd5270edd202
* | | Merge "Fix DDMS lock ordering error." into dalvik-devMathieu Chartier2013-07-032-3/+3
|\ \ \
| * | | Fix DDMS lock ordering error.Mathieu Chartier2013-07-022-3/+3
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | Renamed kJdwpSerialLock to guard both the jdwp socket and serial. Moved the lock priority higher than the alloc space lock priority. This is needed since walking the dlmalloc heap requires acquiring the alloc space lock. Change-Id: Idce47ea8c400643829edc5aaebb57f8b686b2853
* / | Disable -Xjnigreflimit: in art too.Elliott Hughes2013-07-024-15/+4
|/ / | | | | | | | | Bug: 7903975 Change-Id: I1ec552b35331227ecd7dc3d0a2f0507b1c24e375
* | Add StandardCharsets to the class_initializer_black_listBrian Carlstrom2013-07-011-0/+1
| | | | | | | | Change-Id: Id13a58fc6da8a2c39f47bcee14a743c88fc899b7
* | Merge "add dalvik.system.VMRuntime.vmLibrary implementation for ART" into ↵Anwar Ghuloum2013-07-011-0/+5
|\ \ | | | | | | | | | dalvik-dev
| * | add dalvik.system.VMRuntime.vmLibrary implementation for ARTBrian Carlstrom2013-06-301-0/+5
| | | | | | | | | | | | Change-Id: Ibc1a5abb5a0ee49cb20e55dc2e169a224fcf9d8b
* | | Merge "Cleanup quick support in verifier." into dalvik-devSebastien Hertz2013-07-012-98/+108
|\ \ \ | |_|/ |/| |
| * | Cleanup quick support in verifier.Sebastien Hertz2013-06-262-98/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Bug: 9568063 This CL cleans up the way we are requesting for field/method being accessed/invoked by a -quick instruction. Now we let the verifier run completely and once it is done, we access the register line of the instruction's dex PC and calculate the reference to the field/method. This is pretty the same way the verifier checks the instruction but here we get the final register line. Change-Id: I06f02b0ddeb1bbdd71de610cc0656057624f6e3b
* | | Improve SPARSE_SWITCH handling in interpreter.Sebastien Hertz2013-07-011-25/+30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This CL avoids to set "next" instruction twice. We used to first set "next" instruction to the instruction following the SPARSE_SWITCH. Then, we set it to the instruction corresponding to the entry we find in the table. We now set it only once: either we branch or we continue. Change-Id: Ic93cd0abae00edb1fb952c34bc9031fffc7f4a35
* | | Merge "Avoid duplicated code for FILLED_NEW_ARRAY." into dalvik-devSebastien Hertz2013-07-011-84/+86
|\ \ \
| * | | Avoid duplicated code for FILLED_NEW_ARRAY.Sebastien Hertz2013-07-011-84/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Creates DoFilledNewArray to handle FILLED_NEW_ARRAY and FILLED_NEW_ARRAY_RANGE instructions. This function is always inlined so we keep the same level of performance. Change-Id: I9ec130c400b9898713a32ffe780c89aff1712aab
* | | | Merge "Minor interpreter cleanup." into dalvik-devSebastien Hertz2013-07-011-31/+34
|\ \ \ \
| * | | | Minor interpreter cleanup.Sebastien Hertz2013-06-281-31/+34
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Removes useless cast - Improves calculation of FILL_ARRAY_DATA's payload pointer. - Make some "cast" instructions handling code consistent with some "cmp" instructions. Change-Id: Ib7af78b4bab146f2b48ba5ac8e4723002c8c1f60
* | | | Merge "Make Array's throw routines void." into dalvik-devSebastien Hertz2013-07-012-7/+6
|\ \ \ \ | |_|_|/ |/| | |
| * | | Make Array's throw routines void.Sebastien Hertz2013-06-272-7/+6
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | The "bool" return type of Array::ThrowArrayIndexOutOfBoundsException and Array::ThrowArrayStoreException is useless. Make them void. Note on ARM, this removes a "cmp" instruction in AGET/APUT instructions. Change-Id: I843e895aa4622ca56aaa3f2eb2d5b5100a92c1ae
* | | Merge "Adding systrace logging to GC" into dalvik-devMathieu Chartier2013-06-274-4/+40
|\ \ \ | |/ / |/| |
| * | Adding systrace logging to GCMathieu Chartier2013-06-274-4/+40
| |/ | | | | | | | | | | | | Added systrace logging to GC, thread checkpoints, GC pause, and time spent waiting for concurrent GC to complete. Change-Id: I33f0cf260526ccfd07bfaf038dfbf0a712eab24d
* | Merge "Remove unused Thread parameter from ↵Sebastien Hertz2013-06-275-28/+32
|\ \ | | | | | | | | | ThrowArithmeticExceptionDivideByZero." into dalvik-dev
| * | Remove unused Thread parameter from ThrowArithmeticExceptionDivideByZero.Sebastien Hertz2013-06-265-28/+32
| |/ | | | | | | | | | | | | The "Thread* self" parameter of ThrowArithmeticExceptionDivideByZero is unused. This CL removes it and updates all call sites. Change-Id: I5cff86e97dd82dd07f4c174a3d8fbcf980da4aea