OSDN Git Service
Vladimir Marko [Mon, 15 Feb 2016 18:39:47 +0000 (18:39 +0000)]
Merge "Optimizing: Remove unnecessary And before TypeConversion."
David Brazdil [Mon, 15 Feb 2016 18:24:16 +0000 (18:24 +0000)]
Merge "Fix broken tests"
David Brazdil [Mon, 15 Feb 2016 18:20:01 +0000 (18:20 +0000)]
Fix broken tests
Change-Id: I9d0f1064e8cd63045283445946c46594a50d4b84
Vladimir Marko [Mon, 15 Feb 2016 17:33:36 +0000 (17:33 +0000)]
Merge "ART: Fix ArenaStack::AllocWithMemoryTool()."
Vladimir Marko [Mon, 15 Feb 2016 10:13:11 +0000 (10:13 +0000)]
ART: Fix ArenaStack::AllocWithMemoryTool().
MEMORY_TOOL_MAKE_NOACCESS() takes the size of the address
range as the second argument, not the end the range.
Bug:
27156726
Change-Id: I05c8224a1d3c619919b203f407fb770c7c49cc9f
David Brazdil [Mon, 15 Feb 2016 17:15:21 +0000 (17:15 +0000)]
Merge "Fix lint error"
David Brazdil [Mon, 15 Feb 2016 17:14:31 +0000 (17:14 +0000)]
Fix lint error
Change-Id: I6f7785abece7ead31b4737fc6b54712c26582e2b
Nicolas Geoffray [Mon, 15 Feb 2016 16:32:16 +0000 (16:32 +0000)]
Merge "Expect less in the presence of a string init call."
Nicolas Geoffray [Mon, 15 Feb 2016 16:29:37 +0000 (16:29 +0000)]
Merge "Add an option to disable native stack dumping on SIGQUIT."
Nicolas Geoffray [Mon, 15 Feb 2016 13:05:16 +0000 (13:05 +0000)]
Add an option to disable native stack dumping on SIGQUIT.
Some of our (stress) run-tests do ANR dumping, which end up
stressing libunwind, that has known problems. To avoid getting
flakes due to libunwind, disable native stack dumping on SIGQUIT
for our run-tests.
bug:
27185632
bug:
24664297
Change-Id: I69085e48db903d6240448d71666ae2dcd091922e
Nicolas Geoffray [Mon, 15 Feb 2016 15:56:11 +0000 (15:56 +0000)]
Expect less in the presence of a string init call.
The compiler currently relies on the dex cache being populated
for doing proper type propagation. If it hasn't, we may end up in the
situation where the DexMethodInliner has recognized a String.<init> call
(because DexMethodInliner only looks at signatures, and does not resolve
types), but the graph builder doesn't see a type and assume it needs
to do access checks and clinit checks on it.
Change-Id: Id79313b0610b127909e3e057305b6632b0b172f7
David Brazdil [Mon, 15 Feb 2016 16:12:32 +0000 (16:12 +0000)]
Merge "ART: Run SsaBuilder from HGraphBuilder"
David Brazdil [Mon, 15 Feb 2016 15:53:55 +0000 (15:53 +0000)]
Merge "ART: Implement HSelect with CSEL/FCSEL on arm64"
Vladimir Marko [Mon, 15 Feb 2016 15:39:47 +0000 (15:39 +0000)]
Merge "Optimizing: Simplify consecutive type conversions."
Vladimir Marko [Fri, 12 Feb 2016 16:53:57 +0000 (16:53 +0000)]
Optimizing: Remove unnecessary And before TypeConversion.
For example `(byte) (x & 0xff)` doesn't need the `& 0xff`.
Bug:
23965701
Change-Id: I5fc8419491aff2cdc7074451e74e873b5f582d41
Vladimir Marko [Fri, 12 Feb 2016 12:06:05 +0000 (12:06 +0000)]
Optimizing: Simplify consecutive type conversions.
Merge two consecutive type conversions to one if the result
of such merged conversion is guaranteed to be the same and
remove all implicit conversions, not just conversions to the
same type. Improve codegens to handle conversions from long
to integral types smaller than int.
This will make it easier to simplify `(byte) (x & 0xffL)` to
`(byte) x` where the conversion from long to byte is done by
two dex instructions, long-to-int and in int-to-byte.
Bug:
23965701
Change-Id: I833f193556671136ad2cd3f5b31cdfbc2d99c19d
Neil Fuller [Mon, 15 Feb 2016 13:17:04 +0000 (13:17 +0000)]
Merge "Switch the tests to using Jack for compilation"
David Brazdil [Mon, 8 Feb 2016 14:20:45 +0000 (14:20 +0000)]
ART: Implement HSelect with CSEL/FCSEL on arm64
Change-Id: I549af0cba3c5048066a2d1206b78a70b496d349e
David Brazdil [Mon, 15 Feb 2016 12:53:59 +0000 (12:53 +0000)]
Merge "X86_64: Allow HSelect to generate CMOV from memory"
Mark Mendell [Fri, 12 Feb 2016 19:36:51 +0000 (14:36 -0500)]
X86_64: Allow HSelect to generate CMOV from memory
Use the cmov with Address operand to allow CMOV from stack location.
Change-Id: Ia2f856c7b5003c413f23adaabe19be06f38c78ab
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
David Brazdil [Mon, 15 Feb 2016 11:47:57 +0000 (11:47 +0000)]
Merge "Add X86/X86_64 support for CMOV from memory."
Narayan Kamath [Mon, 15 Feb 2016 10:35:45 +0000 (10:35 +0000)]
Merge "Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm."
Narayan Kamath [Fri, 12 Feb 2016 16:09:58 +0000 (16:09 +0000)]
Add MODULE_LICENSE_GPL.. for art/runtime/openjdkjvm.
This needs a companion makefile that declares a no-op module
so that the build system can leach of its LOCAL_PATH to collect
all subdirectory sources.
bug:
27160386
(cherry picked from commit
9a3a10ac819f456f7bcc626046342a845902fe96)
Change-Id: Ib11845c2172aad272c45ec2a3b4b2f7d508c1596
David Brazdil [Tue, 2 Feb 2016 16:28:56 +0000 (16:28 +0000)]
ART: Run SsaBuilder from HGraphBuilder
First step towards merging the two passes, which will later result in
HGraphBuilder directly producing SSA form. This CL mostly just updates
tests broken by not being able to inspect the pre-SSA form.
Using HLocals outside the HGraphBuilder is now deprecated.
Bug:
27150508
Change-Id: I00fb6050580f409dcc5aa5b5aa3a536d6e8d759e
Nicolas Geoffray [Mon, 15 Feb 2016 10:17:38 +0000 (10:17 +0000)]
Merge "Don't call IsNative if the declaring class can be null."
Nicolas Geoffray [Mon, 15 Feb 2016 10:01:24 +0000 (10:01 +0000)]
Merge "Disable on stack replacement for now."
Nicolas Geoffray [Mon, 15 Feb 2016 10:00:42 +0000 (10:00 +0000)]
Disable on stack replacement for now.
Change-Id: I7b57252d4872e8c280e95de4ad4ff55a3ca22685
Nicolas Geoffray [Sat, 13 Feb 2016 12:38:36 +0000 (12:38 +0000)]
Don't call IsNative if the declaring class can be null.
There's a check down below the IsNative call that makes
sure the declaring class is not null.
Change-Id: I744bf01105eadeea9893ae626970c4b6b2f64a8b
Andreas Gampe [Sat, 13 Feb 2016 00:27:00 +0000 (00:27 +0000)]
Merge "ART: Simplify patchoat"
Andreas Gampe [Thu, 11 Feb 2016 04:18:37 +0000 (20:18 -0800)]
ART: Simplify patchoat
Removed unused configurations. Cut out cruft that isn't used anymore
since multi-image. Make it smaller to not require new selinux
permissions for OTAs.
Split up the main function, to make the flow clearer for image vs
app/oat.
Bug:
25612095
Bug:
26317072
(cherry picked from commit
02bc0b70beedfe258c2147c2b4a205fbf3d6eebc)
Change-Id: Ieb55bd1a13cbb44fd0e2979a8a61a509df9c1e7e
Alex Light [Fri, 12 Feb 2016 23:47:43 +0000 (23:47 +0000)]
Merge "Fix bug with verification of constructors"
Alex Light [Fri, 12 Feb 2016 19:01:54 +0000 (11:01 -0800)]
Fix bug with verification of constructors
We would incorrectly allow the storing of values into superclass
fields before the superclass constructor was called.
Bug:
26965384
Change-Id: I45b824fbdbfc133663ed6d3306853595b5dc9262
Aart Bik [Fri, 12 Feb 2016 22:11:59 +0000 (22:11 +0000)]
Merge "Generalized "dom-based" dynamic BCE to symbolic base + offset."
Aart Bik [Tue, 9 Feb 2016 22:26:34 +0000 (14:26 -0800)]
Generalized "dom-based" dynamic BCE to symbolic base + offset.
Rationale:
So far, if all others failed, BCE would use a dominator-based
dynamic deoptimization to eliminate bounds checks in e.g. a[0],
a[1], a[2], etc. This CL generalizes this to any symbolic base
with offset in e.g. a[base], a[base+1], etc. The runtime tests
(two for symbolic, one for constant) carefully account for
arithmetic wrap-around.
bug=
26680114
Change-Id: I7432a200fd69791914ed776c77fa62567b5863c0
Mark Mendell [Fri, 12 Feb 2016 18:49:03 +0000 (13:49 -0500)]
Add X86/X86_64 support for CMOV from memory.
Add support for the memory form of CMOV. Add tests.
Change-Id: Ib9f5dbd3031c7e235ee3f2afdb7db75eed46277a
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Mathieu Chartier [Fri, 12 Feb 2016 17:56:29 +0000 (17:56 +0000)]
Merge "Fix app image memory leak"
Mathieu Chartier [Fri, 12 Feb 2016 00:27:18 +0000 (16:27 -0800)]
Fix app image memory leak
There was a memory leak if we failed to add an image space, this
was caused by releasing ownership without adding it to the heap.
Bug:
22858531
Change-Id: Ia3c97ec822ca5362f52008e813fa434107198bc9
David Brazdil [Fri, 12 Feb 2016 17:24:39 +0000 (17:24 +0000)]
Merge "Fix run-test"
David Brazdil [Fri, 12 Feb 2016 17:22:24 +0000 (17:22 +0000)]
Fix run-test
Change-Id: I69b7d9af864e7a34c039630b3c3c8929ce04b658
Nicolas Geoffray [Fri, 12 Feb 2016 16:53:40 +0000 (16:53 +0000)]
Merge "Be less extreme on the iteration in 570-checker-osr."
Nicolas Geoffray [Fri, 12 Feb 2016 16:52:16 +0000 (16:52 +0000)]
Be less extreme on the iteration in 570-checker-osr.
Looks like otherwise it timeouts on buildbots.
Change-Id: I26f36e9dcd3368bdf326756fdd428e641db06f3b
David Brazdil [Fri, 12 Feb 2016 16:34:49 +0000 (16:34 +0000)]
Merge "ART: Remove HTemporary"
David Brazdil [Fri, 12 Feb 2016 15:47:53 +0000 (15:47 +0000)]
Merge "ART: Treat throw with non-reference type as hard failure in verifier."
Pavel Vyssotski [Thu, 11 Feb 2016 14:28:11 +0000 (20:28 +0600)]
ART: Treat throw with non-reference type as hard failure in verifier.
The code
const v0, 0xbad
throw v0
crashes dex2oatd/Quick by DCHECK in art::Mir2Lir::LoadValueDirect.
dex2oat works fine producing VerifyError later in runtime.
Optimizing also pass as it rejects methods with soft failures.
Fix this by rejecting such methods in Verifier.
Bug:
27148248
Change-Id: Ib783f60a210362654d40e84172e7bd579913a4d4
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
David Brazdil [Tue, 2 Feb 2016 16:15:27 +0000 (16:15 +0000)]
ART: Remove HTemporary
Change-Id: I21b984224370a9ce7a4a13a9652503cfb03c5f03
Neil Fuller [Wed, 10 Feb 2016 13:09:10 +0000 (13:09 +0000)]
Switch the tests to using Jack for compilation
Bug:
27115876
Change-Id: Ibe387dc8419587ef977e4711b051612e7037d896
Nicolas Geoffray [Fri, 12 Feb 2016 13:25:56 +0000 (13:25 +0000)]
Merge "Re-enable OSR."
Nicolas Geoffray [Fri, 12 Feb 2016 12:32:53 +0000 (12:32 +0000)]
Merge "Fix compiler driver gtest."
Calin Juravle [Fri, 5 Feb 2016 19:44:05 +0000 (19:44 +0000)]
Fix compiler driver gtest.
(cherry picked from commit
35c4e0b2ad573e820d6e9d461a571af300611d36)
Change-Id: Ia59f4463a6158f7a949debd7a93f35fa633cd36a
Nicolas Geoffray [Fri, 12 Feb 2016 12:00:10 +0000 (12:00 +0000)]
Merge "Store relative paths in the profile file"
Calin Juravle [Fri, 5 Feb 2016 16:19:19 +0000 (16:19 +0000)]
Store relative paths in the profile file
Bug:
26409579
Bug:
26080105
(cherry picked from commit
f06d6bc0d083d383371aeb1f0d97249f3e20fc25)
Change-Id: I7eeea06e7df49a7f8af4c4cb71da58c21f1c185b
Nicolas Geoffray [Thu, 11 Feb 2016 17:35:55 +0000 (17:35 +0000)]
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
Hiroshi Yamauchi [Thu, 11 Feb 2016 21:39:41 +0000 (21:39 +0000)]
Merge "Fix x86-64 Baker's read barrier fast path for CheckCast."
Mingyao Yang [Thu, 11 Feb 2016 19:27:37 +0000 (19:27 +0000)]
Merge "Some clean-up for the handling of HSelect in LSE"
Roland Levillain [Thu, 11 Feb 2016 19:07:30 +0000 (19:07 +0000)]
Fix x86-64 Baker's read barrier fast path for CheckCast.
Use an art::x86_64::Label instead of an
art::x86_64::NearLabel as end label when emitting code for a
HCheckCast instruction, as the range of the latter may
sometimes be too short when Baker's read barriers are
enabled.
Bug:
12687968
Change-Id: Ia9742dce65be7d4fb104688f3c4717b65df1fb54
Roland Levillain [Thu, 11 Feb 2016 15:22:52 +0000 (15:22 +0000)]
Merge "Make run test 572-checker-array-get-regression gcstress friendly."
Roland Levillain [Thu, 11 Feb 2016 12:50:41 +0000 (12:50 +0000)]
Make run test 572-checker-array-get-regression gcstress friendly.
The large array allocated in
test/572-checker-array-get-regression/src/Main.java used to
be too big for the small heap used in gcstress mode. Use a
smaller array size that however still exercises the initial
issue checked by this regression test.
Bug:
26817006
Bug:
12687968
Change-Id: Id7080a18007cad9b5d4ac31b45f7df46213a908e
Nicolas Geoffray [Thu, 11 Feb 2016 11:41:19 +0000 (11:41 +0000)]
Merge "Fix AllocateBlockedReg."
Nicolas Geoffray [Thu, 11 Feb 2016 11:40:11 +0000 (11:40 +0000)]
Merge "Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""""
Nicolas Geoffray [Thu, 11 Feb 2016 11:39:37 +0000 (11:39 +0000)]
Revert "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""
Unfortunately, run-test interpreter on arm32 are still timing out, and the following jdwp tests on armv8 are failing:
org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testBreakpoint_BeforeException (no test history available)
org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testFieldAccess (no test history available)
org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testFieldModification (no test history available)
org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testMethodExit (no test history available)
org.apache.harmony.jpda.tests.jdwp.Events.EventWithExceptionTest#testMethodExitWithReturnValue (no test history available)
org.apache.harmony.jpda.tests.jdwp.Events.FieldAccessTest#testFieldAccessEvent (no test history available)
org.apache.harmony.jpda.tests.jdwp.Events.FieldModification002Test#testFieldModifyEvent (no test history available)
org.apache.harmony.jpda.tests.jdwp.Events.FieldModificationTest#testFieldModifyEvent (no test history available)
org.apache.harmony.jpda.tests.jdwp.Events.MethodExitWithReturnValueTest#testMethodExitWithReturnValueException (no test history available)
This reverts commit
9687f244bdb5dd0b4d9dd804a7c8c7b4a911d364.
Change-Id: Iadac4902ab8d7eb574cc4abeba5f93388d59dcb4
Mathieu Chartier [Wed, 10 Feb 2016 22:59:54 +0000 (22:59 +0000)]
Merge "Always visit ProfilingInfo, the counter could be reset."
Bill Buzbee [Wed, 10 Feb 2016 22:42:02 +0000 (22:42 +0000)]
Merge "Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64"""
Bill Buzbee [Wed, 10 Feb 2016 21:50:37 +0000 (21:50 +0000)]
Merge "ART: Fix arm mterp shadow handling"
buzbee [Wed, 10 Feb 2016 16:59:12 +0000 (08:59 -0800)]
ART: Fix arm mterp shadow handling
The shadow frame conventions for the interpreter require that any
time a virtual register is set, a corresponding shadow register
must also be set (cleared if non-reference). The arm Mterp
implementation was failing to do this for some 64-bit operations.
Change-Id: Iee174d54318bf6ebb677966ad020d8cbe578986c
Vladimir Marko [Wed, 10 Feb 2016 14:18:20 +0000 (14:18 +0000)]
Merge "ART/Thumb2: Disassemble SBFX/UBFX."
Vladimir Marko [Wed, 10 Feb 2016 12:52:59 +0000 (12:52 +0000)]
ART/Thumb2: Disassemble SBFX/UBFX.
Change-Id: I856206de81f41959f68de0653db021903dd1a210
Roland Levillain [Wed, 10 Feb 2016 12:41:32 +0000 (12:41 +0000)]
Merge "Fix run test 572-checker-array-get-regression on 32-bit archs."
Roland Levillain [Wed, 10 Feb 2016 12:33:29 +0000 (12:33 +0000)]
Fix run test 572-checker-array-get-regression on 32-bit archs.
HCurrentMethod instructions are typed as long on 64-bit
architectures, but as integer on 32-bit ones.
Bug:
26817006
Bug:
12687968
Change-Id: Icec2f0b0629c0af7a7afeabb0fd2881babb86368
Roland Levillain [Wed, 10 Feb 2016 11:51:54 +0000 (11:51 +0000)]
Merge "Fix ARM64 Baker's read barrier fast path for ArraySet."
Vladimir Marko [Wed, 10 Feb 2016 09:44:52 +0000 (09:44 +0000)]
Merge "Try to substitute constructor chains for IPUTs."
Bill Buzbee [Tue, 9 Feb 2016 21:29:52 +0000 (21:29 +0000)]
Merge "Mterp: Fix and restore mac host build"
Vladimir Marko [Thu, 4 Feb 2016 19:46:56 +0000 (19:46 +0000)]
Try to substitute constructor chains for IPUTs.
Match a constructor chain where each constructor either
forwards some or all of its arguments to the next (i.e.
superclass constructor or a constructor in the same class)
and may pass extra zeros (of any type, including null),
followed by any number of IPUTs on "this", storing either
arguments or zeros, until we reach the contructor of
java.lang.Object.
When collecting IPUTs from the constructor chain, remove
any IPUTs that store the same field as an IPUT that comes
later. This is safe in this case even if those IPUTs store
volatile fields because the uninitialized object reference
wasn't allowed to escape yet. Also remove any IPUTs that
store zero values as the allocated object is already zero
initialized.
Change-Id: If93022310bf04fe38ee741665ac4a65d4c2bb25f
Andreas Gampe [Tue, 9 Feb 2016 18:54:02 +0000 (18:54 +0000)]
Merge "ART: Give better error messages in dex-file verifier"
Vladimir Marko [Tue, 9 Feb 2016 18:47:23 +0000 (18:47 +0000)]
Merge "ARM: Add direct calls to math intrinsics"
Andreas Gampe [Tue, 9 Feb 2016 17:21:04 +0000 (09:21 -0800)]
ART: Give better error messages in dex-file verifier
Try to decode field and method names when an access-flag violation
has been found. This is not guaranteed to work, if the file is
broken enough.
Bug:
27064244
Bug:
27070841
Change-Id: Ie913076462e958d4f21b481631bc874cf6f67c0d
Bill Buzbee [Fri, 5 Feb 2016 14:08:10 +0000 (14:08 +0000)]
Revert "Revert "ART: Enable Jit Profiling in Mterp for arm/arm64""
Fixes: missing sign extension in iget template
Call to wrong branch profiling helper in arm/goto_16 and arm/goto_32
Missing export PCs
Reworks: Branch handlers to reduce cost of branch profiling.
Re-enables Jit profiling for both Arm and Arm64.
Performance note:
Branch profiling is relatively expensive, though the real
cost will depend on branch frequency. Taking a very
branch intensive benchmark, CaffeineMark's logic test, we
see the following scores (higher is better):
Mterp (profiling off) 6187
Mterp (profiling on) 4305
Switch (profiling off) 3931
Switch (profiling on) 2032
This reverts commit
95717f0010e7a9445450f4d39babfaf3a83e29b5.
Change-Id: Ia2ef8b54ce95bfa86178b89c43f8a703316b2944
Narayan Kamath [Tue, 9 Feb 2016 14:22:51 +0000 (14:22 +0000)]
Merge "openjdkjvm: Don't leak the results of JVM_RawMonitorCreate."
Narayan Kamath [Tue, 9 Feb 2016 13:11:09 +0000 (13:11 +0000)]
openjdkjvm: Don't leak the results of JVM_RawMonitorCreate.
bug:
27050501
Change-Id: Ib0db3e5a1ec412de07455f09fe88b3102b347e46
Roland Levillain [Tue, 9 Feb 2016 12:49:18 +0000 (12:49 +0000)]
Fix ARM64 Baker's read barrier fast path for ArraySet.
Do not exhaust the pool of scratch (temporary) registers
gratuitously when emitting an instrumented array load with a
large constant index.
Bug:
26817006
Bug:
12687968
Change-Id: I65a4fe676aa3c9e2c8d7e26195d9af6432c83ff9
Narayan Kamath [Tue, 9 Feb 2016 11:34:26 +0000 (11:34 +0000)]
Merge "openjdkjvm: clean up verbose logging."
Narayan Kamath [Fri, 5 Feb 2016 14:58:02 +0000 (14:58 +0000)]
openjdkjvm: clean up verbose logging.
bug:
26994173
Change-Id: I4b55d68fa89737e25e9d7b10b335423b3ea4bef2
Mingyao Yang [Wed, 3 Feb 2016 13:46:57 +0000 (05:46 -0800)]
Some clean-up for the handling of HSelect in LSE
Use $noinline and throwing an Exception for doing no-inlining in
the test.
Also create reference info early for HSelect if it has reference
type, which may help the pre-existence-based alias analysis.
Change-Id: Ia825058a457b049f87a13087bb78f5233513e0a8
Hiroshi Yamauchi [Tue, 9 Feb 2016 02:19:30 +0000 (02:19 +0000)]
Merge "Check pages are readable after mprotect for SEGV_ACCERR diagnosis"
Hiroshi Yamauchi [Mon, 8 Feb 2016 22:18:21 +0000 (14:18 -0800)]
Check pages are readable after mprotect for SEGV_ACCERR diagnosis
We have a suspected mprotect issue where we see seg faults after pages
are mprotected with PROT_READ|PROT_WRITE with the SS collector on
host. This change attempts to see if earlier reads would cause faults
similarly.
Bug:
19894268
Change-Id: I041a663c6b55b747120915f73a0db5f566744ed8
Alex Light [Mon, 8 Feb 2016 21:54:56 +0000 (21:54 +0000)]
Merge "Default methods should not be found by getDeclaredMethod"
Tamas Berghammer [Mon, 8 Feb 2016 20:26:26 +0000 (20:26 +0000)]
Merge "Revert "Make it possible to enable native debugging through debug flags""
Tamas Berghammer [Mon, 8 Feb 2016 20:21:54 +0000 (20:21 +0000)]
Revert "Make it possible to enable native debugging through debug flags"
The change causes issues in test-art-target-gtest-jni_internal_test32
This reverts commit
c94a61f06ffc13288c67891048128c987b29bf33.
Change-Id: Iecfe3c6874d7b0dd59f10156fe2eb743ab7221dc
Alex Light [Mon, 8 Feb 2016 18:30:04 +0000 (10:30 -0800)]
Default methods should not be found by getDeclaredMethod
We were incorrectly returning default methods from getDeclaredMethod
calls on an implementing class that uses the default implementation.
Bug:
27060609
Change-Id: I2e07023a11585e5f7cd92c4c0e1263f54aea1f5f
Tamas Berghammer [Mon, 8 Feb 2016 17:01:58 +0000 (17:01 +0000)]
Merge "Make it possible to enable native debugging through debug flags"
David Srbecky [Mon, 8 Feb 2016 12:49:09 +0000 (12:49 +0000)]
Merge "Split elf_writer_debug.cc to several files."
David Srbecky [Fri, 5 Feb 2016 15:49:10 +0000 (15:49 +0000)]
Split elf_writer_debug.cc to several files.
Refactoring only. The file has grown significantly over time,
and it is time to split it so it can be better managed.
Change-Id: Idce0231718add722292f4701df353d5baf31de5f
David Srbecky [Mon, 8 Feb 2016 12:46:10 +0000 (12:46 +0000)]
Merge "Move code related to debug info generation to its own directory."
David Srbecky [Fri, 5 Feb 2016 13:34:46 +0000 (13:34 +0000)]
Move code related to debug info generation to its own directory.
debug/dwarf/ contains helper classes which hide the details
of the DWARF file format. It acts as independent DWARF library.
debug/ contains ART-specific code which generates ELF debug
sections (which includes non-DWARF sections like .symtab).
Change-Id: Id351f604e4e64be2ca395a78324ea02e30481497
Tamas Berghammer [Fri, 5 Feb 2016 18:09:08 +0000 (18:09 +0000)]
Make it possible to enable native debugging through debug flags
* Add support for a new debug flag disabling the optimizations in
the compiler and enable the generation of some additional debug
info (--native-debuggable).
* Ignore the content of the oat files if force JIT is enabled so
the runtime ignores the AOT-ed code what doesn't contain any
debug info.
Time measurements on a Nexus 5 with running:
am start -n com.facebook.katana/com.facebook.katana.LoginActivity -W
Before change: | AVG | DEV
--------------------------------------
ThisTime: 549 492 512 511 | 516 | 24
TotalTime: 549 492 512 511 | 516 | 24
WaitTime: 662 511 528 526 | 557 | 71
After change: | AVG | DEV
--------------------------------------
ThisTime: 530 467 503 544 | 511 | 34
TotalTime: 530 467 503 544 | 511 | 34
WaitTime: 551 497 536 583 | 541 | 36
Based on the numbers the speed impact of the change is less then the
accuracy of the measurement and it is also negligible.
The minor speed improvement displayed in the measurements are just
the cause of the variance of the measurement and not caused by this
change.
Change-Id: Ia9022cbc1bbfcc072314b6c95f63a4bf8060c36c
Serguei Katkov [Thu, 28 Jan 2016 02:21:26 +0000 (08:21 +0600)]
Mterp: Fix and restore mac host build
The following issues are fixed:
- Macro literal
- macro args should be comma separated
- no .type and .size for mac host build
- globals are _ prefixed
Change-Id: I28ef9138d5db06a6917a66b401c629bf66fac193
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Nicolas Geoffray [Sun, 7 Feb 2016 23:24:10 +0000 (23:24 +0000)]
Merge "Disable osr while investigating flakiness."
Nicolas Geoffray [Sun, 7 Feb 2016 13:13:33 +0000 (13:13 +0000)]
Disable osr while investigating flakiness.
org.apache.harmony.tests.java.util.TreeMapRndTest#testPutAll fails
in debug mode.
Change-Id: Idd15b25a236d4e5d3eb6d83ac0c038c1e10ee55a
Nicolas Geoffray [Sun, 7 Feb 2016 12:48:28 +0000 (12:48 +0000)]
Always visit ProfilingInfo, the counter could be reset.
The counter could be reset or overflow, but we may have
inline caches populated.
bug:
26775558
Change-Id: I0566b6b4a7bf8dfb3411492c0413eafbf39da7c3
Nicolas Geoffray [Sat, 6 Feb 2016 17:01:15 +0000 (17:01 +0000)]
Fix AllocateBlockedReg.
Motivated by System.arraycopy(char) for x86, where only looking
at use and not register use makes the allocator think it's out
of registers.
bug:
27019403
Change-Id: I0db5bc839a77e6394a07facbf19d00a165dc2ef7
Christopher Ferris [Sat, 6 Feb 2016 00:56:50 +0000 (00:56 +0000)]
Merge "Newer kernels added SEGV_BNDERR."