OSDN Git Service

android-x86/art.git
8 years agoFix ARM & ARM64 UnsafeGetObject intrinsics with read barriers.
Roland Levillain [Thu, 23 Jun 2016 12:48:47 +0000 (13:48 +0100)]
Fix ARM & ARM64 UnsafeGetObject intrinsics with read barriers.

The implementation was incorrectly interpreting the 'offset'
input as an index in a (4-byte) object reference array,
whereas it is a (1-byte) offset to an object reference field
within the 'base' (object) input.

Bug: 29516905
Change-Id: I4da5be0193217965f25e5d141c242592dea6ffe8
Test: Covered by test/004-UnsafeTest.

8 years agoFix x86 & x86-64 UnsafeGetObject intrinsics with read barriers.
Sang, Chunlei [Tue, 5 Apr 2016 09:12:59 +0000 (17:12 +0800)]
Fix x86 & x86-64 UnsafeGetObject intrinsics with read barriers.

The implementation was incorrectly interpreting the 'offset'
input as an index in a (4-byte) object reference array,
whereas it is a (1-byte) offset to an object reference field
within the 'base' (object) input.

Bug: 29516905
Change-Id: Idfbead8289222b55069816a81284401eff791e85
Test: Covered by test/004-UnsafeTest.

8 years agoMerge "Use a barrier instead of sleep for flaky deadlock test."
Treehugger Robot [Thu, 16 Jun 2016 01:23:32 +0000 (01:23 +0000)]
Merge "Use a barrier instead of sleep for flaky deadlock test."

8 years agoMerge "Propagate flags to ShouldHaveEmbeddedVTable"
Mathieu Chartier [Thu, 16 Jun 2016 00:57:19 +0000 (00:57 +0000)]
Merge "Propagate flags to ShouldHaveEmbeddedVTable"

8 years agoPropagate flags to ShouldHaveEmbeddedVTable
Mathieu Chartier [Wed, 15 Jun 2016 22:07:03 +0000 (15:07 -0700)]
Propagate flags to ShouldHaveEmbeddedVTable

Pass kVerifyFlags and kReadBarrierrOption to ShouldHaveEmbeddedVTable
from ShouldHaveImt.

Bug: 29188168

Change-Id: Ibddd6e744a2f313b4048719987c41f2da04a4e0a

8 years agoUse a barrier instead of sleep for flaky deadlock test.
Jeff Hao [Wed, 15 Jun 2016 23:20:34 +0000 (16:20 -0700)]
Use a barrier instead of sleep for flaky deadlock test.

Bug: 28663029
Change-Id: Ia94372c719f8014b4ee739ebc6a93c4f3548f717

8 years agoMerge "Refactor GetIMTIndex"
Treehugger Robot [Thu, 16 Jun 2016 00:28:15 +0000 (00:28 +0000)]
Merge "Refactor GetIMTIndex"

8 years agoMerge "Reduce ImageSpace::Init frame size"
Mathieu Chartier [Wed, 15 Jun 2016 20:28:21 +0000 (20:28 +0000)]
Merge "Reduce ImageSpace::Init frame size"

8 years agoReduce ImageSpace::Init frame size
Mathieu Chartier [Wed, 15 Jun 2016 20:11:40 +0000 (13:11 -0700)]
Reduce ImageSpace::Init frame size

Fixes x86_64 build.

Change-Id: Ib636a1274e255a60bda47607570fedbe92a5e2cd

8 years agoMerge "Optimize IMT"
Mathieu Chartier [Wed, 15 Jun 2016 17:44:14 +0000 (17:44 +0000)]
Merge "Optimize IMT"

8 years agoRefactor GetIMTIndex
Matthew Gharrity [Tue, 14 Jun 2016 18:31:04 +0000 (11:31 -0700)]
Refactor GetIMTIndex

This allows us to more easily maintain and experiment with
interface method table indexing and hashing.

Change-Id: I719920fae7490dcedcda7c1c36db225c2b8b16df

8 years agoMerge "Also compile libnetd_client for target testing."
Nicolas Geoffray [Wed, 15 Jun 2016 13:52:39 +0000 (13:52 +0000)]
Merge "Also compile libnetd_client for target testing."

