• Home
  • History
  • Annotate
  • only in /art/test/570-checker-osr/src/
History log of /art/test/570-checker-osr/src/
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
19b5021a49285627485675ef31276b8194269600 22-Apr-2016 Nicolas Geoffray <ngeoffray@google.com> Forbid HDeoptimize instructions in OSR methods.

Otherwise dominated instructions will assume something that
isn't necessarily correct if coming from the interpreter.

bug:28335959
bug:28249238
bug:28348878
bug:28080135

Contains fix from https://android-review.googlesource.com/#/c/220661/.

(cherry picked from commit 93a18c5d4160f632ecdb92af099574e9c7098c49)

Change-Id: I86c3f9340077caa0a3e3db896e0519e7d38d91a0
ain.java
73ddf81522b8c47cd06f18507969dd0185d9eb9d 19-Apr-2016 Vladimir Marko <vmarko@google.com> Fix 570-checker-osr test for non-debuggable mode.

For non-debuggable mode, we need to create profiling info.

Bug: 28210356

(cherry picked from commit b9d338b96c804a077dc2ed60b36b7ab64dc2c78c)

Change-Id: I5044e94bf78bd982007c8e7a3a9e5ee56f861e9c
ain.java
3563c44464ca55b2106373b35110e5ecaae38abf 18-Apr-2016 Vladimir Marko <vmarko@google.com> Fix inlining loops in OSR mode.

When compiling a method in OSR mode and the method does not
contain a loop (arguably, a very odd case) but we inline
another method with a loop and then the final DCE re-runs
the loop identification, the inlined loop would previously
be marked as irreducible. However, the SSA liveness analysis
expects irreducible loop to have extra loop Phis which were
already eliminated from the loop before the inner graph was
inlined to the outer graph, so we would fail a DCHECK().

We fix this by not marking inlined loops as irreducible when
compiling in OSR mode.

Bug: 28210356

(cherry picked from commit fd66c50d64c38e40bafde83b4872e27bbff7546d)

Change-Id: I149273b766d1c713c571baad6033c5f70e6dd960
ain.java
1939a8866fccbef90167eeb644ba1fa517228ff9 07-Apr-2016 Vladimir Marko <vmarko@google.com> Add 20s timeout to 570-checker-osr.

It's better to report a timeout than to hang indefinitely.

Change-Id: Ibfa8059c8b44220c7a55801b020094fc342c8047
ain.java
b88d59ef4fe611fe47e50a6a19785e03bbd5f93b 17-Feb-2016 Nicolas Geoffray <ngeoffray@google.com> Be a bit smarter with JIT code triggering deoptimization.

Do not re-use an OSR method that triggered deoptimization.
Also add a stack overflow check before doing OSR.

bug:27094810
Change-Id: I6ff6a7fb9b3df9b7c0ff37e3610595efa70ad067
ain.java
d186dd8ecb1f25d3786d6b27adcd6b0b9ca04ea0 16-Feb-2016 Nicolas Geoffray <ngeoffray@google.com> Re-enable OSR.

1) Fix flaky test by doing explicit ProfilingInfo allocation,
and OSR compilation instead of relying on the system. Also
make sure the method $noinline$inlineCache always starts
with the interpreter, as otherwise we would infinite loop.

2) Ensure the thread doing the OSR cannot be suspended once it
holds an OSR method, as otherwise the jit code cache could
delete the method before the thread had a chance to jump to it.

Change-Id: Ic0dee181a7b23260419a94a7d7405f150433d31a
ain.java
17fccfb7b3d4f93c29c0c74bcbae54517f5af2ae 12-Feb-2016 Nicolas Geoffray <ngeoffray@google.com> Be less extreme on the iteration in 570-checker-osr.

Looks like otherwise it timeouts on buildbots.

Change-Id: I26f36e9dcd3368bdf326756fdd428e641db06f3b
ain.java
d9994f069dfeaa32ba929ca78816b5b83e2a4134 11-Feb-2016 Nicolas Geoffray <ngeoffray@google.com> Re-enable OSR.

Fixes two bugs:
- Dealing with proxy methods, which the compiler and code cache
does not handle.
- Dealing with phi types, that may have been speculatively optimized
but do not hold once jumping to the compiled code.

Change-Id: I7dcd9976ef7b12128fff95d2b7ed3e69cc42e90a
ain.java
b331febbab8e916680faba722cc84b66b84218a3 05-Feb-2016 Nicolas Geoffray <ngeoffray@google.com> Revert "Revert "Implement on-stack replacement for arm/arm64/x86/x86_64.""

This reverts commit bd89a5c556324062b7d841843b039392e84cfaf4.

Change-Id: I08d190431520baa7fcec8fbdb444519f25ac8d44
eoptimizationController.java
ain.java