summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2013-07-12Create separate Android.mk for main build targets Brian Carlstrom
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
2013-07-12Revert "Always enable lock level checks." DO NOT MERGE Brian Carlstrom
This reverts commit ccf124800fe025be3ca05c28a60514909ca66a11. (cherry picked from commit 27c590edf6c24107b6473e84e526c432bd081f6e) Change-Id: I2be879dcd126fc8d043641bdfbf2f9b80a678d10
2013-07-12Merge "Fixes for portable build" into dalvik-dev Brian Carlstrom
2013-07-12Fixes for portable build Brian Carlstrom
Change-Id: I29d6a9fb7f8ec134128329d974acf6b6534e25f1
2013-07-12Add HAVE_ANDROID_OS check around cutils/properties.h include Brian Carlstrom
Change-Id: Ibe3ffd4a829d3ec0e41f861b09da0990e603f2c2
2013-07-12resolved conflicts for merge of 51c2467e to dalvik-dev Brian Carlstrom
Change-Id: Ia7a8785d3220df6feeb999bc70f6d1917cad8d75
2013-07-11libart-compiler cleanup Brian Carlstrom
- 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
2013-07-11Port 1778d17feda232e5f794ba1ebdf400a600a17fd8 to art. Elliott Hughes
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
2013-07-11Merge "Adds missing dataflow flag for invoke-interface." into dalvik-dev Sebastien Hertz
2013-07-11Fix DDMS allocation tracker. Mathieu Chartier
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
2013-07-11Adds missing dataflow flag for invoke-interface. Sebastien Hertz
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
2013-07-10Fix GetDirectBufferrAddress to use GetLongField. Jeff Hao
The return type of this was recently changed from int to long. Change-Id: Ia9e5356b53fb3bf0f83190e42023ec56ad2bff54
2013-07-10Fix debug build assertion failing on boot. Jeff Hao
Change-Id: Ica7b115340821fc729db674077ed2a488c02b7c3
2013-07-10Revert "Always enable lock level checks." DO NOT MERGE Brian Carlstrom
This reverts commit ccf124800fe025be3ca05c28a60514909ca66a11.
2013-07-10am 4922e9d4: Use /system/framework/framework.jar:preloaded-classes for on ↵ Brian Carlstrom
device dex2oat * commit '4922e9d4e5f86e40ca89fb097cec40e191dae0a1': Use /system/framework/framework.jar:preloaded-classes for on device dex2oat
2013-07-10am c6444052: Update class_initializer_black_list for master Brian Carlstrom
* commit 'c64440528822281a7889aba9cebf96baa4235b87': Update class_initializer_black_list for master
2013-07-10Use /system/framework/framework.jar:preloaded-classes for on device dex2oat Brian Carlstrom
Change-Id: I30ccbd5295a2979b9c89f00c93ad316d9b6475e9
2013-07-10Update class_initializer_black_list for master Brian Carlstrom
Change-Id: Id8c69cc349290ba7d255ea214f8d1b51d3ce062a
2013-07-09Merge "Fix -Xint mode." into dalvik-dev Jeff Hao
2013-07-09Adds ThrowAbstractMethodError to common throws. Sebastien Hertz
Change-Id: Ib9b6b634a934b075a168534e50b2160a4e4dbc65
2013-07-09Fix -Xint mode. Sebastien Hertz
Bug: 9700950 Make ClassLinker::FixupStaticTrampolines updates entry point from compiled code with interpreter entry point when interpreter mode is enabled. Change-Id: Ie52ace8ea054ae7cb17442264dc62f68472409c6
2013-07-08Interpret methods invoked via JNI in interpreter only mode. Jeff Hao
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
2013-07-08Merge "Fix GetQuickCodeFor to return actual code pointer if it exists." into ↵ Jeff Hao
dalvik-dev
2013-07-08Improve sticky GC ergonomics Mathieu Chartier
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
2013-07-03Fix GetQuickCodeFor to return actual code pointer if it exists. Jeff Hao
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
2013-07-03Merge "Preparing SSA support for SEA IR: reaching definitions." into dalvik-dev Anwar Ghuloum
2013-07-03Preparing SSA support for SEA IR: reaching definitions. Dragos Sbirlea
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
2013-07-03Merge "Add marks for instrumentation frames that get interpreted." into ↵ Jeff Hao
dalvik-dev
2013-07-03Merge "Constructor barrier support in DEX-to-DEX compiler." into dalvik-dev Sebastien Hertz
2013-07-03Merge "Fix DDMS lock ordering error." into dalvik-dev Mathieu Chartier
2013-07-02Fix DDMS lock ordering error. Mathieu Chartier
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
2013-07-02Disable -Xjnigreflimit: in art too. Elliott Hughes
Bug: 7903975 Change-Id: I1ec552b35331227ecd7dc3d0a2f0507b1c24e375
2013-07-02Add marks for instrumentation frames that get interpreted. Jeff Hao
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
2013-07-01Add StandardCharsets to the class_initializer_black_list Brian Carlstrom
Change-Id: Id13a58fc6da8a2c39f47bcee14a743c88fc899b7
2013-07-01Merge "add dalvik.system.VMRuntime.vmLibrary implementation for ART" into ↵ Anwar Ghuloum
dalvik-dev
2013-07-01Merge "Cleanup quick support in verifier." into dalvik-dev Sebastien Hertz
2013-07-01Constructor barrier support in DEX-to-DEX compiler. Sebastien Hertz
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
2013-07-01Improve SPARSE_SWITCH handling in interpreter. Sebastien Hertz
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
2013-07-01Merge "Avoid duplicated code for FILLED_NEW_ARRAY." into dalvik-dev Sebastien Hertz
2013-07-01Avoid duplicated code for FILLED_NEW_ARRAY. Sebastien Hertz
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
2013-07-01Merge "Minor interpreter cleanup." into dalvik-dev Sebastien Hertz
2013-07-01Merge "Make Array's throw routines void." into dalvik-dev Sebastien Hertz
2013-06-30add dalvik.system.VMRuntime.vmLibrary implementation for ART Brian Carlstrom
Change-Id: Ibc1a5abb5a0ee49cb20e55dc2e169a224fcf9d8b
2013-06-28Minor interpreter cleanup. Sebastien Hertz
- 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
2013-06-27Merge "Adding systrace logging to GC" into dalvik-dev Mathieu Chartier
2013-06-27Adding systrace logging to GC Mathieu Chartier
Added systrace logging to GC, thread checkpoints, GC pause, and time spent waiting for concurrent GC to complete. Change-Id: I33f0cf260526ccfd07bfaf038dfbf0a712eab24d
2013-06-27Make Array's throw routines void. Sebastien Hertz
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
2013-06-27Merge "Remove unused Thread parameter from ↵ Sebastien Hertz
ThrowArithmeticExceptionDivideByZero." into dalvik-dev
2013-06-27Merge changes I3b33358e,I7467ee05 into dalvik-dev Anwar Ghuloum
* changes: Added wrapper functions for register acccess in Instruction. Added support for SEA IR.
2013-06-27am 75fe90cd: Improve exception detail with JNI_OnLoad issues Brian Carlstrom
* commit '75fe90cdb6e358a09047468b750648c8a3bfac9f': Improve exception detail with JNI_OnLoad issues