8 years agoMerge "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky."""
Nicolas Geoffray [Wed, 15 Jun 2016 11:57:35 +0000 (11:57 +0000)]
Merge "Revert "Revert "Disable 149-suspend-all-stress, its output is flaky."""

8 years agoRevert "Revert "Disable 149-suspend-all-stress, its output is flaky.""
Nicolas Geoffray [Wed, 15 Jun 2016 11:57:22 +0000 (11:57 +0000)]
Revert "Revert "Disable 149-suspend-all-stress, its output is flaky.""

Still flaky.

bug:28988206

This reverts commit 06cb9b25e09c10530ba4f3659b54161b1c76c932.

Change-Id: I13626a8959db27fd566f6db56fab469312422e70

8 years agoMerge "ARM: Use GOT_PREL references for Runtime::Current()."
Vladimir Marko [Wed, 15 Jun 2016 10:38:23 +0000 (10:38 +0000)]
Merge "ARM: Use GOT_PREL references for Runtime::Current()."

8 years agoMerge "Visit invalid roots of only suspended threads"
Mathieu Chartier [Wed, 15 Jun 2016 02:35:09 +0000 (02:35 +0000)]
Merge "Visit invalid roots of only suspended threads"

8 years agoMerge "ART: Empty out sa_mask in ArmInstructionSetFeatures"
Treehugger Robot [Wed, 15 Jun 2016 01:29:25 +0000 (01:29 +0000)]
Merge "ART: Empty out sa_mask in ArmInstructionSetFeatures"

8 years agoVisit invalid roots of only suspended threads
Mathieu Chartier [Wed, 15 Jun 2016 00:08:47 +0000 (17:08 -0700)]
Visit invalid roots of only suspended threads

Since this always happens with suspended threads or self, you can
just visit these threads and do not require a suspend all. This
will not miss any roots if the caller was marking a thread root.

Fixes issues like transitioning to suspended and back blocking on a
thread suspension request from another thread. This could cause
deadlocks previously.

Bug: 29062271

Change-Id: I2fef149387aacf0cdc9a773d4f172c42fa53e4dc

8 years agoART: Empty out sa_mask in ArmInstructionSetFeatures
Andreas Gampe [Wed, 15 Jun 2016 00:24:51 +0000 (17:24 -0700)]
ART: Empty out sa_mask in ArmInstructionSetFeatures

For sdiv hardware detection by signal, empty out sa_mask.

Bug: 29282211
Change-Id: I7c85273f95089fcce75319843e5921842ea6df4d

8 years agoMerge "Change test 149 to run for 10 seconds"
Mathieu Chartier [Tue, 14 Jun 2016 22:19:58 +0000 (22:19 +0000)]
Merge "Change test 149 to run for 10 seconds"

8 years agoMerge "ART: Add setenv to Valgrind target suppressions"
Andreas Gampe [Tue, 14 Jun 2016 21:39:00 +0000 (21:39 +0000)]
Merge "ART: Add setenv to Valgrind target suppressions"

8 years agoART: Add setenv to Valgrind target suppressions
Andreas Gampe [Tue, 14 Jun 2016 21:36:09 +0000 (14:36 -0700)]
ART: Add setenv to Valgrind target suppressions

Setenv is known-leaking when overwriting existing keys. Ignore.

Bug: 29282211
Change-Id: I4af0bf4d33b9e3d8352f7219710882215def09f1

8 years agoMerge "ART: Workaround for ARM valgrind stack issues"
Treehugger Robot [Tue, 14 Jun 2016 21:10:17 +0000 (21:10 +0000)]
Merge "ART: Workaround for ARM valgrind stack issues"

8 years agoMerge "Revert "Revert "Revert "Revert "Revert "Revert some flaky unloading""""""
Alex Light [Tue, 14 Jun 2016 20:56:07 +0000 (20:56 +0000)]
Merge "Revert "Revert "Revert "Revert "Revert "Revert some flaky unloading""""""

8 years agoChange test 149 to run for 10 seconds
Mathieu Chartier [Tue, 14 Jun 2016 17:41:06 +0000 (10:41 -0700)]
Change test 149 to run for 10 seconds

Run for a fixed 10 seconds to prevent timeouts on overloaded
machines.

Bug: 28988206

Change-Id: Ia40b8e61445ca0a6331668dc605401d1f69e4d17

