1. 05 Nov, 2014 1 commit
    • Andreas Gampe's avatar
      ART: More warnings · 277ccbd2
      Andreas Gampe authored
      Enable -Wno-conversion-null, -Wredundant-decls and -Wshadow in general,
      and -Wunused-but-set-parameter for GCC builds.
      
      Change-Id: I81bbdd762213444673c65d85edae594a523836e5
      277ccbd2
  2. 23 Oct, 2014 1 commit
    • Ian Rogers's avatar
      C++11 related clean-up of DISALLOW_.. · cf7f1913
      Ian Rogers authored
      Move DISALLOW_COPY_AND_ASSIGN to delete functions. By no having declarations
      with no definitions this prompts better warning messages so deal with these
      by correcting the code.
      Add a DISALLOW_ALLOCATION and use for ValueObject and mirror::Object.
      Make X86 assembly operand types ValueObjects to fix compilation errors.
      Tidy the use of iostream and ostream.
      Avoid making cutils a dependency via mutex-inl.h for tests that link against
      libart. Push tracing dependencies into appropriate files and mutex.cc.
      x86 32-bit host symbols size is increased for libarttest, avoid copying this
      in run-test 115 by using symlinks and remove this test's higher than normal
      ulimit.
      Fix the RunningOnValgrind test in RosAllocSpace to not use GetHeap as it
      returns NULL when the heap is under construction by Runtime.
      
      Change-Id: Ia246f7ac0c11f73072b30d70566a196e9b78472b
      cf7f1913
  3. 09 Oct, 2014 1 commit
    • Ian Rogers's avatar
      Tidy ELF builder. · 0279ebb3
      Ian Rogers authored
      Don't do "if (ptr)". Use const. Use DISALLOW_COPY_AND_ASSIGN. Avoid public
      member variables.
      Move ValueObject to base and use in ELF builder.
      Tidy VectorOutputStream to not use non-const reference arguments.
      
      Change-Id: I2c727c3fc61769c3726de7cfb68b2d6eb4477e53
      0279ebb3
  4. 06 Mar, 2014 1 commit
    • Vladimir Marko's avatar
      Create a scoped arena allocator and use that for LVN. · 83cc7ae9
      Vladimir Marko authored
      This saves more than 0.5s of boot.oat compilation time
      on Nexus 5.
      
      TODO: Move other stuff to the scoped allocator. This CL
      alone increases the peak memory allocation. By reusing
      the memory for other parts of the compilation we should
      reduce this overhead.
      
      Change-Id: Ifbc00aab4f3afd0000da818dfe68b96713824a08
      83cc7ae9
  5. 19 Feb, 2014 1 commit
    • Nicolas Geoffray's avatar
      Re-apply: Initial check-in of an optimizing compiler. · 818f2107
      Nicolas Geoffray authored
      The classes and the names are very much inspired by V8/Dart.
      It currently only supports the RETURN_VOID dex instruction,
      and there is a pretty printer to check if the building of the
      graph is correct.
      
      Change-Id: I28e125dfee86ae6ec9b3fec6aa1859523b92a893
      818f2107
  6. 14 Jan, 2014 1 commit
    • Hiroshi Yamauchi's avatar
      Improve the generational mode. · 6f4ffe41
      Hiroshi Yamauchi authored
      - Turn the compile-time flags for generational mode into a command
        line flag.
      
      - In the generational mode, always collect the whole heap, as opposed
        to the bump pointer space only, if a collection is an explicit,
        native allocation-triggered or last attempt one.
      
      Change-Id: I7a14a707cc47e6e3aa4a3292db62533409f17563
      6f4ffe41
  7. 09 Dec, 2013 1 commit
  8. 25 Nov, 2013 1 commit
    • Mathieu Chartier's avatar
      Fix dumpsys meminfo <pid>. · 7410f29b
      Mathieu Chartier authored
      Added a case for BumpPointerSpaces. Confirmed working non-debug.
      Should also work in debug builds.
      
      Bug: 11830794
      Change-Id: I12053ff16eec403dcd4a780e13095e3212a77132
      7410f29b
  9. 23 Nov, 2013 1 commit
  10. 22 Oct, 2013 1 commit
    • Ian Rogers's avatar
      Throw IOException at source of failing to open a dex file. · 8d31bbd3
      Ian Rogers authored
      Before is:
      java.lang.ClassNotFoundException: Didn't find class "GCBench" on path: DexPathList[[zip file "/disk2/dalvik-dev/out/host/linux-x86/framework/GCBench.jar"],nativeLibraryDirectories=[/disk2/dalvik-dev/out/host/linux-x86/lib]]
              at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
              Suppressed: java.lang.ClassNotFoundException: GCBench
                      at java.lang.Class.classForName(Native Method)
                      at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
                      at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
                      ... 1 more
              Caused by: java.lang.NoClassDefFoundError: Class "LGCBench;" not found
                      ... 5 more
      And after is:
      java.lang.ClassNotFoundException: Didn't find class "GCBench" on path: DexPathList[[zip file "/disk2/dalvik-dev/out/host/linux-x86/framework/GCBench.jar"],nativeLibraryDirectories=[/disk2/dalvik-dev/out/host/linux-x86/lib]]
              at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
              at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
              Suppressed: java.io.IOException: Zip archive '/disk2/dalvik-dev/out/host/linux-x86/framework/GCBench.jar' doesn't contain classes.dex
                      at dalvik.system.DexFile.openDexFile(Native Method)
                      at dalvik.system.DexFile.<init>(DexFile.java:80)
                      at dalvik.system.DexFile.<init>(DexFile.java:59)
                      at dalvik.system.DexPathList.loadDexFile(DexPathList.java:268)
                      at dalvik.system.DexPathList.makeDexElements(DexPathList.java:235)
                      at dalvik.system.DexPathList.<init>(DexPathList.java:113)
                      at dalvik.system.BaseDexClassLoader.<init>(BaseDexClassLoader.java:48)
                      at dalvik.system.PathClassLoader.<init>(PathClassLoader.java:38)
                      at java.lang.ClassLoader.createSystemClassLoader(ClassLoader.java:128)
                      at java.lang.ClassLoader.access$000(ClassLoader.java:65)
                      at java.lang.ClassLoader$SystemClassLoader.<clinit>(ClassLoader.java:81)
                      at java.lang.ClassLoader.getSystemClassLoader(ClassLoader.java:137)
              Suppressed: java.lang.ClassNotFoundException: GCBench
                      at java.lang.Class.classForName(Native Method)
                      at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
                      at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
                      at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
                      ... 1 more
              Caused by: java.lang.NoClassDefFoundError: Class "LGCBench;" not found
                      ... 5 more
      
      Also, move dex file verifier messages out of logs.
      In the process the ClassLinker::dex_lock_ needed tidying to cover a smaller
      scope. Bug 11301553.
      
      Change-Id: I80058652e11e7ea63457cc01a0cb48afe1c15543
      8d31bbd3
  11. 16 Aug, 2013 1 commit
    • Mathieu Chartier's avatar
      Fix up TODO: c++0x, update cpplint. · 02e25119
      Mathieu Chartier authored
      Needed to update cpplint to handle const auto.
      
      Fixed a few cpplint errors that were being missed before.
      
      Replaced most of the TODO c++0x with ranged based loops. Loops which
      do not have a descriptive container name have a concrete type instead
      of auto.
      
      Change-Id: Id7cc0f27030f56057c544e94277300b3f298c9c5
      02e25119
  12. 26 Jul, 2013 1 commit
    • Mathieu Chartier's avatar
      Fix portable build. · 58b42b98
      Mathieu Chartier authored
      Move dlmalloc include inside of cc file.
      
      Change-Id: Ic36bdbf9fa964b93a23d1a45f603bab1bf9583d7
      58b42b98
  13. 25 Jul, 2013 1 commit
    • Mathieu Chartier's avatar
      GC data structures allocation tracking · 0a9dc05e
      Mathieu Chartier authored
      Adds a new stl compatible allocator that is used in most GC data
      structures. When the data structures allocate and free memory, it
      lets the heap know of how much memory was allocated or freed. Using
      this info, we dump the approximated stl data structures memory usage
      when a sigquit occurs.
      
      The allocation tracking can be disabled with a compile time boolean
      flag to remove performance impact.
      
      Change-Id: Idddb6713169e07be913bceeb50f305c8573e4392
      0a9dc05e
  14. 13 Jul, 2013 1 commit
    • Brian Carlstrom's avatar
      Create separate Android.mk for main build targets · 7940e44f
      Brian Carlstrom authored
      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
      7940e44f
  15. 22 Apr, 2012 1 commit
  16. 16 Apr, 2012 1 commit
    • Elliott Hughes's avatar
      Add signal handlers for host builds to imitate debuggerd. · 457005c5
      Elliott Hughes authored
      This isn't going to be as reliable as debuggerd because we're running inside
      the crashed process. We could always build debuggerd for the host, and have
      something to call out to that. But for now, this gives us most of the
      information most of the time...
      
      Change-Id: I992ffb3bdb2903e4b83bd5666108ebe12a813338
      457005c5
  17. 31 Jan, 2012 1 commit
  18. 14 Aug, 2011 1 commit
  19. 17 Jul, 2011 1 commit
    • Elliott Hughes's avatar
      Implement Runtime::Abort and switch LOG(FATAL) over to it. · ffe67363
      Elliott Hughes authored
      Runtime::Abort takes arguments so it can provide less misleading log output,
      but this shouldn't matter to callers because they should be using LOG(FATAL)
      anyway.
      
      This patch also fixes an errno/errno_ mixup in the logging code.
      
      Change-Id: If24b66b7bbf0bf7c0ecb93dd806d82b1d21ee239
      ffe67363