1. 29 Oct, 2015 2 commits
  2. 16 Oct, 2015 2 commits
    • Calin Juravle's avatar
      Fix in reference type propagation · 54d8f4bc
      Calin Juravle authored
      We miss updating the type of objects if their nullability gets updated
      first.
      
      Bug: 25008765
      (cherry picked from commit 83853392e26b2aa48328bb90c9f9c57b32c280dc)
      
      Change-Id: I81aa759d96008251d74f941494abe74aa4b52bdc
      54d8f4bc
    • Mathieu Chartier's avatar
      Parse runtime compiler options for JIT · ddb2a98f
      Mathieu Chartier authored
      For the case where the CppDefines do not match the device the JIT is
      running on.
      
      Sample logcat output to prove it works:
      JIT instruction set variant krait
      JIT instruction set features default
      
      Bug: 24982714
      
      (cherry picked from commit 085fc87e)
      
      Change-Id: I1f4991a5d7cdc6101d1b0ecbcb39fb26dd20180a
      ddb2a98f
  3. 13 Oct, 2015 1 commit
  4. 09 Oct, 2015 1 commit
    • Andreas Gampe's avatar
      ART: Decrease dex2oat watchdog timeout · 2602aa86
      Andreas Gampe authored
      Keep the dex2oat watchdog timeout lower than the package manager
      timeout, so that dex2oat kills itself before the system server
      watchdog kills the system because of the long installation.
      
      Bug: 23629410
      
      (cherry picked from commit 540138ae)
      
      Change-Id: I425b19ab305cfaa43f6bddc3a892be892acaf513
      2602aa86
  5. 08 Oct, 2015 3 commits
  6. 02 Oct, 2015 1 commit
    • Andreas Gampe's avatar
      ART: Do not abort on exception in CreatePeer · 2a196784
      Andreas Gampe authored
      Different parts of CreatePeer may throw an exception, especially
      the Thread constructor. Do not abort in such a case, but return
      and report a failure to attach/create a thread.
      
      Bug: 24200698
      Change-Id: I06f2c997f0451c71f791d1f12bea6f8ee65e8ab2
      2a196784
  7. 29 Sep, 2015 1 commit
  8. 28 Sep, 2015 1 commit
    • Andreas Gampe's avatar
      ART: Clean up less in dex2oat · cc077607
      Andreas Gampe authored
      In non-debug builds, clean up even less. We already did not shut
      down the runtime. Also skipping the compiler driver and the
      verification results removes all major points of destructor
      performance.
      
      Tested with a common large app on Nexus 9. Time between dex2oat timing
      message and executable exit (log from immediately-after log echo)
      [w/o swap, w/ swap].
      Before:  2.409s / 48.774s
      After:   0.132s /  0.188s
      
      Bug: 24199200
      Change-Id: I5d8c17f8e28796545cfbb3887c07c92905f9b48d
      (cherry picked from commit 3f30e121)
      cc077607
  9. 29 Aug, 2015 1 commit
    • Andreas Gampe's avatar
      ART: Weaken size check in hprof · e4cf5892
      Andreas Gampe authored
      Dumping the heap is a two-phase process. In the first phase, all
      objects are visited to fill the header tables. In the second phase,
      the tables are written out and the heap is visited again to write
      the object records.
      
      Deleting global references doesn't require the mutator lock. So it
      is possible to delete a global ref in-between the first and the
      second phase. This leads to a smaller set of object records. The
      result is still safe, as the object's class etc. is still in the
      header tables, and the object won't be deleted, so will still be
      dumped by itself.
      
      Bug: 23521263
      Change-Id: I019c29b13ceb9f13e362c742662f1546d52c37a0
      e4cf5892
  10. 14 Aug, 2015 1 commit
    • Andreas Gampe's avatar
      ART: Relax verifier aput checking · eb9d1f79
      Andreas Gampe authored
      When checking on a null array, the cases of aput and aput-wide are
      shared between integral and floating point types. Be careful to not
      reject a valid program.
      
      Bug: 21867457
      Bug: 23201502
      
      (cherry picked from commit 4bf4c78a)
      
      Change-Id: I6c54a389c06e40a2dae00995aa16ff08a089e512
      eb9d1f79
  11. 12 Aug, 2015 1 commit
  12. 11 Aug, 2015 3 commits
  13. 10 Aug, 2015 1 commit
  14. 08 Aug, 2015 1 commit
    • Nicolas Geoffray's avatar
      Fix a bug in the register allocator around pair allocation. · 6e9c66e0
      Nicolas Geoffray authored
      We may get hints that do not work with the current implementation
      of register pairs, which forces the allocation of (low + 1)
      for the high register. For example, if the hint is EBX, we will
      allocate ESP for the high register.
      
      bug:23043730
      
      (cherry picked from commit f2975811)
      
      Change-Id: Ib395e36616017a87d3055218d72417f4e9ff6501
      6e9c66e0
  15. 07 Aug, 2015 1 commit
  16. 06 Aug, 2015 2 commits
  17. 30 Jul, 2015 2 commits
  18. 28 Jul, 2015 1 commit
    • Mingyao Yang's avatar
      HDeoptimize should hold values live in env. · 681652d8
      Mingyao Yang authored
      Values that are not live in compiled code anymore may still be needed in
      interpreter, due to code motion, etc.
      
      (cherry-picked from commit 718493c6)
      
      Bug: 22665511
      Change-Id: I8b85833c5c462f8fe36f86d6026a51b07563995a
      681652d8
  19. 27 Jul, 2015 1 commit
  20. 24 Jul, 2015 1 commit
  21. 23 Jul, 2015 2 commits
    • Andreas Gampe's avatar
      ART: Change the stack dump format to be in line with debuggerd · 242ae94d
      Andreas Gampe authored
      Make offsets 16 digits on 64-bit platforms.
      
      Add the ability to provide the build fingerprint, and print it in
      the traces output.
      
      Bug: 22693991
      Change-Id: Ibd3d3b3bd65dce84acfb97a487807d6f280a9508
      242ae94d
    • Vladimir Marko's avatar
      ART: Fix Quick/Optimizing suspend check assumption mismatch. · d021e166
      Vladimir Marko authored
      Quick's SuspendCheckElimination (SCE) expects that every
      method contains a suspend check and it eliminates suspend
      checks in loops containing an invoke. Optimizing eliminates
      the suspend check from leaf methods, so the combination of
      a Quick-compiled loop calling an Optimizing-compiled leaf
      method can lead to missing suspend checks and potentially
      leading to ANRs.
      
      Enable Quick's kLeafOptimization flag to remove suspend
      checks from leaf methods and disable Quick's SCE. This
      aligns the suspend check placement for the two backends
      and avoids the broken combination.
      
      Currently, all methods containing a try-catch are compiled
      with Quick, so it's relatively easy to create a regression
      test. However, this test will not be valid when Optimizing
      starts supporting try-catch.
      
      Bug: 22657404
      
      (cherry picked from commit d29e8487)
      
      Change-Id: I733c38bf68bfc2c618f2f2e6b59f8b0e015d7be1
      d021e166
  22. 21 Jul, 2015 3 commits
  23. 17 Jul, 2015 2 commits
  24. 16 Jul, 2015 2 commits
  25. 13 Jul, 2015 3 commits