8 years agoARM: Use GOT_PREL references for Runtime::Current().
Vladimir Marko [Tue, 14 Jun 2016 16:43:17 +0000 (17:43 +0100)]
ARM: Use GOT_PREL references for Runtime::Current().

Bug: 29259539
Change-Id: I5039ff016403d438f496a55d4bb1775c3d67c09c

8 years agoART: Workaround for ARM valgrind stack issues
Andreas Gampe [Sat, 11 Jun 2016 03:38:55 +0000 (20:38 -0700)]
ART: Workaround for ARM valgrind stack issues

The reports from pthreads and the builtins don't match up (compiled
code and thus actual stack pointer values haven't been tested, yet).
As a temporary workaround, implicitly disable the checks by storing
0x0 as the stack base.

Bug: 19127663
Bug: 29282211
Change-Id: Ib4170e222ca7e2ef92bf125b0a7409770ded7822

8 years agoMerge "Pass the right CFLAGS to libarttest(d)."
Alex Light [Tue, 14 Jun 2016 17:30:26 +0000 (17:30 +0000)]
Merge "Pass the right CFLAGS to libarttest(d)."

8 years agoOptimize IMT
Nelli Kim [Fri, 13 May 2016 10:08:53 +0000 (13:08 +0300)]
Optimize IMT

* Remove IMT for classes which do not implement interfaces
* Remove IMT for array classes
* Share same IMT

Saved memory (measured on hammerhead):
boot.art:
Total number of classes: 3854
Number of affected classes: 1637
Saved memory: 409kB

Chrome (excluding classes in boot.art):
Total number of classes: 2409
Number of affected classes: 1259
Saved memory: 314kB

Google Maps (excluding classes in boot.art):
Total number of classes: 6988
Number of affected classes: 2574
Saved memory: 643kB

Performance regression on benchmarks/InvokeInterface.java benchmark
(measured timeCall10Interface)
1st launch: 9.6%
2nd launch: 6.8%

Change-Id: If07e45390014a6ee8f3c1c4ca095b43046f0871f

8 years agoMerge "ARM64: Improve String.getCharsNoCheck intrinsic."
Vladimir Marko [Tue, 14 Jun 2016 09:06:24 +0000 (09:06 +0000)]
Merge "ARM64: Improve String.getCharsNoCheck intrinsic."

8 years agoMerge "Revert "Disable 149-suspend-all-stress, its output is flaky.""
Mathieu Chartier [Tue, 14 Jun 2016 01:33:17 +0000 (01:33 +0000)]
Merge "Revert "Disable 149-suspend-all-stress, its output is flaky.""

8 years agoMerge "Support unlimited pending checkpoints"
Mathieu Chartier [Tue, 14 Jun 2016 01:32:53 +0000 (01:32 +0000)]
Merge "Support unlimited pending checkpoints"

8 years agoSupport unlimited pending checkpoints
Mathieu Chartier [Mon, 13 Jun 2016 21:04:02 +0000 (14:04 -0700)]
Support unlimited pending checkpoints

Prevents the spinning that used to happen if RunCheckpoint was called
with 3 pending checkpoints. This spinning was done when holding
thread_list_lock_ and thread_suspend_count_lock_ and could deadlock
if any of the pending checkpoints required any of these locks.

The fix is to use an overflow list instead of having a fixed limit of
3.

Changed suspend stress test to have more threads and only compare last
line since there may be libbacktrace spam like:
"+E/libbacktrace(69891): void SignalHandler(int, siginfo_t *, void *):
Timed out waiting for unwind thread to indicate it completed."

Bug: 28988206

Change-Id: I2ae611506147d5199d59a08eee0395f7fa35d448

8 years agoMerge "Propagate the read barrier option to Class::VisitNativeRoots."
Hiroshi Yamauchi [Mon, 13 Jun 2016 23:11:33 +0000 (23:11 +0000)]
Merge "Propagate the read barrier option to Class::VisitNativeRoots."

8 years agoPropagate the read barrier option to Class::VisitNativeRoots.
Hiroshi Yamauchi [Sat, 11 Jun 2016 00:22:48 +0000 (17:22 -0700)]
Propagate the read barrier option to Class::VisitNativeRoots.

Propagate the read barrier option from Object::VisitReferences to
Class::VisitNativeRoots.

