summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2012-11-07Fix bug in static field initialization. mikaelpeltier
- Field::Set routines take the declaring class even for static field accesses. Change-Id: I842f47243b576b3d0793d5a47f329c8f9cab0d05
2012-11-06Merge "Parellel mark stack processing" into dalvik-dev Ian Rogers
2012-11-06Parellel mark stack processing Mathieu Chartier
Enabled parallel mark stack processing by using a thread pool. Optimized object scanning by removing dependent loads for IsClass. Performance: Prime: ~10% speedup of partial GC. Nakasi: ~50% speedup of partial GC. Change-Id: I43256a068efc47cb52d93108458ea18d4e02fccc
2012-11-05Add --no-watch-dog for use when debugging dex2oat Brian Carlstrom
Change-Id: I1cfbcc638aef2eb28431d9fc63c2f34b15cee67d
2012-11-05Broaden scope of gAborting. Fixes hang in HandleUnexpectedSignal. Brian Carlstrom
Change-Id: I4c29cd7b67f07bb9f99c308feac5a3d6c236bc2b
2012-11-02Add dex2oat watch dog thread for host builds Brian Carlstrom
Change-Id: I90b4b6b3a1aebb82955b4aa84d3f2d599af1d13b
2012-11-02Remove files not part of quick, portable or iceland builds. Ian Rogers
These files aren't built and are bit rotting. Removing to relieve maintenance burden. Change-Id: I6f86d22538370a7e7d31e6f4d6a6e62243c9fece
2012-11-02Force boot image strings into dex cache. Ian Rogers
For const-string in the boot image, force the string into the dex-cache so that slow paths aren't necessary. Increases boot.art from 7M to 9.8M but reduces boot.oat by ~3M. Code generated assuming no slow paths will be faster. Change-Id: I6c7be390adf7c09b5e6872d05f7d69ab6384c618
2012-11-01Interpret class initializers when building image. Ian Rogers
We initialize all image classes with the interpreter if they have a class/static initializer. Black list classes whose initializers need access to on device native code. If such classes are added to the image classes they will fail when they attempt to enter JNI code. A number of "intrinsic" style JNI routines are special cased to allow more than just trivial class initializers to run. Add a lock for initialization in the compiler to serialize the execution of class initializers and avoid deadlock. Remove InSourceSpace from image writer (cruft) and teach the image writer to fix up referent fields in references. Fix bugs in the interprerter and implement filled-new-array. Factor some VM code to more easily share between the interpreter and JNI entry points. Change-Id: I6bb811dea84f1b82260b1a4e73ac7412179c0b41
2012-11-01Fix Mips/x86 compilers buzbee
An incorrect conversion of an #ifdef to a runtime test broke division by literals for non-Arm targets. Change-Id: I0065606f668df8478fb33e55077fcc5b734cb3af
2012-11-01Merge "Remove all TARGET_[ARM|X86|MIPS] #ifdefs" into dalvik-dev buzbee
2012-11-01Remove all TARGET_[ARM|X86|MIPS] #ifdefs buzbee
Two steps forward, one step back towards elimination of the "#include" build model for target-specific compilers. This CL does some restructuring to eliminate all of the TARGET_xxx #ifdefs and convert them to run-time tests. Considerable work is still required to fully eliminate the multiple builds. In particular, much of the "common" codegen code relies on macros defined by the target-specific [Arm|X86|Mips]Lir.h include file. Next step is more restructuring to better isolate target-independent code generation code. Change-Id: If6efbde65c48031a48423344d8dc3e2ff2c4ad9d
2012-10-31Fix race condition in thread pool shutdown Mathieu Chartier
We were not holding the task queue lock when we did broadcast, causing a race where a thread waits on the CV after the broadcast. Fixes dex2oat deadlocking. Change-Id: I84f30020511c2bd43f71d9b7b392720bd8d03eab
2012-10-31Merge "Remove disable card marks, fix SetPatchLocation." into dalvik-dev Ian Rogers
2012-10-31Merge "Special for monkey debugging (#2)" into dalvik-dev buzbee
2012-10-31Remove disable card marks, fix SetPatchLocation. Mathieu Chartier
Should slightly improve performance. Added a no thread suspension allowed in patch oat code and methods. Added a new function to class linker, GetOatCodeFor which takes in a method reference instead of pointer. This fixes the issue where pruned methods were getting re-loaded during code and method patching. Change-Id: I676bb88cb021b6d2e0db00adbcf1f2f04f82b72a
2012-10-31More MIPS fixes. The vm-tests and oat tests all work on the emulator. jeffhao
- Changed the base address of the art image for MIPS to allow enough space for CTS to run on the target. - Fixed exception delivery to jump without linking, and to preserve the value of $gp. - Added dumping of /proc/self/maps whenever mmap fails, and cleaned up other debugging output (not MIPS related). Change-Id: I4e92e992ee6a6167e901db8ad90a6062bbc5168a
2012-10-31Special for monkey debugging (#2) buzbee
Restore some of the optimizations turned off by CL 245592 to see if there is any monkey run differences. This CL should be eventually reverted. Change-Id: I9990ba07c02ca5e0b4dfa4b1abfbecbe2cc1271c
2012-10-30Merge "Remove ClassLoader from OatWriter" into dalvik-dev Brian Carlstrom
2012-10-30Remove ClassLoader from OatWriter Brian Carlstrom
Change-Id: I75e6c8f7189d478304a5fd273440db126581a75f
2012-10-30Fix art usage of readdir_r(3). Elliott Hughes
Change-Id: Ieb8c90c8bd9b9b9cf075519992d4156b0ca6273b
2012-10-29Merge "Move Unsafe offset code to Java." into dalvik-dev Ian Rogers
2012-10-29Move Unsafe offset code to Java. Ian Rogers
Change-Id: I29c3cafaa7adceded6b1e934df63c80b5e0efa87
2012-10-29Fix for MIPS long subtraction when source and destination are same. jeffhao
MIPS emulator boots and works now, passing all vm-tests except one invoke-super test. Change-Id: I3bd27f9a582412900c08f5771d5dd76749d9de89
2012-10-29Merge "A few more MIPS fixes. Emulator boots up with black screen." into ↵ jeffhao
dalvik-dev
2012-10-27Fix test suspend. Shih-wei Liao
Change-Id: I8dcb6e5605074d03410c67412f0929286091e15d
2012-10-26Interpreter. Ian Rogers
The opcodes filled-new-array and packed-switch aren't implemented but are trivial given that they are variants of implemented opcodes. Refactor Field::Get routines to take the declaring class in the case of static field accesses. This avoids a check on every use of a field. Refactor arg array builder to be shared by JNI invokes and invocations into the interpreter. Fix benign bug in const decoding in the verifier. Change-Id: I8dee6c1f4b7f033e6c003422c56e9471cfaccda8
2012-10-26Merge "Add thread pool class" into dalvik-dev Ian Rogers
2012-10-26Add thread pool class Mathieu Chartier
Added a thread pool class loosely based on google3 code. Modified the compiler to have a single thread pool instead of creating new threads in ForAll. Moved barrier to be in top level directory as it is not GC specific code. Performance Timings: Reference: boot.oat: 14.306596s time mm oat-target: real 2m33.748s user 10m23.190s sys 5m54.140s Thread pool: boot.oat: 13.111049s time mm oat-target: real 2m29.372s user 10m3.130s sys 5m46.290s The speed increase is probably just noise. Change-Id: If3c1280cbaa4c7e4361127d064ac744ea12cdf49
2012-10-26Merge "Eliminate #ifdef ART_USE_QUICK_COMPILER" into dalvik-dev buzbee
2012-10-26Eliminate #ifdef ART_USE_QUICK_COMPILER buzbee
One of several steps towards having a single compiler build. In this CL, we introduce a compiler_backend command-line option to select between Quick, Quick w/ GBC, Portable and Iceland back ends. The Iceland option is temporary, and will go away once we combine with Portable. The Quick variants are with and without GBC conversion. In time, those will converge to a single option. All uses of "#if defined(ART_USE_QUICK_COMPILER)" are eliminated. All previous uses in the Quick compiler have been converted to runtime tests. On the llvm side, ART_USE_QUICK_COMPILER was previously used to differentiate between Portable and Iceland builds. Those usages have been replaced with ART_USE_PORTABLE_COMPILER, and in a following CL will also be converted to run-time tests. As of this CL, we're still generating separate libraries for Quick and Portable/Iceland. Next up is elminating the target-specific libraries for Quick-arm, Quick-x86 and Quick-mips. Once that is complete, we will consoldate Quick and Portable into a single build. To build either Iceland or Portable, touch USE_PORTABLE_COMPILER or USE_LLVM_COMPILER as usual. Otherwise, the build will default to Quick (non-GBC). Change-Id: Ic86c56f51710c9b06d4430b71a429ae12903cc47
2012-10-26Add Jack modifier. mikaelpeltier
Bug: 7419545 Change-Id: I58f40e11f3b3256ca7f7922f12b7bdeef724930f
2012-10-25A few more MIPS fixes. Emulator boots up with black screen. jeffhao
The emulator no longer reboots on startup, though the screen remains black. In this change: - Fixed compilation of kMipsDelta. - Fixed resolution trampoline to call with reg T9 so GP can be calculated properly. - Supress DescribeLocks on proxy methods to allow stack dumping (not MIPS specific). Change-Id: I66ef62002e3ffba5a253e94a5300d022f9345934
2012-10-24Special for monkey debugging buzbee
Turn off optimization for a problematic method to see if it changes monkey behavior. This CL should be reverted after the monkey run completes. Change-Id: Id0abc48ae15cf3bf8d0aaf999b2ba803adb788b5
2012-10-24Merge "Dump dex file sizes in oatdump." into dalvik-dev Ian Rogers
2012-10-24Dump dex file sizes in oatdump. Ian Rogers
Change-Id: I15d1ecfb9900a07b36209015e8b47718fdee19a7
2012-10-23Fix typo. TDYa127
Change-Id: I2c2389904b4d0ce9b30eccfa17b8bfed4077967c
2012-10-23Dump GC maps/verification for methods with bad roots. Ian Rogers
Change-Id: Iec32ea30420a6fac318f947108248bf4207f279c
2012-10-23Check point root marking. Mathieu Chartier
Added thread list checkpoint function, this goes through every thread and runs the checkpoint on each thread. Threads that are runnable run the checkpoint callback themselves in the next suspend check, while suspended threads are left suspended but have the callback called on them. Added a checkpoint visitor member to each thread, this visitor called when the checkpoint request flag is set during transitions to suspended from runnable. Using the checkpoint to mark the roots reduces the first pause of partial / full gc to around 1 ms. Change-Id: I97239cc72ee0e4a3397e9138a62ee559268dce0a
2012-10-23Merge "More MIPS fixes. Many run-test tests pass." into dalvik-dev jeffhao
2012-10-22More MIPS fixes. Many run-test tests pass. jeffhao
Run-test tests 001-043 work, including 003-omnibus-opcodes. 044 is proxy, which is still broken. Changes made: - Fixed argument marshalling of FP values for calls to helper functions in the compiler. - Fixed CheckCast compilation's mistaken use of rARG0 instead of rRET0. - Fixed conversion calls to marshall FP arguments properly. - Created named values for FP args, though they differ in MIPS only. - Fixed assembly to always use T9 to hold code pointer to jump to. - Fixed proxy offset values. Change-Id: If121db322683a307e5a1016210f4f73283aa817c
2012-10-22Dump failing thread if IsDaemon check fails. Ian Rogers
Change-Id: I93b5ba426c086343533e3ef022498e47d50503c8
2012-10-19Fix build. Elliott Hughes
Change-Id: Iabb67cec58dc20e16210ad770411adf5fbc0638d
2012-10-19Merge "Fix for Mac build." into dalvik-dev Elliott Hughes
2012-10-19Merge "Remove missing parameter from Object.internalClone." into dalvik-dev Ian Rogers
2012-10-19Fix for Mac build. Ian Rogers
Fake CLOCK_REALTIME. Change-Id: I82550dec0d67a4d434ff035f8a922c8c5d6e56ca
2012-10-19Remove missing parameter from Object.internalClone. Ian Rogers
Change-Id: I3e43e49042e21db839baae06e0504337f0cbe1fd
2012-10-19Fixed MIPS jni dlsym lookup stub to use T9 to call native code. jeffhao
Native code expects code pointer to be in T9 to generate GP reg. This fix makes ReferenceMap and StackWalk work. Change-Id: Ic20b434d623e5f3a14c1c3da52b801289956069c
2012-10-19don't inhibit randomization on non-arm platforms Nick Kralevich
Change-Id: I064ddaa5242de043d41940b8ac4d54ecdfacd6bb
2012-10-19Merge "Improve accuracy of heap trim times" into dalvik-dev Ian Rogers