OSDN Git Service
Alex Light [Fri, 20 Nov 2015 17:53:10 +0000 (17:53 +0000)]
Merge "Use arc4random when available to select delta for image relocation."
am:
039404cb8d
* commit '
039404cb8d6b994e6fc247d287a0efa45c7362d4':
Use arc4random when available to select delta for image relocation.
Alex Light [Fri, 20 Nov 2015 17:48:47 +0000 (17:48 +0000)]
Merge "Use arc4random when available to select delta for image relocation."
David Srbecky [Fri, 20 Nov 2015 17:41:22 +0000 (17:41 +0000)]
Merge "Encode function signatures properly in DWARF."
am:
b9ededb3b5
* commit '
b9ededb3b5c5422a925bb0e3b4b54ae95bf371fd':
Encode function signatures properly in DWARF.
David Srbecky [Fri, 20 Nov 2015 17:37:16 +0000 (17:37 +0000)]
Merge "Encode function signatures properly in DWARF."
David Srbecky [Mon, 9 Nov 2015 18:05:48 +0000 (18:05 +0000)]
Encode function signatures properly in DWARF.
The signatures were previously stored as plain string.
The proper way in DWARF is to store them as structured tree of tags.
(for example, DW_TAG_subprogram containing DW_TAG_formal_parameter)
Note that this makes the debug sections smaller since DWARF
signatures are actually more efficient than just plain strings.
Change-Id: I6afbce28340570666d8674d07c0e324aad561dd5
David Brazdil [Fri, 20 Nov 2015 15:45:47 +0000 (15:45 +0000)]
Merge "Opt compiler: More strength reduction for multiplications."
am:
60c4c6ad2b
* commit '
60c4c6ad2b892bb00a6016a147b1cc089ba6bcb5':
Opt compiler: More strength reduction for multiplications.
David Brazdil [Fri, 20 Nov 2015 15:43:58 +0000 (15:43 +0000)]
Merge "Opt compiler: More strength reduction for multiplications."
Alexandre Rames [Fri, 20 Nov 2015 15:02:45 +0000 (15:02 +0000)]
Opt compiler: More strength reduction for multiplications.
We transform code looking like
MUL dst, src, (2^n + 1)
into
SHL tmp, src, n
ADD dst, src, tmp
and code looking like
MUL dst, src, (2^n - 1)
into
SHL tmp, src, n
SUB dst, tmp, src
Change-Id: Ia620ab68758caa70a01530b88cd65dd0444376d7
Vladimir Marko [Fri, 20 Nov 2015 10:56:01 +0000 (10:56 +0000)]
Merge "Clean up the special input in HInvokeStaticOrDirect."
am:
53ced034cd
* commit '
53ced034cd81f35ea9b37ca977cf6634ddaa7cf9':
Clean up the special input in HInvokeStaticOrDirect.
Vladimir Marko [Fri, 20 Nov 2015 10:53:56 +0000 (10:53 +0000)]
Merge "Clean up the special input in HInvokeStaticOrDirect."
Alex Light [Thu, 19 Nov 2015 19:03:10 +0000 (11:03 -0800)]
Use arc4random when available to select delta for image relocation.
Bug:
25776162
Change-Id: I5a5ca5d55c231508b61d4960049ab42e19c017e2
Alex Light [Fri, 20 Nov 2015 01:30:01 +0000 (01:30 +0000)]
Merge "Revert "Use arc4random when available to select delta for image relocation.""
am:
beb709a260
* commit '
beb709a2607a00b5df33f0235f22ccdd876cee22':
Revert "Use arc4random when available to select delta for image relocation."
Alex Light [Fri, 20 Nov 2015 01:24:59 +0000 (01:24 +0000)]
Merge "Revert "Use arc4random when available to select delta for image relocation.""
Alex Light [Fri, 20 Nov 2015 01:24:47 +0000 (01:24 +0000)]
Revert "Use arc4random when available to select delta for image relocation."
This reverts commit
7ecbd49c6c78e6c633883aa6766675df8abaa7dd.
Change-Id: Ifb37e23584722b31cb2369bcc9b91da6146d2cf6
Alex Light [Fri, 20 Nov 2015 01:24:38 +0000 (01:24 +0000)]
Merge "Use arc4random when available to select delta for image relocation."
am:
7dd1260c56
* commit '
7dd1260c564c1504a37bfa41e1372868c605ffdd':
Use arc4random when available to select delta for image relocation.
Alex Light [Fri, 20 Nov 2015 01:17:20 +0000 (01:17 +0000)]
Merge "Use arc4random when available to select delta for image relocation."
Alex Light [Thu, 19 Nov 2015 19:03:10 +0000 (11:03 -0800)]
Use arc4random when available to select delta for image relocation.
Bug:
25776162
Change-Id: I1c4cc992977b5d6fe782ff819903a802a40391ee
Mathieu Chartier [Fri, 20 Nov 2015 00:43:33 +0000 (00:43 +0000)]
Merge "Remove thread suspension assertion for SuspendAllForDebugger"
am:
d042c4514a
* commit '
d042c4514abe104c9591e9336321e11102347105':
Remove thread suspension assertion for SuspendAllForDebugger
Mathieu Chartier [Fri, 20 Nov 2015 00:43:25 +0000 (00:43 +0000)]
Merge "Create parent class loader for dex2oat"
am:
e74369f0ae
* commit '
e74369f0aeb405a5458d0b831bd6e2cac44bcd83':
Create parent class loader for dex2oat
Mathieu Chartier [Fri, 20 Nov 2015 00:41:58 +0000 (00:41 +0000)]
Merge "Remove thread suspension assertion for SuspendAllForDebugger"
Mathieu Chartier [Fri, 20 Nov 2015 00:35:00 +0000 (00:35 +0000)]
Merge "Create parent class loader for dex2oat"
Mathieu Chartier [Fri, 20 Nov 2015 00:05:58 +0000 (16:05 -0800)]
Create parent class loader for dex2oat
This means we also put the class loader in the app image so that it
can be used for verifying the dex file order.
Bug:
22858531
Change-Id: I30761b59421c8a24cffd62b469134b25d2929e2e
Hiroshi Yamauchi [Thu, 19 Nov 2015 22:58:26 +0000 (22:58 +0000)]
Merge "Relax CAS in some uses of Object::AtomicSetReadBarrierPointer."
am:
16cabc4acd
* commit '
16cabc4acd14d5a61c73cef821162e1827f08788':
Relax CAS in some uses of Object::AtomicSetReadBarrierPointer.
Hiroshi Yamauchi [Thu, 19 Nov 2015 22:51:15 +0000 (22:51 +0000)]
Merge "Relax CAS in some uses of Object::AtomicSetReadBarrierPointer."
Hiroshi Yamauchi [Wed, 18 Nov 2015 01:52:15 +0000 (17:52 -0800)]
Relax CAS in some uses of Object::AtomicSetReadBarrierPointer.
Aside from the call to change the object from gray to black, the CAS in
AtomicSetReadBarrierPointer doesn't need to be a release CAS.
CC collector Ritz EAAC GC time: 28.4 -> 26.5s (-6.7%) on N5.
Bug:
12687968
Change-Id: Ic162717981b98e7f1e762fd6b27bd0c146187ca4
Nicolas Geoffray [Thu, 19 Nov 2015 18:23:24 +0000 (18:23 +0000)]
Merge "Fix cmdline parser test."
am:
090a481ca6
* commit '
090a481ca6ed5bb0e7a450dff7da96a17254c583':
Fix cmdline parser test.
Nicolas Geoffray [Thu, 19 Nov 2015 18:18:19 +0000 (18:18 +0000)]
Merge "Fix cmdline parser test."
Nicolas Geoffray [Thu, 19 Nov 2015 18:17:41 +0000 (18:17 +0000)]
Fix cmdline parser test.
Change-Id: I6f03552d8d48e875f80a69455397146b132ed623
Calin Juravle [Thu, 19 Nov 2015 17:55:50 +0000 (17:55 +0000)]
Merge "Allow NullConstant to be untyped in GraphVisualiser."
am:
33a9a16a7f
* commit '
33a9a16a7fe21d37125853e888634d9de0b71a98':
Allow NullConstant to be untyped in GraphVisualiser.
Calin Juravle [Thu, 19 Nov 2015 17:46:50 +0000 (17:46 +0000)]
Merge "Allow NullConstant to be untyped in GraphVisualiser."
Mark Mendell [Mon, 16 Nov 2015 17:21:53 +0000 (12:21 -0500)]
Allow NullConstant to be untyped in GraphVisualiser.
The NullConstant may be added to the graph during other passes that
happen between ReferenceTypePropagation and Inliner (e.g.
InstructionSimplifier). If the inliner doesn't run or doesn't inline
anything, the NullConstant remains untyped.
The infrastructure to properly type NullConstants everywhere is to
complex to add for the benefits
Bug:
25786318
Change-Id: I904a3e605b57f8cac9936e82f19a4994c7b1a82a
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Andreas Gampe [Thu, 19 Nov 2015 16:19:53 +0000 (16:19 +0000)]
Merge "MIPS64: Add java.lang.String.equals intrinsic."
am:
34053d1f5a
* commit '
34053d1f5a9a3d98b5e45d395ed95ba66b518d4d':
MIPS64: Add java.lang.String.equals intrinsic.
Andreas Gampe [Thu, 19 Nov 2015 16:12:57 +0000 (16:12 +0000)]
Merge "MIPS64: Add java.lang.String.equals intrinsic."
Vladimir Marko [Thu, 19 Nov 2015 15:48:33 +0000 (15:48 +0000)]
Clean up the special input in HInvokeStaticOrDirect.
Change-Id: I4042aefbdac1a8c236d00e2e7145349a64f6486b
Nicolas Geoffray [Thu, 19 Nov 2015 15:55:17 +0000 (15:55 +0000)]
Merge "Rename options for shorter names."
am:
bc58b020c8
* commit '
bc58b020c85d2bb66e21184b8969215d7ea817b0':
Rename options for shorter names.
Nicolas Geoffray [Thu, 19 Nov 2015 15:48:01 +0000 (15:48 +0000)]
Merge "Rename options for shorter names."
Nicolas Geoffray [Thu, 19 Nov 2015 14:25:43 +0000 (14:25 +0000)]
Rename options for shorter names.
Change-Id: I2ea98ead4cd99d6a51cbfa149b0aab5e036ffb96
Roland Levillain [Thu, 19 Nov 2015 14:09:12 +0000 (14:09 +0000)]
Merge "ARM read barrier support for concurrent GC in Optimizing."
am:
ee7d4a3d57
* commit '
ee7d4a3d574d8789fb0d1860eba284ae5099f10d':
ARM read barrier support for concurrent GC in Optimizing.
Roland Levillain [Thu, 19 Nov 2015 14:01:37 +0000 (14:01 +0000)]
Merge "ARM read barrier support for concurrent GC in Optimizing."
Vladimir Marko [Thu, 19 Nov 2015 13:18:05 +0000 (13:18 +0000)]
Merge "Fix ClinitCheck pruning."
am:
d846a2cc45
* commit '
d846a2cc45aae5b1c84b5ac51cdd37a22b8447ff':
Fix ClinitCheck pruning.
Vladimir Marko [Thu, 19 Nov 2015 13:12:09 +0000 (13:12 +0000)]
Merge "Fix ClinitCheck pruning."
Vladimir Marko [Fri, 13 Nov 2015 14:47:00 +0000 (14:47 +0000)]
Fix ClinitCheck pruning.
Make sure we merge the ClinitCheck only with LoadClass and
HInvokeStaticOrDirect that is a part of the very same dex
instruction. This fixes incorrect stack traces from class
initializers (wrong dex pcs).
Rewrite the pruning to do all the ClinitCheck merging when
we see the ClinitCheck, instead of merging ClinitCheck into
LoadClass and then LoadClass into HInvokeStaticOrDirect.
When we later see an HInvokeStaticOrDirect with an explicit
check (i.e. not merged), we know that some other instruction
is doing the check and the invoke doesn't need to, so we
mark it as not requiring the check at all. (Previously it
would have been marked as having an implicit check.)
Remove the restriction on merging with inlined invoke static
as this is not necessary anymore. This was a workaround for
X.test():
invoke-static C.foo() [1]
C.foo():
invoke-static C.bar() [2]
After inlining and GVN we have
X.test():
LoadClass C (from [1])
ClinitCheck C (from [1], to be merged to LoadClass)
InvokeStaticOrDirect C.bar() (from [2])
and the LoadClass must not be merged into the invoke as this
would cause the resolution trampoline to see an inlined
frame from the not-yet-loaded class C during the stack walk
and try to load the class. However, we're not allowed to
load new classes at that point, so an attempt to do so leads
to an assertion failure. With this CL, LoadClass is not
merged when it comes from a different instruction, so we can
guarantee that all inlined frames seen by the stack walk in
the resolution trampoline belong to already loaded classes.
Change-Id: I2b8da8d4f295355dce17141f0fab2dace126684d
Nicolas Geoffray [Thu, 19 Nov 2015 11:47:58 +0000 (11:47 +0000)]
Merge "Increase code cache after 1 full collection."
am:
69edd0dbce
* commit '
69edd0dbce97f786f71596d696e17be0f380f405':
Increase code cache after 1 full collection.
Nicolas Geoffray [Thu, 19 Nov 2015 11:40:15 +0000 (11:40 +0000)]
Merge "Increase code cache after 1 full collection."
Nicolas Geoffray [Thu, 19 Nov 2015 11:34:39 +0000 (11:34 +0000)]
Merge "Add jack as a build target for the buildbot."
am:
a43a851f50
* commit '
a43a851f508b5034b39b98e838ce2be20298fbf3':
Add jack as a build target for the buildbot.
Nicolas Geoffray [Wed, 18 Nov 2015 11:15:22 +0000 (11:15 +0000)]
Increase code cache after 1 full collection.
Also add a max capacity option.
Change-Id: Icd442b72e9be0c6b091b588b4c4473c69b7cde10
Nicolas Geoffray [Thu, 19 Nov 2015 11:29:36 +0000 (11:29 +0000)]
Merge "Add jack as a build target for the buildbot."
Nicolas Geoffray [Thu, 19 Nov 2015 11:02:50 +0000 (11:02 +0000)]
Add jack as a build target for the buildbot.
This avoids dist targets to try on killing the jack server.
Change-Id: Icb913f3ba70ef4c5abd46ebac56cb283e17f0f12
Andreas Gampe [Thu, 19 Nov 2015 06:37:26 +0000 (06:37 +0000)]
Merge "ART: Change Init{From,Without}Image to return bool"
am:
0f0d5f370d
* commit '
0f0d5f370dca8bbdb97c61ea30e1b0476ee7749a':
ART: Change Init{From,Without}Image to return bool
Andreas Gampe [Thu, 19 Nov 2015 06:27:53 +0000 (06:27 +0000)]
Merge "ART: Change Init{From,Without}Image to return bool"
Andreas Gampe [Tue, 17 Nov 2015 19:52:46 +0000 (11:52 -0800)]
ART: Change Init{From,Without}Image to return bool
Rewrite some CHECKs to return false. For a common failure (missing)
image, this improves the abort (as it's not a runtime abort with
lots of stack traces anymore).
Change-Id: I717b1db74950267ced0ad3bafa1aed1693680062
Mathieu Chartier [Thu, 19 Nov 2015 02:03:18 +0000 (02:03 +0000)]
Merge "Add immune spaces abstraction"
am:
31c0d484c1
* commit '
31c0d484c1f492909c4843c29c08c701f5b6eae9':
Add immune spaces abstraction
Mathieu Chartier [Thu, 19 Nov 2015 01:55:31 +0000 (01:55 +0000)]
Merge "Add immune spaces abstraction"
Mathieu Chartier [Tue, 17 Nov 2015 00:05:55 +0000 (16:05 -0800)]
Add immune spaces abstraction
ImmuneSpaces is a set of spaces which are not reclaimable by the GC in
the current collection. This set of spaces does not have requirements
about space adjacency like the old ImmuneRegion. ImmuneSpaces generates
the largest immune region for the GC. Since there is no requirement on
adjacency, it is possible to have multiple non-adjacent applicaton
image files.
For image spaces, we also look at the oat code which is normally after
the application image. In this case, we add the code as part of the
immune region. This is required to have both the boot image and the
zygote space be in the same immune region (for performance reasons).
Bug:
22858531
Change-Id: I5103b31c0e39ad63c594f5557fc848a3b288b43e
Mingyao Yang [Wed, 18 Nov 2015 23:51:33 +0000 (23:51 +0000)]
Merge "Fix an assert in lse."
am:
2f99a1c5b7
* commit '
2f99a1c5b70852533a1c7406c1965d753efc810c':
Fix an assert in lse.
Mingyao Yang [Wed, 18 Nov 2015 23:33:40 +0000 (23:33 +0000)]
Merge "Fix an assert in lse."
Mingyao Yang [Wed, 18 Nov 2015 23:20:37 +0000 (15:20 -0800)]
Fix an assert in lse.
Wrong assert. Just deleted it.
Change-Id: I6f051609d87b2c6da081ee63f783ce99462f8a09
Mingyao Yang [Wed, 18 Nov 2015 21:36:44 +0000 (21:36 +0000)]
Merge "Revert "Revert "Enable store elimination for singleton objects."""
am:
b9bbbeb2b0
* commit '
b9bbbeb2b05d74cae0fe0682a26b19f5a7e68d8c':
Revert "Revert "Enable store elimination for singleton objects.""
Mingyao Yang [Wed, 18 Nov 2015 21:29:47 +0000 (21:29 +0000)]
Merge "Revert "Revert "Enable store elimination for singleton objects."""
Mingyao Yang [Mon, 2 Nov 2015 18:56:59 +0000 (10:56 -0800)]
Revert "Revert "Enable store elimination for singleton objects.""
This reverts commit
55d02cf056f993aeafebd54e7b7c68c7a48507c9, and
makes the following change:
Currently we leverage loop side effects to decide whether heap values are
killed by the loop. Stores need to be kept if heap values may be killed
by loops and the corresponding loads cannot be eliminated. Similar thing
need to be done for each predecessor when we merge predecessor heap values.
To do that, the HInstanceFieldSet instruction itself is put in the heap
value array instead of the value of the store instruction. The store
instruction may be added to possibly_removed_stores_ first, but can later
be removed from possibly_removed_stores_ when it's found out that the store
needs to be kept due to merging/loop side effects.
Change-Id: I4f7bb1960f7b47240873e00ff1adac46fc102a02
Mathieu Chartier [Wed, 18 Nov 2015 20:12:30 +0000 (20:12 +0000)]
Merge "Remove incorrect iterator increment"
am:
a341377bd5
* commit '
a341377bd5eb7cef471cb29a382e1614523e5a6c':
Remove incorrect iterator increment
Mathieu Chartier [Wed, 18 Nov 2015 20:06:43 +0000 (20:06 +0000)]
Merge "Remove incorrect iterator increment"
Mathieu Chartier [Wed, 18 Nov 2015 18:24:43 +0000 (10:24 -0800)]
Remove incorrect iterator increment
Erase already goes to the next element.
Bug:
25738102
Change-Id: Iea31a7fb27ce9f810acf019a7b59dda7704b8f26
Vladimir Marko [Wed, 18 Nov 2015 17:47:01 +0000 (17:47 +0000)]
Merge "Opt compiler: Arm64 packed-switch jump tables."
am:
9231730cd0
* commit '
9231730cd0e285373afd73331168b289309ebee4':
Opt compiler: Arm64 packed-switch jump tables.
Vladimir Marko [Wed, 18 Nov 2015 17:09:04 +0000 (17:09 +0000)]
Merge "Opt compiler: Arm64 packed-switch jump tables."
Zheng Xu [Wed, 18 Nov 2015 09:46:25 +0000 (17:46 +0800)]
Opt compiler: Arm64 packed-switch jump tables.
In this patch, we set a rough threshold and only generate jump table
with limited number of HIRs in the graph. This is because current VIXL
can only handle Adr with label in the range of +/-1Mb.
Change-Id: I42bff2095ec26caeacc5efc90afebe34e229b518
Nicolas Geoffray [Wed, 18 Nov 2015 11:04:46 +0000 (11:04 +0000)]
Merge "Fix bogus DCHECK and rename DidForkFromZygote."
am:
349baca032
* commit '
349baca032735e4a386b74709aa94d17f076cbce':
Fix bogus DCHECK and rename DidForkFromZygote.
Nicolas Geoffray [Wed, 18 Nov 2015 10:56:51 +0000 (10:56 +0000)]
Merge "Fix bogus DCHECK and rename DidForkFromZygote."
Nicolas Geoffray [Wed, 18 Nov 2015 10:55:15 +0000 (10:55 +0000)]
Merge "Remove DEBUG_JIT from Zygote flags."
am:
f5dd91e046
* commit '
f5dd91e0461b5bb0f401a51dee39f92d52b375e7':
Remove DEBUG_JIT from Zygote flags.
Nicolas Geoffray [Tue, 17 Nov 2015 13:50:21 +0000 (13:50 +0000)]
Fix bogus DCHECK and rename DidForkFromZygote.
The method can also be called for non-zygote forked processes.
(cherry picked from commit
9d157e48e0abc48f08fd98e4c5e918d029c1b84c)
Change-Id: Id4f57b77c1a7f802f80e066afcf30afecc198bfc
Calin Juravle [Wed, 18 Nov 2015 10:48:19 +0000 (10:48 +0000)]
Merge "Implement common super type in reference type propagation."
am:
a4d1b6438f
* commit '
a4d1b6438ffaa68307480e8bb40cd18842daa2f3':
Implement common super type in reference type propagation.
Nicolas Geoffray [Wed, 18 Nov 2015 10:47:50 +0000 (10:47 +0000)]
Merge "Remove DEBUG_JIT from Zygote flags."
Calin Juravle [Wed, 18 Nov 2015 10:41:41 +0000 (10:41 +0000)]
Merge "Implement common super type in reference type propagation."
Sebastien Hertz [Wed, 18 Nov 2015 10:37:48 +0000 (10:37 +0000)]
Merge "Support deoptimization only to set vreg"
am:
a7a3ba792d
* commit '
a7a3ba792d608535e4d53ccc3b7a89d110609f12':
Support deoptimization only to set vreg
Sebastien Hertz [Wed, 18 Nov 2015 10:29:22 +0000 (10:29 +0000)]
Merge "Support deoptimization only to set vreg"
Sebastien Hertz [Wed, 18 Nov 2015 10:22:29 +0000 (10:22 +0000)]
Merge "Fix StackVisitor::GetVReg for reference in shadow frame"
am:
3e1ff83fb2
* commit '
3e1ff83fb210818df66b7a0a7bc70dca6c7b9d47':
Fix StackVisitor::GetVReg for reference in shadow frame
Sebastien Hertz [Wed, 18 Nov 2015 10:17:46 +0000 (10:17 +0000)]
Merge "Fix StackVisitor::GetVReg for reference in shadow frame"
Nicolas Geoffray [Thu, 5 Nov 2015 11:32:24 +0000 (11:32 +0000)]
Remove DEBUG_JIT from Zygote flags.
The flag is being obsolete by the move to JIT.
(cherry picked from commit
0f042e04efba887557e40f981bd9c41b121c4652)
Change-Id: I32c3183e791690964c00fab02a6ee7bbacf6b665
Hiroshi Yamauchi [Tue, 17 Nov 2015 22:22:49 +0000 (22:22 +0000)]
Merge "RosAlloc fast path inline in assembly for x86 32bit."
am:
cb6638ff66
* commit '
cb6638ff664e3136ccfee3cffb9307e0d43ffbc1':
RosAlloc fast path inline in assembly for x86 32bit.
Hiroshi Yamauchi [Tue, 17 Nov 2015 21:53:34 +0000 (21:53 +0000)]
Merge "RosAlloc fast path inline in assembly for x86 32bit."
Mathieu Chartier [Tue, 17 Nov 2015 20:23:05 +0000 (20:23 +0000)]
Merge "Refactor some patching logic"
am:
ed42f392f9
* commit '
ed42f392f9ae19d24ed2e18b60e146da3920cbf9':
Refactor some patching logic
Mathieu Chartier [Tue, 17 Nov 2015 20:10:24 +0000 (20:10 +0000)]
Merge "Refactor some patching logic"
Roland Levillain [Tue, 17 Nov 2015 19:35:12 +0000 (19:35 +0000)]
ARM read barrier support for concurrent GC in Optimizing.
This first implementation uses slow paths to instrument heap
reference loads and GC root loads for the concurrent copying
collector, respectively calling the artReadBarrierSlow and
artReadBarrierForRootSlow runtime entry points.
Notes:
- This implementation does not instrument HInvokeVirtual
nor HInvokeInterface instructions (for class reference
loads), as the corresponding read barriers are not stricly
required with the current concurrent copying collector.
- Intrinsics which may eventually call (on slow path) are
disabled when read barriers are enabled, as the current
slow path infrastructure does not support this case.
- When read barriers are enabled, the code generated for a
HArraySet instruction always go into the array set slow
path for object arrays (delegating the operation to the
runtime), as we are lacking a mechanism to keep a
temporary register live accross a runtime call (needed for
the instrumentation of type checking code, which requires
two successive read barriers).
Bug:
12687968
Change-Id: I92e8db414d029f952c07f3d3a98069e46dfdbc2a
Calin Juravle [Wed, 11 Nov 2015 16:58:31 +0000 (16:58 +0000)]
Implement common super type in reference type propagation.
Currently only if both types are classes.
Change-Id: I06e98211ead56875a42bd17f099e319b107a50d4
Vladimir Marko [Tue, 17 Nov 2015 17:45:13 +0000 (17:45 +0000)]
Merge "Minor fixes and cleaning of arm64 static and direct calls code."
am:
a04f57badc
* commit '
a04f57badca0a9211d45eb7bde44c1d1e8f159ff':
Minor fixes and cleaning of arm64 static and direct calls code.
Vladimir Marko [Tue, 17 Nov 2015 17:45:04 +0000 (17:45 +0000)]
Merge "ART: add kryo to a53 #835769 & #843419 erratum exception list"
am:
9013bb031c
* commit '
9013bb031c1c3244e70ae246437604f2c094a671':
ART: add kryo to a53 #835769 & #843419 erratum exception list
Vladimir Marko [Tue, 17 Nov 2015 17:40:57 +0000 (17:40 +0000)]
Merge "Minor fixes and cleaning of arm64 static and direct calls code."
Vladimir Marko [Tue, 17 Nov 2015 17:40:34 +0000 (17:40 +0000)]
Merge "ART: add kryo to a53 #835769 & #843419 erratum exception list"
David Brazdil [Tue, 17 Nov 2015 16:51:33 +0000 (16:51 +0000)]
Merge "ART: Refactor GenerateTestAndBranch"
am:
3ce45f4e6a
* commit '
3ce45f4e6abd725407a539521f69959a6ac5a9c1':
ART: Refactor GenerateTestAndBranch
David Brazdil [Tue, 17 Nov 2015 16:46:49 +0000 (16:46 +0000)]
Merge "ART: Refactor GenerateTestAndBranch"
Richard Uhler [Tue, 17 Nov 2015 16:24:22 +0000 (16:24 +0000)]
Merge "Change roots view to "rooted"."
am:
886d1040c9
* commit '
886d1040c99b521ca5a2d363242163c17a5776b1':
Change roots view to "rooted".
Richard Uhler [Tue, 17 Nov 2015 16:21:12 +0000 (16:21 +0000)]
Merge "Change roots view to "rooted"."
David Brazdil [Thu, 12 Nov 2015 18:37:00 +0000 (18:37 +0000)]
ART: Refactor GenerateTestAndBranch
Each code generator implements a method for generating condition
evaluation and branching to arbitrary labels. This patch refactors
it for better clarity but also to generate fewer jumps when the true
branch is the fallthrough successor.
This is preliminary work for implementing HSelect.
Change-Id: Iaa545a5ecbacb761c5aa241fa69140cf6eb5952f
Mingyao Yang [Fri, 31 Jul 2015 23:40:24 +0000 (16:40 -0700)]
Support deoptimization only to set vreg
This CL removes the old API that was used to update vreg. We now rely
exclusively on deoptimization to change the value of a vreg (mainly
from the debugger). This allows to have only one mechanism working
with both Quick and Optimizing compilers. It also remove run-test
455-set-vreg which was the only user of the old API.
This CL also renames StackVisitor::SetVReg[Pair]FromDebugger to
StackVisitor::SetVReg[Pair] to reflect that change.
Bug:
25428216
Change-Id: Ib09510185280dbd0f6d02c52549ae9671c187e32
Sebastien Hertz [Tue, 17 Nov 2015 09:35:39 +0000 (10:35 +0100)]
Fix StackVisitor::GetVReg for reference in shadow frame
Also fixes 457-regs run-test that used to pass an incorrect
vreg kind.
Bug:
25428216
Change-Id: Ic31b51ca0f72350db6325f23087b06e93055d750
Mathieu Chartier [Fri, 13 Nov 2015 18:42:08 +0000 (10:42 -0800)]
Refactor some patching logic
Reduce duplication since app images in-place relocation will require
this code also.
Bug:
22858531
Change-Id: Ibb901b67267e27ef3bc2a0baff77189d4dcd018a
Alex Light [Mon, 16 Nov 2015 18:14:17 +0000 (18:14 +0000)]
Merge "Add ability to skip run-tests with ART_TEST_RUN_TEST_SKIP."
am:
991842a527
* commit '
991842a5273d20695dd5f35eb9a9e28c386c5b4b':
Add ability to skip run-tests with ART_TEST_RUN_TEST_SKIP.
Alex Light [Mon, 16 Nov 2015 18:10:37 +0000 (18:10 +0000)]
Merge "Add ability to skip run-tests with ART_TEST_RUN_TEST_SKIP."
Calin Juravle [Mon, 16 Nov 2015 17:05:40 +0000 (17:05 +0000)]
Merge "Ignore NullConstants when computing the type for Phis."
am:
a663d67500
* commit '
a663d67500be03df7708afc059f135d2be76ef6e':
Ignore NullConstants when computing the type for Phis.
Calin Juravle [Mon, 16 Nov 2015 17:00:23 +0000 (17:00 +0000)]
Merge "Ignore NullConstants when computing the type for Phis."