This is a step toward the GC thread avoiding graying objects (and
reducing dirty pages) in the immune spaces.

Bug: 12687968

Change-Id: I29c4126a4ad4c40e63a934e62451fb3fb36aad43

8 years agoRevert "Disable 149-suspend-all-stress, its output is flaky."
Mathieu Chartier [Mon, 13 Jun 2016 20:04:23 +0000 (13:04 -0700)]
Revert "Disable 149-suspend-all-stress, its output is flaky."

This reverts commit e7aa9dd3c2f7156a4ad186dae93a3103f6eace81.

8 years agoMerge "MIPS32: Improve offset calculations in loads and stores"
Treehugger Robot [Mon, 13 Jun 2016 18:47:31 +0000 (18:47 +0000)]
Merge "MIPS32: Improve offset calculations in loads and stores"

8 years agoMerge "ARM64: Use VIXL's conditional select helper."
Vladimir Marko [Mon, 13 Jun 2016 18:24:32 +0000 (18:24 +0000)]
Merge "ARM64: Use VIXL's conditional select helper."

8 years agoRevert "Revert "Revert "Revert "Revert "Revert some flaky unloading"""""
Alex Light [Mon, 13 Jun 2016 17:22:13 +0000 (17:22 +0000)]
Revert "Revert "Revert "Revert "Revert "Revert some flaky unloading"""""

With go/aog/238641 this should pass on the buildbots again.

Bug: 28406866

This reverts commit 7dbf20abe99eb6c1d9c137e592c2025af725fa06.

Change-Id: I1038fe454491488fd561f5fce2e51a27487dce20

8 years agoARM64: Use VIXL's conditional select helper.
Alexandre Rames [Mon, 13 Jun 2016 15:04:50 +0000 (16:04 +0100)]
ARM64: Use VIXL's conditional select helper.

Change-Id: Id6bb880e2fffb54cf1f480191fc734eaaf4cd293

8 years agoAlso compile libnetd_client for target testing.
Nicolas Geoffray [Mon, 13 Jun 2016 14:28:38 +0000 (15:28 +0100)]
Also compile libnetd_client for target testing.

The runtime linker will load the one on /system otherwise.

Change-Id: Id57e84d1b34e807437818d39bf6ef5f727a7d210

8 years agoPass the right CFLAGS to libarttest(d).
Nicolas Geoffray [Mon, 13 Jun 2016 14:14:53 +0000 (15:14 +0100)]
Pass the right CFLAGS to libarttest(d).

bug:28406866
Change-Id: If063bfda90786f58e2dba68fe1b96a668e7db177

8 years agoMerge "Remove too aggressive DCHECKs."
Treehugger Robot [Mon, 13 Jun 2016 14:02:45 +0000 (14:02 +0000)]
Merge "Remove too aggressive DCHECKs."

8 years agoARM64: Improve String.getCharsNoCheck intrinsic.
Scott Wakeling [Fri, 22 Apr 2016 10:35:56 +0000 (11:35 +0100)]
ARM64: Improve String.getCharsNoCheck intrinsic.

- Optimize for < 8 characters.
- Improve performance of longer retrievals with LDP/STP.

Change-Id: Ib9a9507ae652a439c7fdcab5cc916e1930722228

8 years agoRemove too aggressive DCHECKs.
Nicolas Geoffray [Fri, 10 Jun 2016 15:06:34 +0000 (16:06 +0100)]
Remove too aggressive DCHECKs.

A class can move from a state greater or equal than resolved
to erroneous concurrently to the verifier or the compiler.

bug:29239283
Change-Id: I89f3fe1c1d9556c6c99b8e005b3ec02de7f01b85
(cherry picked from commit f7d994622aabcc689f62253a9253e0c67d9e787e)

8 years agoMerge "Disable 149-suspend-all-stress, its output is flaky."
Nicolas Geoffray [Sat, 11 Jun 2016 12:43:11 +0000 (12:43 +0000)]
Merge "Disable 149-suspend-all-stress, its output is flaky."

8 years agoDisable 149-suspend-all-stress, its output is flaky.
Nicolas Geoffray [Sat, 11 Jun 2016 12:40:26 +0000 (13:40 +0100)]
Disable 149-suspend-all-stress, its output is flaky.

bug:28988206
Change-Id: I13cce14b72d753c9ba2ca9b4e256eb571620caa9

