2f62cfe690257d516233b399f68d322b1cf8e4f4 |
|
03-Dec-2014 |
Hans Boehm <hboehm@google.com> |
Make Barrier robust against spurious wakeups Fix Barrier implementation so that Wait cannot return prematurely due to a spurious condition variable wakeup or interrupted futex call. Document the resulting semantics of barrier.h, which are a bit surprising, but appear to be exactly what current clients need. Fix the test so that it actually passes with the fixed barrier.h, and no longer tests for properties that can't be correctly satisfied. Improve comment for InitTimeSpec, which we almost used. (Differs from AOSP patch in that Increment returns void here, as does cv TimedWait. In AOSP they return bool.) Bug:18509123 Change-Id: I0b25f33bcd22322ba04e3951cd484843788c2bf5 (cherry picked from commit 5567c11b9157eec110c0631aa2bff5836631e868)
|
5567c11b9157eec110c0631aa2bff5836631e868 |
|
03-Dec-2014 |
Hans Boehm <hboehm@google.com> |
Make Barrier robust against spurious wakeups Fix Barrier implementation so that Wait cannot return prematurely due to a spurious condition variable wakeup or interrupted futex call. Document the resulting semantics of barrier.h, which are a bit surprising, but appear to be exactly what current clients need. Fix the test so that it actually passes with the fixed barrier.h, and no longer tests for properties that can't be correctly satisfied. Improve comment for InitTimeSpec, which we almost used. Bug:18509123 Change-Id: I0b25f33bcd22322ba04e3951cd484843788c2bf5
|
e63db27db913f1a88e2095a1ee8239b2bb9124e8 |
|
16-Jul-2014 |
Ian Rogers <irogers@google.com> |
Break apart header files. Create libart-gtest for common runtime and compiler gtest routines. Rename CompilerCallbacksImpl that is quick compiler specific. Rename trace clock source constants to not use the overloaded profiler term. Change-Id: I4aac4bdc7e7850c68335f81e59a390133b54e933
|
3e5cf305db800b2989ad57b7cde8fb3cc9fa1b9e |
|
21-May-2014 |
Ian Rogers <irogers@google.com> |
Begin migration of art::Atomic to std::atomic. Change-Id: I4858d9cbed95e5ca560956b9dabd976cebe68333
|
700a402244a1a423da4f3ba8032459f4b65fa18f |
|
20-May-2014 |
Ian Rogers <irogers@google.com> |
Now we have a proper C++ library, use std::unique_ptr. Also remove the Android.libcxx.mk and other bits of stlport compatibility mechanics. Change-Id: Icdf7188ba3c79cdf5617672c1cfd0a68ae596a61
|
507dfdd147c97bfbadebfd63584d094b6a4e7b47 |
|
16-May-2014 |
Ian Rogers <irogers@google.com> |
Compatibility layer to transition from UniquePtr to std::unique_ptr. Use ART_WITH_STLPORT (enabled for the target) to cause the use of UniquePtr, for the host switch to std::unique_ptr. For now the type remains called UniquePtr. Make dalvik compile with clang on the host, move its build to C++11. Change-Id: I5ba8d2757904bc089ed62047ea03de3c0853fb12
|
a1ce1fef2d49d1d537776a5308ace7102a815fe5 |
|
25-Feb-2014 |
Brian Carlstrom <bdc@google.com> |
Split up CommonTest into CommonRuntimeTest and CommonCompilerTest Change-Id: I8dcf6b29a5aecd445f1a3ddb06386cf81dbc9c70
|
ef7d42fca18c16fbaf103822ad16f23246e2905d |
|
06-Jan-2014 |
Ian Rogers <irogers@google.com> |
Object model changes to support 64bit. 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
|
bcd5e9daecad39f0dab3246808b4835caec29ea6 |
|
13-Nov-2013 |
Mathieu Chartier <mathieuc@google.com> |
Manually manage thread pool stacks. We now allocate the thread pool worker stack using a MemMap. This enables us to name the maps so that we get more descriptive output for debugging leaks. Appears to fix the mips build 5/5 successful clean-oat and builds. This is probably since glibc caches up to 40 MB of thread stacks before releasing them. Change-Id: I1df2de50cb95838aa0d272a09807021404ba410c
|
0cd7ec2dcd8d7ba30bf3ca420b40dac52849876c |
|
18-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix cpplint whitespace/blank_line issues Change-Id: Ice937e95e23dd622c17054551d4ae4cebd0ef8a2
|
93ba893c20532990a430741e0a97212900094e8c |
|
18-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix cpplint runtime/explicit issues Change-Id: I352ba0b427f1ff9b22887693952b180eae0839ba
|
7940e44f4517de5e2634a7e07d58d0fb26160513 |
|
12-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Create separate Android.mk for main build targets 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
|