OSDN Git Service
Nicolas Geoffray [Fri, 2 Oct 2015 16:14:53 +0000 (17:14 +0100)]
Change IllegalAccess/IncompatibleClassChange order.
This is to have the same order as ClassLinker::ResolveMethod. In
a JIT environment, hitting the dex cache would not make it to the
expected IllegalAccessError and we would throw the wrong exception.
Change-Id: Ifc70f1a93260a24e952fa7a659be1be5bdc666de
Nicolas Geoffray [Fri, 2 Oct 2015 11:39:37 +0000 (11:39 +0000)]
Merge "Fix lint error."
Nicolas Geoffray [Fri, 2 Oct 2015 11:38:40 +0000 (12:38 +0100)]
Fix lint error.
Change-Id: Icb10d23bdac6881b48d2025cac76dc130aefbf73
Nicolas Geoffray [Fri, 2 Oct 2015 10:36:22 +0000 (10:36 +0000)]
Merge "Test fails on mips."
Nicolas Geoffray [Fri, 2 Oct 2015 10:34:17 +0000 (10:34 +0000)]
Merge "Do more inlining when JITting."
Nicolas Geoffray [Fri, 2 Oct 2015 09:39:55 +0000 (10:39 +0100)]
Test fails on mips.
bug:
24596015
Change-Id: Iad6ab18b287b398af82b6a0574cb74204619755d
Nicolas Geoffray [Thu, 1 Oct 2015 13:34:20 +0000 (14:34 +0100)]
Do more inlining when JITting.
We now check the verification status of the class.
This triggered a bug when an inlined method was not compiled
(typically in a JIT configuration), and the path for deopting in
StackVisitor was using the wrong ArtMethod in order to know the
compiler that compiled the current frame.
Change-Id: I81d3ca0cf5cd3864b83b63dd954c58e1f2adaad4
Nicolas Geoffray [Fri, 2 Oct 2015 08:01:09 +0000 (08:01 +0000)]
Merge "Don't force the boot image to using quick."
Calin Juravle [Fri, 2 Oct 2015 06:40:57 +0000 (06:40 +0000)]
Merge "Fix x86_64 gtest."
Calin Juravle [Fri, 2 Oct 2015 06:27:51 +0000 (07:27 +0100)]
Fix x86_64 gtest.
Calling convention for setting a 64bit field changed.
The CL fixes the test for x86_64 and disable it for other arches.
Change-Id: Iea3df0965f65b10c59ed975f91ca8069fde6e13c
Calin Juravle [Fri, 2 Oct 2015 01:53:08 +0000 (01:53 +0000)]
Merge "Enable compilation of members with access check failures."
Calin Juravle [Fri, 2 Oct 2015 01:52:46 +0000 (01:52 +0000)]
Merge "Revert "Revert "Support unresolved fields in optimizing""
Calin Juravle [Thu, 17 Sep 2015 13:15:12 +0000 (14:15 +0100)]
Enable compilation of members with access check failures.
Change-Id: I0de73099b53612072c3e6f1235c22f96339fe440
Calin Juravle [Tue, 29 Sep 2015 03:52:17 +0000 (04:52 +0100)]
Revert "Revert "Support unresolved fields in optimizing"
The CL also changes the calling convetion for 64bit static field set
to use kArg2 instead of kArg1. This allows optimizing to keep
the asumptions:
- arm pairs are always of form (even_reg, odd_reg)
- ecx_edx is not used as a register on x86.
This reverts commit
e6f49b47b6a4dc9c7684e4483757872cfc7ff1a1.
Change-Id: I93159917565824084abc96775f31be1a4249f2f3
Mathieu Chartier [Fri, 2 Oct 2015 01:23:04 +0000 (01:23 +0000)]
Merge "Make SetStateUnsafe run checkpoints before going to suspended"
Mathieu Chartier [Thu, 1 Oct 2015 22:58:41 +0000 (15:58 -0700)]
Make SetStateUnsafe run checkpoints before going to suspended
This prevents cases where we can get a checkpoint request in runnable
and then unsafe set to suspended. This was bad behavior since the
checkpoint may not be run in a timely manner.
Bug:
24191051
Change-Id: I73605c1a1154f67699f3902141f3232ab064793f
Hiroshi Yamauchi [Fri, 2 Oct 2015 01:01:25 +0000 (01:01 +0000)]
Merge "Improvements for table lookup read barriers."
Hiroshi Yamauchi [Thu, 1 Oct 2015 03:12:11 +0000 (20:12 -0700)]
Improvements for table lookup read barriers.
- Implement fast paths for the GC root read barrier routines.
- Avoid unnecessary CAS operations.
Bug:
12687968
Change-Id: Iceef44e253062af5bf2295a521a9c64403deafe1
Mathieu Chartier [Thu, 1 Oct 2015 22:08:56 +0000 (22:08 +0000)]
Merge "Add more error printing to TransitionFromSuspendedToRunnable"
Andreas Gampe [Thu, 1 Oct 2015 22:05:49 +0000 (22:05 +0000)]
Merge "Revert "Revert "ART: Remove unnecessary SHARED_REQUIRES in ArtMethod"""
Mathieu Chartier [Thu, 1 Oct 2015 21:46:29 +0000 (14:46 -0700)]
Add more error printing to TransitionFromSuspendedToRunnable
Bug:
24191051
Change-Id: I5c66ba5c76bf86e8d603110989b9da883ca4ca65
Andreas Gampe [Thu, 1 Oct 2015 20:29:43 +0000 (20:29 +0000)]
Merge "MIPS64: Implement intrinsic java.lang.Thread.currentThread()"
Nicolas Geoffray [Thu, 1 Oct 2015 17:41:27 +0000 (17:41 +0000)]
Merge "Fix another poisoning problem."
Nicolas Geoffray [Thu, 1 Oct 2015 14:50:27 +0000 (15:50 +0100)]
Fix another poisoning problem.
We were using the wrong temp.
Change-Id: Id79d5079cc85f61eb1a45d741a67f24d33e8fa03
David Brazdil [Thu, 1 Oct 2015 14:16:40 +0000 (14:16 +0000)]
Merge "ART: Fix a static_cast int32_t -> uint64_t bug."
David Brazdil [Thu, 1 Oct 2015 13:32:56 +0000 (14:32 +0100)]
ART: Fix a static_cast int32_t -> uint64_t bug.
HConstant::GetValueAsUint64 is used by SsaChecker to verify that
equivalent phis are created only for untyped constants. The test
would fail because a static_cast would sign extend the value of the
IntConstant.
Bug:
24561315
Change-Id: I818ce6a2080994a7c4395d084c1df7fd615a246d
Nicolas Geoffray [Thu, 1 Oct 2015 10:47:57 +0000 (10:47 +0000)]
Merge "CUSTOM_TARGET_LINKER is set by the buildbot already."
Nicolas Geoffray [Thu, 1 Oct 2015 10:41:17 +0000 (10:41 +0000)]
Merge "Fix poisoining bug in arm64."
Nicolas Geoffray [Thu, 1 Oct 2015 09:32:19 +0000 (10:32 +0100)]
Don't force the boot image to using quick.
Instead, put the debuggable flag.
Also, remove obsolete ART_USE_OPTIMIZING_COMPILER environment
variable.
Change-Id: Idde00da0d063aa461faa0308134f3b420de9fe0a
Nicolas Geoffray [Thu, 1 Oct 2015 09:27:52 +0000 (10:27 +0100)]
Fix poisoining bug in arm64.
Change-Id: I30ca7f237009d81c9d83fabb6a4c76bf4c74d451
David Brazdil [Thu, 1 Oct 2015 08:57:17 +0000 (08:57 +0000)]
Merge "Mark one more Checker test broken for mips32"
David Brazdil [Thu, 1 Oct 2015 08:55:45 +0000 (09:55 +0100)]
Mark one more Checker test broken for mips32
Change-Id: I5289e91ff4b8bc530530eef000091c52f96fcc45
Nicolas Geoffray [Thu, 1 Oct 2015 07:34:40 +0000 (07:34 +0000)]
Merge "Optimize ArraySet for x86/x64/arm/arm64."
Andreas Gampe [Wed, 30 Sep 2015 20:05:24 +0000 (20:05 +0000)]
Revert "Revert "ART: Remove unnecessary SHARED_REQUIRES in ArtMethod""
This reverts commit
38b8287004770e4d20dcc0e0fe4697060917ec72.
Do not always use ScopedObjectAccess. The GC might call this during
sanity checking, at which point the state is not runnable, but the
mutator lock is still held.
Currently needs an ugly NO_THREAD_SAFETY_ANALYSIS helper, as the
assert isn't correctly handled (establishing the held mutator lock).
Change-Id: Ie79e85e2afedc9b989382d88155b09e426fe7f75
Andreas Gampe [Thu, 1 Oct 2015 00:30:40 +0000 (00:30 +0000)]
Merge "ART: Fix test"
Andreas Gampe [Thu, 1 Oct 2015 00:25:15 +0000 (17:25 -0700)]
ART: Fix test
Fix a missing rename after
89df7bfc41a4de9685f84e7db07f77db3fd485fc.
Change-Id: I67c8dfd45ff9d4d6b6b005df20c17ba4e453c378
Andreas Gampe [Wed, 30 Sep 2015 22:09:41 +0000 (22:09 +0000)]
Merge "ART: Refactor libarttest C++ code"
Kenny Root [Wed, 30 Sep 2015 21:42:02 +0000 (21:42 +0000)]
Merge "Tidy up spelling"
Hiroshi Yamauchi [Wed, 30 Sep 2015 21:33:53 +0000 (21:33 +0000)]
Merge "Use free lists instead of bitmaps within rosalloc runs."
Hiroshi Yamauchi [Thu, 24 Sep 2015 18:20:29 +0000 (11:20 -0700)]
Use free lists instead of bitmaps within rosalloc runs.
Speedups (CMS GC/N5)
BinaryTrees: 2008 -> 1694 ms (-16%)
MemAllocTest: 2303 -> 2076 ms (-10%)
TODO: Add assembly fast path code.
Bug:
9986565
Change-Id: I9dd7cbfd8e1ae083a399e70abaf2064a959f24fa
Andreas Gampe [Wed, 30 Sep 2015 20:13:21 +0000 (13:13 -0700)]
ART: Refactor libarttest C++ code
Refactor some libarttest JNI functions into a common directory, so
they can be easily used by multiple tests without code duplication.
This is preparation for better deoptimization state testing.
Change-Id: I43f7340b699b26930aabfd665c707e0485b17fc8
Kenny Root [Wed, 30 Sep 2015 20:09:51 +0000 (13:09 -0700)]
Tidy up spelling
To match the directory "compiler/optimizing" change the spelling of
comments.
Change-Id: I816da4836ce86f4a44ddd2754d8e788d77a27de3
Mathieu Chartier [Wed, 30 Sep 2015 18:34:18 +0000 (18:34 +0000)]
Merge "Revert "Revert "Keep internal stack trace methods declaring classes live"""
Nicolas Geoffray [Wed, 30 Sep 2015 17:48:51 +0000 (17:48 +0000)]
Merge "Don't use floating point callee saves in debuggable."
Vladimir Marko [Wed, 30 Sep 2015 17:46:01 +0000 (17:46 +0000)]
Merge "Optimizing: Tag even more arena allocations."
Nicolas Geoffray [Wed, 30 Sep 2015 16:18:14 +0000 (17:18 +0100)]
Don't use floating point callee saves in debuggable.
The runtime stubs don't save them, so GetVReg and SetVReg
won't work on them.
Not having callee saves will increase code size and reduce
performance of fp-heavy methods. But we need to do it for
propper debugging.
Change-Id: I40354c29718af49b6b3adf61d724d3bb93680107
Nicolas Geoffray [Fri, 25 Sep 2015 10:04:45 +0000 (11:04 +0100)]
Optimize ArraySet for x86/x64/arm/arm64.
Change-Id: I5bc8c6adf7f82f3b211f0c21067f5bb54dd0c040
Aart Bik [Wed, 30 Sep 2015 17:23:55 +0000 (17:23 +0000)]
Merge "Implemented trip-count safety information."
Mathieu Chartier [Wed, 30 Sep 2015 16:24:22 +0000 (09:24 -0700)]
Revert "Revert "Keep internal stack trace methods declaring classes live""
Fixed some code which used old stack trace representation in throwable.cc.
Bug:
22720414
This reverts commit
45a8522898702f6a725ae19d97bceedc8fc609a6.
Change-Id: I7385075caf649ce76da5d8866fd0031b9e8e5ef4
Aart Bik [Mon, 28 Sep 2015 23:25:56 +0000 (16:25 -0700)]
Implemented trip-count safety information.
As shown in the induction analysis presentation, trip-counts need to
deal with potential taken/not-taken situations (so that trip-count
is either valid in the full loop or just in the loop-body proper)
and potential finite/infinite situations (the latter can still be
analyzed but may need to run-time test later to guard against the
infinite conditions). This CL provides that information.
Change-Id: I0445d8e836b80a3614af217ce3e39d766e77b986
Nicolas Geoffray [Wed, 30 Sep 2015 12:41:47 +0000 (12:41 +0000)]
Merge "Make libcore timeout the same for all runs."
Nicolas Geoffray [Wed, 30 Sep 2015 11:02:21 +0000 (12:02 +0100)]
Make libcore timeout the same for all runs.
Looks like our mips32 devices need it too. Simply make
the timeout big enough for all run kinds.
Change-Id: I48a87eaef36c05e09c7ad82aaa003c7eb0d1ad6d
David Brazdil [Wed, 30 Sep 2015 10:59:28 +0000 (10:59 +0000)]
Merge "ART: Mark Checker tests broken for mips32"
David Brazdil [Wed, 30 Sep 2015 10:47:35 +0000 (11:47 +0100)]
ART: Mark Checker tests broken for mips32
We don't have a mips32 backend at the moment, so there is no graph
dump to run Checker on.
Change-Id: I9c90b93811aa7bbc849575ac1836c2d85da7e9ac
Nicolas Geoffray [Wed, 30 Sep 2015 09:20:32 +0000 (09:20 +0000)]
Merge "Revert "Revert "Enable optimizations with --debuggable."""
Nicolas Geoffray [Wed, 30 Sep 2015 08:15:15 +0000 (08:15 +0000)]
Merge "Add deoptimization test."
Nicolas Geoffray [Tue, 29 Sep 2015 18:00:03 +0000 (18:00 +0000)]
Revert "Revert "Enable optimizations with --debuggable.""
This reverts commit
b7d27a53cb280a943c0a63a9e0806cf8e3ae4cde.
Change-Id: I398c23863e4fd86a3112076417378d22efd08306
Nicolas Geoffray [Wed, 30 Sep 2015 07:20:50 +0000 (07:20 +0000)]
Merge "Revert "Keep internal stack trace methods declaring classes live""
Nicolas Geoffray [Wed, 30 Sep 2015 07:20:13 +0000 (07:20 +0000)]
Revert "Keep internal stack trace methods declaring classes live"
Breaks jdwp tests.
Bug:
22720414
This reverts commit
566fc926942ed57925627d1bd43e099938084f1e.
Change-Id: Ic3544e86af35bf748f9d47e0a4077dcdc206a821
Mathieu Chartier [Wed, 30 Sep 2015 01:17:00 +0000 (01:17 +0000)]
Merge "Keep internal stack trace methods declaring classes live"
Mathieu Chartier [Tue, 29 Sep 2015 17:21:55 +0000 (10:21 -0700)]
Keep internal stack trace methods declaring classes live
We now store the declaring classes in the internal stack trace to
make sure class unloading doesn't unload any classes owning methods
in the stack trace.
This fixes DexClassLoaderTest in libcore. Added regression test.
Bug:
22720414
Change-Id: I185f87c8ec0807e83f4661bd5bb5652dba6fc281
Andreas Gampe [Tue, 29 Sep 2015 22:22:40 +0000 (22:22 +0000)]
Merge "Revert "ART: Remove unnecessary SHARED_REQUIRES in ArtMethod""
Andreas Gampe [Tue, 29 Sep 2015 22:22:28 +0000 (22:22 +0000)]
Revert "ART: Remove unnecessary SHARED_REQUIRES in ArtMethod"
This reverts commit
6dd332933a570f5e413dd0d784481607798fbcf5.
Interestingly fails for sdk build.
Change-Id: I28d8fc05575ff1d744b4a831c32ef4414775561a
Andreas Gampe [Tue, 29 Sep 2015 21:18:07 +0000 (21:18 +0000)]
Merge "ART: Remove unnecessary SHARED_REQUIRES in ArtMethod"
Hiroshi Yamauchi [Tue, 29 Sep 2015 19:07:50 +0000 (19:07 +0000)]
Merge "Fix a mutator lock violation in the generic JNI end sequence."
Vladimir Marko [Tue, 29 Sep 2015 18:01:15 +0000 (19:01 +0100)]
Optimizing: Tag even more arena allocations.
Tag previously "Misc" arena allocations with more specific
allocation types. Move some native heap allocations to the
arena in BCE.
Bug:
23736311
Change-Id: If8ef15a8b614dc3314bdfb35caa23862c9d4d25c
Hiroshi Yamauchi [Tue, 29 Sep 2015 00:47:32 +0000 (17:47 -0700)]
Fix a mutator lock violation in the generic JNI end sequence.
artQuickGenericJniEndTrampoline() was accessing objects without a shared
mutator lock right after returning from a JNI call but before switching
to the runnable state.
This fixes crashes with table lookup read barriers enabled.
Bug:
12687968
Change-Id: I94ad9ca276750f58cb68b2fa9eb8cdeb371f021b
Andreas Gampe [Tue, 29 Sep 2015 18:21:43 +0000 (11:21 -0700)]
ART: Remove unnecessary SHARED_REQUIRES in ArtMethod
Move DCHECKs in GetAccessFlags into their own block and let them
acquire the mutator lock, if necessary. Then remove the old
annotations.
Change-Id: I29e24f17b001d0e16dc66c01a0f6450efb64ebc6
Nicolas Geoffray [Tue, 29 Sep 2015 17:30:24 +0000 (17:30 +0000)]
Merge "Revert "Enable optimizations with --debuggable.""
Nicolas Geoffray [Tue, 29 Sep 2015 17:30:10 +0000 (17:30 +0000)]
Revert "Enable optimizations with --debuggable."
Build error with gcc.
This reverts commit
43855ccb01703b188777fe59e1110e6a23803171.
Change-Id: I45abc7ee0943b2ad7bd644c88858891fc7a38ead
Nicolas Geoffray [Tue, 29 Sep 2015 17:05:26 +0000 (17:05 +0000)]
Merge "Enable optimizations with --debuggable."
Mathieu Chartier [Tue, 29 Sep 2015 17:04:17 +0000 (17:04 +0000)]
Merge "Address some code comments"
Vladimir Marko [Tue, 29 Sep 2015 16:33:44 +0000 (16:33 +0000)]
Merge "Optimizing: Simplify UShr+And, Shr+And."
Jongwon Lee [Thu, 3 Sep 2015 17:33:07 +0000 (02:33 +0900)]
Add deoptimization test.
Test passes with single frame deopt. If we were to deopt the whole
stack, we would need to record (interpreter-)live dex registers at
call sites.
Change-Id: Iebdce60be3fa1b0255fe2fa5ef0cf0b442e061f9
Signed-off-by: Jongwon Lee <jong.won.lee@samsung.com>
Nicolas Geoffray [Tue, 29 Sep 2015 14:43:06 +0000 (15:43 +0100)]
Enable optimizations with --debuggable.
Change-Id: I8979e59ee081222687fda1c93ac0bf3acbbad936
Nicolas Geoffray [Tue, 29 Sep 2015 15:18:29 +0000 (15:18 +0000)]
Merge "Fix a bug in DeadPhiHandling around conflicting phis."
Nicolas Geoffray [Tue, 29 Sep 2015 12:42:22 +0000 (13:42 +0100)]
Fix a bug in DeadPhiHandling around conflicting phis.
Change-Id: I44ec40f71a7e05eb4295bea55f6045cb86017329
Nicolas Geoffray [Tue, 29 Sep 2015 13:56:31 +0000 (14:56 +0100)]
CUSTOM_TARGET_LINKER is set by the buildbot already.
Change-Id: I5adac0256c6b9e24e832d3bdbbed6a2917389c08
Vladimir Marko [Tue, 29 Sep 2015 14:56:04 +0000 (14:56 +0000)]
Merge "Optimizing: Tag arena allocations in code generators."
Vladimir Marko [Fri, 25 Sep 2015 13:44:17 +0000 (14:44 +0100)]
Optimizing: Simplify UShr+And, Shr+And.
Eliminate And from UShr+And if the And-mask contains all the
bits that can be non-zero after UShr. Transform Shr+And to
UShr if the And-mask precisely clears the shifted-in sign
bits.
This prepares for detecting the Rotate pattern, i.e.
(x << N) | (x >>> (SIZE - N))
in code that unnecessarily masks the UShr, for example
(x << 1) | ((x >>> 31) & 1) ,
or uses Shr, for example
(x << 8) | ((x >> 24) & 0xff) .
Change-Id: I684c4b752547d9b1057d0d4c4d44550bb1a3ffb4
Vladimir Marko [Tue, 29 Sep 2015 10:37:49 +0000 (10:37 +0000)]
Merge "Quick: Avoid shifting -1 left (undefined behavior)."
Vladimir Marko [Tue, 29 Sep 2015 10:25:48 +0000 (11:25 +0100)]
Quick: Avoid shifting -1 left (undefined behavior).
C++11 clarifies that shifting left a negative value is
undefined behavior. Fix legacy code that shifted -1 left.
Bug:
24489455
Change-Id: Iaf4f26c7cde175f039b6a2cad12af6f0b1624fba
Vladimir Marko [Mon, 28 Sep 2015 11:17:40 +0000 (12:17 +0100)]
Optimizing: Tag arena allocations in code generators.
And completely remove the deprecated GrowableArray.
Replace GrowableArray with ArenaVector in code generators
and related classes and tag arena allocations.
Label arrays use direct allocations from ArenaAllocator
because Label is non-copyable and non-movable and as such
cannot be really held in a container. The GrowableArray
never actually constructed them, instead relying on the
zero-initialized storage from the arena allocator to be
correct. We now actually construct the labels.
Also avoid StackMapStream::ComputeDexRegisterMapSize() being
passed null references, even though unused.
Change-Id: I26a46fdd406b23a3969300a67739d55528df8bf4
Nicolas Geoffray [Tue, 29 Sep 2015 09:18:46 +0000 (09:18 +0000)]
Merge "Use dominance information for null optimization in write barrier."
Nicolas Geoffray [Mon, 28 Sep 2015 15:25:37 +0000 (16:25 +0100)]
Use dominance information for null optimization in write barrier.
Change-Id: I8b57dafcd321c9afa1bbfc6a0674cbea15cbf10c
Mathieu Chartier [Fri, 25 Sep 2015 23:54:59 +0000 (16:54 -0700)]
Address some code comments
Change-Id: I0a38a387c4328d45bbc04d095bf3388c27495c12
Andreas Gampe [Mon, 28 Sep 2015 22:40:18 +0000 (22:40 +0000)]
Merge "ART: Single-frame deopt"
Andreas Gampe [Wed, 3 Jun 2015 18:22:45 +0000 (11:22 -0700)]
ART: Single-frame deopt
Add deoptimization of a single frame. Works by removing the managed
code frame and jumping into the quick-to-interpreter bridge, and
the bridge understanding a stored ShadowFrame.
We need a separate fixup pass. For x86, we leave the return address
on the stack so we don't need to push it there.
Bug:
21611912
Change-Id: I06625685ced8b054244f8685ab50b238a705b9d2
Mathieu Chartier [Mon, 28 Sep 2015 17:52:52 +0000 (17:52 +0000)]
Merge "Don't unload shared libraries for null class loader."
Mathieu Chartier [Mon, 28 Sep 2015 17:33:00 +0000 (10:33 -0700)]
Don't unload shared libraries for null class loader.
If we load a shared library in the boot class loader (null),
then we create the SharedLibrary with a null class loader. We
shouldn't unload this shared library if the class loader decodes to
null since it may still be in use.
Fixes some hangs in gcstress tests.
Bug:
22720414
Change-Id: I52eca4cdba2c5ddd8e3dc7d133d253e5626c5b44
Chris Larsen [Fri, 4 Sep 2015 23:04:03 +0000 (16:04 -0700)]
MIPS64: Implement intrinsic java.lang.Thread.currentThread()
Change-Id: I45378414e5b6071dce9663ee42a2136874eba6ff
David Brazdil [Mon, 28 Sep 2015 15:23:06 +0000 (15:23 +0000)]
Merge "ART: Run arch specific Checker tests on host"
David Brazdil [Mon, 28 Sep 2015 15:15:50 +0000 (16:15 +0100)]
ART: Run arch specific Checker tests on host
The run-test script would not pass an architecture to Checker when
not in target mode and tests specific to x86(_64) would therefore not
be run.
Change-Id: Ibcbad0135e7a870e6ad3f09ab612fe276c97bcb8
Andreas Gampe [Mon, 28 Sep 2015 15:13:57 +0000 (15:13 +0000)]
Merge "ART: Use unique_ptr for alloca-ed ShadowFrames"
Nicolas Geoffray [Mon, 28 Sep 2015 15:11:19 +0000 (15:11 +0000)]
Merge "Use make TARGET_LINKER= instead of overriding linker flags."
Nicolas Geoffray [Mon, 28 Sep 2015 15:08:42 +0000 (16:08 +0100)]
Use make TARGET_LINKER= instead of overriding linker flags.
This solves building mips32 with gcc.
That's a temporary measure until we can set a custom target.
Change-Id: I1e8acfb0f5ca7e28d2ba3fb230b42800d5782973
David Brazdil [Mon, 28 Sep 2015 14:37:25 +0000 (14:37 +0000)]
Merge "ART: Fix DeadPhiHandling creating >2 equivalents"
David Brazdil [Mon, 28 Sep 2015 13:11:09 +0000 (14:11 +0100)]
ART: Fix DeadPhiHandling creating >2 equivalents
Run test 531 failed a DCHECK because the DeadPhiHandling algorithm
would generate three phis of the same type:
(0) loop phi [#0, ref] with equivalents void & object
(1) type object equivalent by its first input => int & int
(2) request object equivalent by a user => int & int & object
(3) type second => int & object & object (dead)
(4) type first => object & object & object
This patch fixes the issue by skipping (1) when the phi already has
a type, thus not creating the third equivalent for the phi's user.
Change-Id: I00c990a5982ddc1f7de013f72bbcfb1c649a6e5f
David Brazdil [Mon, 28 Sep 2015 12:22:17 +0000 (12:22 +0000)]
Merge "Address HPackedSwitch issues raised after merge"
Mark Mendell [Thu, 24 Sep 2015 12:43:40 +0000 (08:43 -0400)]
Address HPackedSwitch issues raised after merge
There were some stylistic comments about the merged files. Fix those.
Add a test that PackedSwitch can be removed by DCE.
Change-Id: Idf45833956e9b58051f942a52b06a1e416606e2e
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>