8 years agoMerge "Revert "ART: Disable check under memory tools""
Andreas Gampe [Sat, 11 Jun 2016 03:36:14 +0000 (03:36 +0000)]
Merge "Revert "ART: Disable check under memory tools""

8 years agoRevert "ART: Disable check under memory tools"
Andreas Gampe [Sat, 11 Jun 2016 03:34:55 +0000 (20:34 -0700)]
Revert "ART: Disable check under memory tools"

This reverts commit 820c13bea5795e04986bf617319517562de76514.

The check is valid, the whole stack setup is broken.

8 years agoMerge "ART: Suppress memcpy overlap in jemalloc for valgrind"
Andreas Gampe [Sat, 11 Jun 2016 02:28:19 +0000 (02:28 +0000)]
Merge "ART: Suppress memcpy overlap in jemalloc for valgrind"

8 years agoART: Suppress memcpy overlap in jemalloc for valgrind
Andreas Gampe [Sat, 11 Jun 2016 01:43:46 +0000 (18:43 -0700)]
ART: Suppress memcpy overlap in jemalloc for valgrind

Clang/LLVM uses memcpy for a self-assign, which is detected by
valgrind. Ignore.

Bug: 29279679
Change-Id: I47483e1a2a982b9f3642f98e4389633989885bb8

8 years agoMerge "Use ScopedObjectAccess in ThreadList::Dump"
Mathieu Chartier [Sat, 11 Jun 2016 00:53:57 +0000 (00:53 +0000)]
Merge "Use ScopedObjectAccess in ThreadList::Dump"

8 years agoUse ScopedObjectAccess in ThreadList::Dump
Mathieu Chartier [Sat, 11 Jun 2016 00:04:20 +0000 (17:04 -0700)]
Use ScopedObjectAccess in ThreadList::Dump

Prevent deadlocks if two different threads are calling Dump at the
same time:

Thread 1: Requests thread 2 to suspend
Thread 2: Requests thread 1 to suspend
Both threads are suspended and blocked on ScopedObjectAccess in
thread dumping.

Added to suspend all stress, reduced thread count to 4 temporarily
since this is the maximum number of simultaneous checkpoints.

Bug: 28988206

Change-Id: I9e4b8391ebad0bca0e42a03819c58c99ddba6b35

8 years agoMerge "ART: Disable check under memory tools"
Treehugger Robot [Sat, 11 Jun 2016 00:03:56 +0000 (00:03 +0000)]
Merge "ART: Disable check under memory tools"

8 years agoMerge "Fix the region space name for dumpsys meminfo."
Treehugger Robot [Fri, 10 Jun 2016 22:54:41 +0000 (22:54 +0000)]
Merge "Fix the region space name for dumpsys meminfo."

8 years agoMerge "Disable the CC collector / read barrier checks in non-debug build."
Treehugger Robot [Fri, 10 Jun 2016 22:42:05 +0000 (22:42 +0000)]
Merge "Disable the CC collector / read barrier checks in non-debug build."

8 years agoART: Disable check under memory tools
Andreas Gampe [Fri, 10 Jun 2016 22:32:21 +0000 (15:32 -0700)]
ART: Disable check under memory tools

Disable a stack check under memory tools. It assumes a single
common stack, which seems violated at least under valgrind on
ARM.

Change-Id: Ida05adb0728cc46f3bbda4d34be7a1623bb3bc82

8 years agoFix the region space name for dumpsys meminfo.
Hiroshi Yamauchi [Fri, 10 Jun 2016 21:59:43 +0000 (14:59 -0700)]
Fix the region space name for dumpsys meminfo.

Bug: 12687968
Change-Id: I42e3d4cd9afb9892eb1d173b18f8b3e9491429dd

8 years agoMIPS32: Improve offset calculations in loads and stores
Alexey Frunze [Wed, 8 Jun 2016 06:40:37 +0000 (23:40 -0700)]
MIPS32: Improve offset calculations in loads and stores

Change-Id: I6c3773e8bc1233bcda83d5b7254438ef69e9570d

8 years agoDisable the CC collector / read barrier checks in non-debug build.
Hiroshi Yamauchi [Fri, 10 Jun 2016 21:27:38 +0000 (14:27 -0700)]
Disable the CC collector / read barrier checks in non-debug build.

