summaryrefslogtreecommitdiffstats
path: root/runtime/gc/space/valgrind_malloc_space-inl.h
Commit message (Collapse)AuthorAgeFilesLines
* Rosalloc thread local allocation path without a cas.Hiroshi Yamauchi2015-03-111-18/+48
| | | | | | | | | Speedup on N4: MemAllocTest 3044 -> 2396 (~21% reduction) BinaryTrees 4101 -> 2929 (~26% reduction) Bug: 9986565 Change-Id: Ia1d1a37b9e001f903c3c056e8ec68fc8c623a78b
* ART: Wrap AllocThreadUnsafe in Valgrind wrapperAndreas Gampe2014-11-211-0/+24
| | | | | | | This needs to be wrapped as it is being used during compaction. Bug: 18481268 Change-Id: I85ecccc7de8be8eb70a5cb0420817583be9b7999
* ART: Fix valgrindAndreas Gampe2014-11-061-46/+146
| | | | | | | | | | | | | | | | | | | | | | | | | Allow ValgrindMallocSpace wrapper for RosAlloc.Requires refactoring, as ValgrindMallocSpace was bound to the signature of DlMallocSpace. Also turn of native stack dumping when running under Valgrind to work around b/18119146. Ritzperf before and after Mean 3190.725 3082.475 Standard Error 11.68407 10.37911 Mode 3069 2980 Median 3182.5 3051.5 Variance 16382.117 12927.125 Standard Deviation 127.99264 113.69751 Kurtosis 1.1065632 0.3657799 Skewness 0.9013805 0.9117792 Range 644 528 Minimum 2991 2928 Maximum 3635 3456 Count 120 120 Bug: 18119146 Change-Id: I25558ea7cb578406011dede9d3d0bdbfee4ff4d5
* stdint types all the way!Ian Rogers2014-10-091-8/+8
| | | | Change-Id: I4e4ef3a2002fc59ebd9097087f150eaf3f2a7e08
* Clean-up heap spaces.Mathieu Chartier2014-04-111-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | We now use the CMS collector instead of the semispace collector when the phone is booting. We still perform compaction during the zygote space creation. This reduces time spent in GC by ~2s during boot and doesn't affect zygote space size. Changed the space creation logic to create the temp space when a background transition occurs. Added a flag to each space which is true if you are allowed to move objects that are within this space. Removed SwapSemiSpaces call from the semi space collector, it is now the job of the caller to do this with threads suspended. This simplifies the logic in the zygote compaction / heap transition code since these do not copy from one semispace to another. Added Space::Clear to RosAllocSpace and DlMallocSpace. This greatly simplifies the code used for collector transitions. Time spent in GC creating zygote space: Before: 3.4s, After: 1.28s No change in zygote space size. Bug: 13878055 Change-Id: I700348ab7d5bf3aa537c0cd70c0fed09aa4b0623
* Fix valgrind gtests and memory leaks.Mathieu Chartier2014-03-051-15/+6
| | | | | | | All tests pass other than image_test which passes if some bad reads are disabled (buzbee working on this). Change-Id: Ifd6b6e3aed0bc867703b6e818353a9f296609422
* Make allocations report usable size.Ian Rogers2014-02-261-0/+116
Work-in-progress to allow arrays to fill usable size. Bug: 13028925. Use C++11's override keyword on GCC >= 2.7 to ensure that we override GC and allocator methods. Move initial mirror::Class set up into a Functor so that all allocated objects have non-zero sizes. Use this property to assert that all objects are never larger than their usable size. Other bits of GC related clean-up, missing initialization, missing use of const, hot methods in .cc files, "unimplemented" functions that fail at runtime in header files, reducing header file includes, move valgrind's space into its own files, reduce number of array allocation routines. Change-Id: Id5760041a2d7f94dcaf17ec760f6095ec75dadaa