1. 18 Oct, 2016 1 commit
  2. 14 Oct, 2016 1 commit
  3. 05 Oct, 2016 2 commits
  4. 04 Oct, 2016 1 commit
    • Andreas Gampe's avatar
      ART: Clean up IRT-related abort messaging · 15b7c90a
      Andreas Gampe authored
      Change AbortIfNoCheckJNI to take the abort message as a parameter.
      This way it can be passed down.
      
      Bug: 31893081
      Test: m test-art-host
      Change-Id: Ib24c7060f1b32c9613ab84e6c1966082c866bc14
      (cherry picked from commit f1e8630f)
      15b7c90a
  5. 29 Sep, 2016 1 commit
  6. 28 Sep, 2016 2 commits
    • Alex Light's avatar
      DO NOT MERGE: Update Oat version to 088 · ae444410
      Alex Light authored
      Give N-MR1 a different oat version to prevent compatibility problems
      with NYC.
      
      Bug: 31789675
      Test: mma test-art-host
      Test: Phone boots and runs apps
      Change-Id: I6a922e8ac932dbf36a19431c4f34c2ace6f34609
      ae444410
    • Andreas Gampe's avatar
      ART: Dump referenced type in IRT overflows · 280f32b0
      Andreas Gampe authored
      When the runtime dumps a reference table, e.g., when aborting for
      an overflow, dump the type of stored referents for reference types
      to aid in debugging leaks.
      
      Bug: 31600693
      Change-Id: Ia892dc84ca8827dd93a8b75d6f571c392f94859c
      280f32b0
  7. 27 Sep, 2016 1 commit
  8. 25 Sep, 2016 2 commits
  9. 23 Sep, 2016 1 commit
    • Mathieu Chartier's avatar
      Smarter image layout · 4e9c4e74
      Mathieu Chartier authored
      Put strings in the dex file that resolves them.
      
      Depth first traversal with overrides for class and dex cache. The
      work list keeps track of what oat_index with each pushed item. This
      means the static fields of a class will usually be in the same image.
      
      Added layout test to image_test to make sure things are somewhat
      reasonably attributed.
      
      Bug: 28640955
      
      Test: test-art-host
      
      Change-Id: I67a536c33aeed603b252d8e0f75622c9efbf2559
      4e9c4e74
  10. 22 Sep, 2016 3 commits
  11. 21 Sep, 2016 1 commit
  12. 19 Sep, 2016 1 commit
  13. 11 Sep, 2016 1 commit
  14. 09 Sep, 2016 3 commits
    • TreeHugger Robot's avatar
    • Alex Light's avatar
      Fix vtable corruption issue · b47a1cc1
      Alex Light authored
      We were adding duplicate methods to the vtable in some cases where
      default methods (and conflict methods) were used. This caused issues
      where they were not correctly overridden in subclasses that implement
      these methods directly. When overridden only one of the vtable entries
      was updated meaning it was still possible to reach the overridden code
      using a virtual call.
      
      This change prevents the duplicate methods from being added to the
      vtable in this circumstance. It also adds a debug check that ensures
      that the vtable has no duplicates to prevent regressions.
      
      Bug: 31280371
      
      Test: mma test-art-host
      Test: mma test-art-host-run-test-960-default-smali
      
      Change-Id: I17d88fb8949c8d5d75b4de3c734fd98660b81e61
      (cherry picked from commit 1f3925d4)
      b47a1cc1
    • Mathieu Chartier's avatar
      Don't assume resolved classses are filled in for ResolvedFieldAccessTest · c90450a2
      Mathieu Chartier authored
      The assumption that the dex cache type for class of the field is
      resolved is not correct since FindClass does not fill in the
      resolved type array. This resulted in crashes if dex_access_to ==
      nullptr.
      
      Also implemented for ResolvedMethodAccessTest
      
      Bug: 31277064
      
      Test: Launch ZeroTouch with profile guided compilation.
      
      Change-Id: I40cfb15f3ae4fbfe941fd01ea46211bd86b6e6f7
      c90450a2
  15. 01 Sep, 2016 1 commit
  16. 31 Aug, 2016 1 commit
    • David Sehr's avatar
      Save environment snapshot and use at fork/exec · 0e4a2f0d
      David Sehr authored
      Some applications may inadvertently or maliciously set of environment
      variables such as LD_LIBRARY_PATH before spawning subprocesses.
      To make this more difficult, save the environment at the time the
      runtime starts and use the saved copy anytime Exec is called.
      
      BUG: 30160149
      TEST: make test-art-{host,target}
      
      Change-Id: I887b78bdb21ab20855636a96da14a74c767bbfef
      (cherry picked from commit d106d9f8)
      0e4a2f0d
  17. 29 Aug, 2016 2 commits
  18. 28 Aug, 2016 1 commit
  19. 27 Aug, 2016 1 commit
    • Nicolas Geoffray's avatar
      Pass the right class loader when inlining. · c770fe04
      Nicolas Geoffray authored
      Otherwise, method and type resolution can resolve to the wrong
      things and as a side effect update the dex cache with wrong data.
      
      bug:30403437
      Change-Id: I23f94486f51c65e0a1328c6185b36084627e09b3
      test:./art/test/run-test --host --jit --dev --no-prebuild 613
      (cherry picked from commit 0a210d9b)
      c770fe04
  20. 25 Aug, 2016 3 commits
  21. 24 Aug, 2016 4 commits
    • gitbuildkicker's avatar
    • Mathieu Chartier's avatar
      Revert "Revert "Use try lock to fix class resolution race"" · 23da026e
      Mathieu Chartier authored
      Fix possible deadlock in EnsureResolved caused by interaction with
      GC. Since we were sleeping while holding the mutator lock, it could
      block thread suspension. This would deadlock if the thread that
      had locked h_class is already suspended since we would spin forever
      and not make progress.
      
      Bug: 27417671
      Bug: 30500547
      
      Test: test-art-host ART_TEST_GC_STRESS=true
      
      This reverts commit 69bf969c.
      
      (cherry picked from commit 4b0ef1c9)
      
      Change-Id: If5766c2c3c8a130cbb83735cdb9970038570dafd
      23da026e
    • Mathieu Chartier's avatar
      Revert "Use try lock to fix class resolution race" · adc538a5
      Mathieu Chartier authored
      This reverts commit a704eda0.
      
      Bug: 27417671
      Bug: 30500547
      
      (cherry picked from commit 69bf969c)
      
      Change-Id: I4354d1c9f1c554f054e99efd7aa52d8a2c5d402c
      adc538a5
    • Mathieu Chartier's avatar
      Use try lock to fix class resolution race · 1386f861
      Mathieu Chartier authored
      There was some possible deadlocks related to EnsureResolved caused by
      acquiring an object lock.
      
      Scenario:
      Thread 1 acquires lock on obj1
      Thread 1 begins to resolve / initialize class1
      Thread 1 blocks since it sees that class1 is already being resolved and
      gets preempted before it can acquire the object lock on class1
      Thread 2 finishes resolving and initializing class1 and locks class1
      Thread 2 blocks attempting to lock obj1
      Thread 1 blocks attempting to lock class1
      Deadlock
      
      Fixed the deadlock by changing EnsureResolved to use a try lock for the
      unresolved case.
      
      Added a test.
      
      Test: Device boot, test-art-host, monitor_test
      
      Bug: 27417671
      
      (cherry picked from commit a704eda0)
      
      Change-Id: I1150b19bdc1a5cc87ae95eda4f2b6b4bca215a60
      1386f861
  22. 23 Aug, 2016 3 commits
  23. 22 Aug, 2016 2 commits
  24. 18 Aug, 2016 1 commit
    • David Sehr's avatar
      Save environment snapshot and use at fork/exec · 1488ff8a
      David Sehr authored
      Some applications may inadvertently or maliciously set of environment
      variables such as LD_LIBRARY_PATH before spawning subprocesses.
      To make this more difficult, save the environment at the time the
      runtime starts and use the saved copy anytime Exec is called.
      
      BUG=b/30160149
      TEST=make test-art-{host,target}-gtest-utils_test
      
      Change-Id: Ice0097bf0de30db3d4ead124caf93316f39e3df3
      1488ff8a