Bug: 12687968

Change-Id: Ia8295354b705018ffa864eb8101aa5c09528af13

8 years agoMerge "ART: Fix swap usage determination in dex2oat"
Treehugger Robot [Fri, 10 Jun 2016 19:19:53 +0000 (19:19 +0000)]
Merge "ART: Fix swap usage determination in dex2oat"

8 years agoART: Fix swap usage determination in dex2oat
Andreas Gampe [Thu, 9 Jun 2016 01:18:47 +0000 (18:18 -0700)]
ART: Fix swap usage determination in dex2oat

The decision needs to be postponed until we have access to the
dex files.

Bug: 27878043

(cherry picked from commit ce55f0d4da1db20676273032b3c79624f665b35b)

Change-Id: I55833c6ea827ec7a322711bd182fc723d1727f08

8 years agoMerge "Fix dex file leak in oat file manager"
Mathieu Chartier [Fri, 10 Jun 2016 16:50:40 +0000 (16:50 +0000)]
Merge "Fix dex file leak in oat file manager"

8 years agoFix dex file leak in oat file manager
Mathieu Chartier [Thu, 9 Jun 2016 23:18:04 +0000 (16:18 -0700)]
Fix dex file leak in oat file manager

Simplified ownership by having a vector of unique pointers own
all newly opened dex files.

Bug: 29246280

(cherry picked from commit fed316715faeec7bf34e3c4a878288c1342cb0e8)

Change-Id: I97db09ced76db8ffdbae371ff72977c4276a0494

8 years agoMerge "ART: Add ATRACE section for collision check"
Treehugger Robot [Fri, 10 Jun 2016 16:34:24 +0000 (16:34 +0000)]
Merge "ART: Add ATRACE section for collision check"

8 years agoART: Add ATRACE section for collision check
Andreas Gampe [Fri, 10 Jun 2016 15:36:20 +0000 (08:36 -0700)]
ART: Add ATRACE section for collision check

The collision check for duplicate classes is potentially expensive.
Add a ScopedTrace to mark it.

Bug: 26880306
Change-Id: Icd75bd0ccc15f0d1f321d85382a4d038fa8ab049

8 years agoMerge "Add Valgrind target tests"
Treehugger Robot [Fri, 10 Jun 2016 02:10:08 +0000 (02:10 +0000)]
Merge "Add Valgrind target tests"

8 years agoAdd Valgrind target tests
Anton Kirilov [Tue, 3 May 2016 15:15:36 +0000 (16:15 +0100)]
Add Valgrind target tests

Change-Id: I1251ac2122c60ed5fcabf184704bc439243ee85b

8 years agoMerge "Fix some "possible" divide by 0"
Mathieu Chartier [Thu, 9 Jun 2016 21:55:24 +0000 (21:55 +0000)]
Merge "Fix some "possible" divide by 0"

8 years agoFix some "possible" divide by 0
Mathieu Chartier [Thu, 9 Jun 2016 18:51:27 +0000 (11:51 -0700)]
Fix some "possible" divide by 0

Bug: 28529431
Change-Id: I61f638926b2ae63c5f883fc2cfdce19b00ce79c8

8 years agoMerge "Add thread suspend stress"
Mathieu Chartier [Thu, 9 Jun 2016 17:59:58 +0000 (17:59 +0000)]
Merge "Add thread suspend stress"

8 years agoMerge "Re-introduce an old version of 600-verifier-fails."
Nicolas Geoffray [Thu, 9 Jun 2016 15:56:33 +0000 (15:56 +0000)]
Merge "Re-introduce an old version of 600-verifier-fails."

8 years agoRe-introduce an old version of 600-verifier-fails.
Nicolas Geoffray [Thu, 9 Jun 2016 15:53:34 +0000 (16:53 +0100)]
Re-introduce an old version of 600-verifier-fails.

The fugu buildbot had a crash on this version:
https://build.chromium.org/p/client.art/builders/fugu-ndebug/builds/3844

It got lost after updates to the tests.

Change-Id: Ib3748e6d6772e90bbc56b8139e374c7cf8953ce4

8 years agoMerge "Ensure we have a profiling info object before trying to compile."
Nicolas Geoffray [Thu, 9 Jun 2016 12:38:42 +0000 (12:38 +0000)]
Merge "Ensure we have a profiling info object before trying to compile."

8 years agoEnsure we have a profiling info object before trying to compile.
Nicolas Geoffray [Thu, 9 Jun 2016 10:59:31 +0000 (11:59 +0100)]
Ensure we have a profiling info object before trying to compile.

Otherwise we will never succeed compiling and infinite loop.

Change-Id: I7ff09c69e67f0df4cb450ffa10a529625eac67fd

8 years agoMerge "Also catch OOME from the new byte[]."
Nicolas Geoffray [Thu, 9 Jun 2016 12:09:57 +0000 (12:09 +0000)]
Merge "Also catch OOME from the new byte[]."

8 years agoAlso catch OOME from the new byte[].
Nicolas Geoffray [Thu, 9 Jun 2016 12:09:17 +0000 (13:09 +0100)]
Also catch OOME from the new byte[].

Change-Id: Ic756070ed4a3cb3760760fd5a2ebcad1ea0a8ca0

8 years agoMerge "Fix FOUR_ARG_DOWNCALL assembly stubs on arm and x86."
Treehugger Robot [Thu, 9 Jun 2016 10:31:28 +0000 (10:31 +0000)]
Merge "Fix FOUR_ARG_DOWNCALL assembly stubs on arm and x86."

8 years agoMerge "Use usleep instead of sleep(0)."
Treehugger Robot [Thu, 9 Jun 2016 09:55:14 +0000 (09:55 +0000)]
Merge "Use usleep instead of sleep(0)."

8 years agoFix FOUR_ARG_DOWNCALL assembly stubs on arm and x86.
Nicolas Geoffray [Wed, 8 Jun 2016 17:01:22 +0000 (18:01 +0100)]
Fix FOUR_ARG_DOWNCALL assembly stubs on arm and x86.

They were creating a stack that the runtime did not understand.

bug:28348339
Change-Id: Ic03663552209beda8ff1e79db58bedc8f34d9a0e

8 years agoUse usleep instead of sleep(0).
Nicolas Geoffray [Thu, 9 Jun 2016 08:53:55 +0000 (09:53 +0100)]
Use usleep instead of sleep(0).

sleep(0) is unfortunately not specified.

Change-Id: I5e9c626d21a562ca04329c0cc039a1f3a71dfc84

8 years agoMerge "Bump frame size limit 8 bytes to fix x86_64 build with latest external/libcxx"
Brian Carlstrom [Thu, 9 Jun 2016 07:19:21 +0000 (07:19 +0000)]
Merge "Bump frame size limit 8 bytes to fix x86_64 build with latest external/libcxx"

8 years agoBump frame size limit 8 bytes to fix x86_64 build with latest external/libcxx
Brian Carlstrom [Thu, 9 Jun 2016 06:48:27 +0000 (23:48 -0700)]
Bump frame size limit 8 bytes to fix x86_64 build with latest external/libcxx

Change-Id: Ib8964d18aa509ee40a91d92eea1011447d429ed7

8 years agoMerge "Revert "Revert "Revert "Revert "Revert some flaky unloading"""""
Treehugger Robot [Thu, 9 Jun 2016 00:04:35 +0000 (00:04 +0000)]
Merge "Revert "Revert "Revert "Revert "Revert some flaky unloading"""""

8 years agoAdd thread suspend stress
Mathieu Chartier [Wed, 8 Jun 2016 23:29:48 +0000 (16:29 -0700)]
Add thread suspend stress

Seems to be passing, aim to catch bugs related to thread suspension.

Bug: 28988206

Change-Id: I48190900ccd7a2545c6f09cf730e995043b0d9b7

8 years agoRevert "Revert "Revert "Revert "Revert some flaky unloading""""
Alex Light [Wed, 8 Jun 2016 23:12:45 +0000 (23:12 +0000)]
Revert "Revert "Revert "Revert "Revert some flaky unloading""""

Fugu is still unhappy

Bug: 28406866

This reverts commit 340f486aa0126facb67494449b5c2ee46a1a75e6.

Change-Id: I45fc77f924d991669d27b99c1458b2def8692664

8 years agoMerge "Temporarily disable test E"
Treehugger Robot [Wed, 8 Jun 2016 23:03:56 +0000 (23:03 +0000)]
Merge "Temporarily disable test E"

8 years agoMerge "Add a few more pending exception checks"
Mathieu Chartier [Wed, 8 Jun 2016 22:43:34 +0000 (22:43 +0000)]
Merge "Add a few more pending exception checks"

8 years agoAdd a few more pending exception checks
Mathieu Chartier [Wed, 8 Jun 2016 22:09:08 +0000 (15:09 -0700)]
Add a few more pending exception checks

Bug: 28371539

Change-Id: Ibd2f7ccf7bd8cf7ef6c24534be1efbcc9b30014a

8 years agoTemporarily disable test E
Aart Bik [Wed, 8 Jun 2016 21:49:28 +0000 (14:49 -0700)]
Temporarily disable test E

Rationale:
Interpreter does not seem to perform access checks
prior to null check, a feature that was just fixed
in the AOT compiler. Disabling the test until we
figure out who is right.....

BUG=29068831

Change-Id: I2cdce568727e631f48648f401806e7ecd6985038

8 years agoMerge "Revert "Revert "Revert "Revert some flaky unloading""""
Alex Light [Wed, 8 Jun 2016 21:07:39 +0000 (21:07 +0000)]
Merge "Revert "Revert "Revert "Revert some flaky unloading""""

8 years agoRevert "Revert "Revert "Revert some flaky unloading"""
Alex Light [Tue, 7 Jun 2016 17:34:46 +0000 (10:34 -0700)]
Revert "Revert "Revert "Revert some flaky unloading"""

Ensure that all threads are in the JNI code before destroying the
runtime.

Bug: 28406866

This reverts commit b2716bbf321293ddbd0b96f0ea999794b0e9b09b.

Change-Id: I7f6189a9d0d8a1bf7af5535026804bc2183466c9

8 years agoMerge "Do not place null check on unresolved method calls."
Aart Bik [Wed, 8 Jun 2016 17:41:39 +0000 (17:41 +0000)]
Merge "Do not place null check on unresolved method calls."

8 years agoDo not place null check on unresolved method calls.
Aart Bik [Tue, 7 Jun 2016 20:49:12 +0000 (13:49 -0700)]
Do not place null check on unresolved method calls.

Rationale:
These invokes drop through the runtime anyway where various
checks are done, including null check. A few of these
checks need to occur before the null check.

With fail-before/pass-after smali test.

BUG=29068831

Change-Id: I260715e742365433a323598d97f7fdab321e8512

8 years agoMerge "Use sleep instead of sched_yield."
Treehugger Robot [Wed, 8 Jun 2016 16:18:17 +0000 (16:18 +0000)]
Merge "Use sleep instead of sched_yield."

8 years agoUse sleep instead of sched_yield.
Nicolas Geoffray [Wed, 8 Jun 2016 12:37:45 +0000 (13:37 +0100)]
Use sleep instead of sched_yield.

The compiler thread has a different priority than the main thread,
so there's no guarantee sched_yield will actually pass the CPU to
the compiler thread.

Change-Id: I7e8d3cbf478c482a9ba9502f7bba7fb1397cd28e

8 years agoMerge "Be pro-active into ensuring a method is JITted in test."
Treehugger Robot [Wed, 8 Jun 2016 09:22:39 +0000 (09:22 +0000)]
Merge "Be pro-active into ensuring a method is JITted in test."

8 years agoBe pro-active into ensuring a method is JITted in test.
Nicolas Geoffray [Wed, 8 Jun 2016 08:18:38 +0000 (09:18 +0100)]
Be pro-active into ensuring a method is JITted in test.

Change-Id: I27d7bb76178478e6153e87a076bb39a4dc61f50b

8 years agoMerge "Wrap certain exception types when loading an erroneous class."
Treehugger Robot [Wed, 8 Jun 2016 04:03:56 +0000 (04:03 +0000)]
Merge "Wrap certain exception types when loading an erroneous class."

8 years agoWrap certain exception types when loading an erroneous class.
Jeff Hao [Mon, 6 Jun 2016 18:09:20 +0000 (11:09 -0700)]
Wrap certain exception types when loading an erroneous class.

Bug: 28787733

(cherry-picked from commit 7c8aa8357196781c811a73d2eb66aaaa1681ce36)

Change-Id: Iea55486c4b95ee16e1f19c8ba2d24c18b9100c97