OSDN Git Service
Andreas Gampe [Fri, 20 Feb 2015 21:24:48 +0000 (21:24 +0000)]
am
d98ff789: Merge "ART: Add VALGRIND_LIB for gtests"
* commit '
d98ff78976696fdde1e7868d4687719a0439544b':
ART: Add VALGRIND_LIB for gtests
Andreas Gampe [Fri, 20 Feb 2015 21:19:05 +0000 (21:19 +0000)]
Merge "ART: Add VALGRIND_LIB for gtests"
Andreas Gampe [Fri, 20 Feb 2015 21:15:15 +0000 (13:15 -0800)]
ART: Add VALGRIND_LIB for gtests
Ensure that tests can be run without lunch-ing a target.
Change-Id: If9b4a6c56952418fde703145600717c84e11ef99
Hiroshi Yamauchi [Fri, 20 Feb 2015 19:41:31 +0000 (19:41 +0000)]
am
a53cfc8d: Merge "Make UseTLAB a bool flag."
* commit '
a53cfc8d2e8fd61cea630f3a5f1dab701edcb53c':
Make UseTLAB a bool flag.
Hiroshi Yamauchi [Fri, 20 Feb 2015 19:35:57 +0000 (19:35 +0000)]
Merge "Make UseTLAB a bool flag."
Hiroshi Yamauchi [Fri, 20 Feb 2015 19:28:03 +0000 (11:28 -0800)]
Make UseTLAB a bool flag.
This would make it easier to override its default value at build time.
Change-Id: I643fe1afaf492f0443dc01df0c9a62bb3fa025d9
Andreas Gampe [Fri, 20 Feb 2015 18:48:33 +0000 (18:48 +0000)]
am
146a13d7: Merge "ART: Fix RosAlloc Valgrind code"
* commit '
146a13d789af7246328c7af838e2ba52a7cd7bdd':
ART: Fix RosAlloc Valgrind code
Mathieu Chartier [Fri, 20 Feb 2015 18:48:32 +0000 (18:48 +0000)]
am
a5a3f034: Merge "Revert "Do GC for alloc for unstarted runtimes""
* commit '
a5a3f03405e33edb5c73cb4aa58fb09fb46318f3':
Revert "Do GC for alloc for unstarted runtimes"
Andreas Gampe [Fri, 20 Feb 2015 18:45:31 +0000 (18:45 +0000)]
Merge "ART: Fix RosAlloc Valgrind code"
Mathieu Chartier [Fri, 20 Feb 2015 18:44:40 +0000 (18:44 +0000)]
Merge "Revert "Do GC for alloc for unstarted runtimes""
Mathieu Chartier [Fri, 20 Feb 2015 18:44:28 +0000 (18:44 +0000)]
Revert "Do GC for alloc for unstarted runtimes"
Bug:
19451379
This reverts commit
c0a7e2bb1609da40ec67cb7e00c918637c610897.
Change-Id: Ib079e5ce1647fd44239f7f2f658b2c50d619fece
Andreas Gampe [Fri, 20 Feb 2015 00:44:32 +0000 (16:44 -0800)]
ART: Fix RosAlloc Valgrind code
Large object verification needs to take the redzones into account
when checking the page size.
Change-Id: I0529e21d085e82f2c8a6d8552de1e7c1df3956bc
Bill Buzbee [Fri, 20 Feb 2015 17:25:25 +0000 (17:25 +0000)]
am
4ba40548: Merge "ART: Some conditions should be stricter in GenInlinedMinMax()"
* commit '
4ba405483177cf346211d43d97892bae6ff14119':
ART: Some conditions should be stricter in GenInlinedMinMax()
Bill Buzbee [Fri, 20 Feb 2015 17:19:30 +0000 (17:19 +0000)]
Merge "ART: Some conditions should be stricter in GenInlinedMinMax()"
nikolay serdjuk [Tue, 20 Jan 2015 11:03:02 +0000 (17:03 +0600)]
ART: Some conditions should be stricter in GenInlinedMinMax()
When we inline Min or Max intrinsics of long data type in 32-bit
mode we should care about register overlap cases. I.e. when
result and operands share partially or entirely same registers.
We consider three cases:
a) If result is between two operands, then we fail to inline
because implementation tends to be overcomplicated.
b) Since we always copy the first operand into result, we
should check whether result and the second operand share
same registers. If so, we swap the second with the first one.
c) If operands share same registers then we just copy the
first operand into result and stop.
The algorithm requires many registers. Therefore, we try to
reuse some of them. This also needs check for overlap.
Change-Id: I1e327acedfdc63d9b434b21b41d75bb86c41f1d0
Andreas Gampe [Fri, 20 Feb 2015 16:55:54 +0000 (16:55 +0000)]
am
9ba69ece: Merge "ART: Use Valgrind from tree"
* commit '
9ba69ece769ae8deab2e40d3a5ee0dce208a82c2':
ART: Use Valgrind from tree
Andreas Gampe [Fri, 20 Feb 2015 16:55:53 +0000 (16:55 +0000)]
am
5ea203d8: Merge "ART: Silence some run-test configurations"
* commit '
5ea203d88f5415aaeab345f967f206eea448d74e':
ART: Silence some run-test configurations
Andreas Gampe [Fri, 20 Feb 2015 16:52:16 +0000 (16:52 +0000)]
Merge "ART: Use Valgrind from tree"
Andreas Gampe [Fri, 20 Feb 2015 16:51:38 +0000 (16:51 +0000)]
Merge "ART: Silence some run-test configurations"
Andreas Gampe [Thu, 19 Feb 2015 23:10:24 +0000 (15:10 -0800)]
ART: Silence some run-test configurations
Run-tests running with a failing dex2oat or patchoat are expected
to print error lines of the failure. In this case set the log-level
to FATAL-only, as stripping those errors is overly complicated.
Bug:
18713034
Change-Id: If9c5f50b517b5e906dd0be841ebc1e7987cac928
Vladimir Marko [Fri, 20 Feb 2015 16:03:47 +0000 (16:03 +0000)]
am
ba6d9438: Merge "Fix core spill mask for x86 special suspend."
* commit '
ba6d943827e6df52316a843468691de264ab4aa5':
Fix core spill mask for x86 special suspend.
Vladimir Marko [Fri, 20 Feb 2015 15:57:49 +0000 (15:57 +0000)]
Merge "Fix core spill mask for x86 special suspend."
Vladimir Marko [Fri, 20 Feb 2015 14:53:53 +0000 (14:53 +0000)]
Fix core spill mask for x86 special suspend.
Bug:
19445246
Change-Id: I7dd734e64a4bfa5980fa1be9903e3fd0c2be3749
Calin Juravle [Fri, 20 Feb 2015 14:32:28 +0000 (14:32 +0000)]
am
36fb59b1: Merge "Improve type propagation with if-contexts"
* commit '
36fb59b15fbca20c22e9daf2943fcfeebc97848f':
Improve type propagation with if-contexts
Calin Juravle [Fri, 20 Feb 2015 14:27:00 +0000 (14:27 +0000)]
Merge "Improve type propagation with if-contexts"
Calin Juravle [Mon, 16 Feb 2015 13:13:29 +0000 (13:13 +0000)]
Improve type propagation with if-contexts
This works by adding a new instruction (HBoundType) after each `if (a
instanceof ClassA) {}` to bound the type that `a` can take in the True-
dominated blocks.
Change-Id: Iae6a150b353486d4509b0d9b092164675732b90c
Roland Levillain [Fri, 20 Feb 2015 11:26:01 +0000 (11:26 +0000)]
am
1382e569: Merge "Opt compiler: ARM64: Optimise floating-point comparison with 0.0."
* commit '
1382e569b31f4fab61fcfca5aa93275a2a3cb757':
Opt compiler: ARM64: Optimise floating-point comparison with 0.0.
Roland Levillain [Fri, 20 Feb 2015 11:21:28 +0000 (11:21 +0000)]
Merge "Opt compiler: ARM64: Optimise floating-point comparison with 0.0."
Calin Juravle [Fri, 20 Feb 2015 10:45:18 +0000 (10:45 +0000)]
am
4fe292e2: Merge "Reference type propagation"
* commit '
4fe292e2b6ba3980605373f183055a374084c65b':
Reference type propagation
Calin Juravle [Fri, 20 Feb 2015 10:40:50 +0000 (10:40 +0000)]
Merge "Reference type propagation"
Roland Levillain [Fri, 20 Feb 2015 10:32:45 +0000 (10:32 +0000)]
am
76f82fc7: Merge "Display optimizing compiler\'s CodeInfo objects in oatdump."
* commit '
76f82fc75f245101828e2fdbbdec676af1717f0b':
Display optimizing compiler's CodeInfo objects in oatdump.
Roland Levillain [Fri, 20 Feb 2015 10:27:12 +0000 (10:27 +0000)]
Merge "Display optimizing compiler's CodeInfo objects in oatdump."
Andreas Gampe [Thu, 19 Feb 2015 18:02:19 +0000 (10:02 -0800)]
ART: Use Valgrind from tree
Change-Id: I3e70c37cc04e0a2286e6fece898fcf887273b28c
Andreas Gampe [Fri, 20 Feb 2015 00:01:54 +0000 (00:01 +0000)]
am
e90ccca8: Merge "ART: Do not read from JavaVMExt* after DestroyJavaVM"
* commit '
e90ccca801a3b7bda094ee0cc145fc62afd8d718':
ART: Do not read from JavaVMExt* after DestroyJavaVM
Andreas Gampe [Thu, 19 Feb 2015 23:24:05 +0000 (23:24 +0000)]
Merge "ART: Do not read from JavaVMExt* after DestroyJavaVM"
Andreas Gampe [Thu, 19 Feb 2015 23:19:50 +0000 (15:19 -0800)]
ART: Do not read from JavaVMExt* after DestroyJavaVM
DestroyJavaVM deletes the structure.
Change-Id: Ida5fb98a47b1ebf0df7d54506e2fec8958fc105b
Mathieu Chartier [Thu, 19 Feb 2015 23:12:32 +0000 (23:12 +0000)]
am
42ad4902: Merge "Do GC for alloc for unstarted runtimes"
* commit '
42ad490249be898efa1b1196d4ecdbe2cfc3e77b':
Do GC for alloc for unstarted runtimes
Andreas Gampe [Thu, 19 Feb 2015 23:11:39 +0000 (23:11 +0000)]
am
71885932: Merge "ART: Check image size when opening"
* commit '
718859325c773e144bddac4281a1cc63c5e9fcde':
ART: Check image size when opening
Mathieu Chartier [Thu, 19 Feb 2015 22:45:16 +0000 (22:45 +0000)]
Merge "Do GC for alloc for unstarted runtimes"
Bill Yi [Thu, 19 Feb 2015 22:30:24 +0000 (14:30 -0800)]
Andreas Gampe [Thu, 19 Feb 2015 22:28:39 +0000 (22:28 +0000)]
Merge "ART: Check image size when opening"
Andreas Gampe [Thu, 19 Feb 2015 19:42:36 +0000 (11:42 -0800)]
ART: Check image size when opening
The image file might have been truncated. In that case, reject
loading the image space.
Bug:
19398702
Change-Id: I8e46340fe1e05629704d6e3bae84caf8b0435125
Mathieu Chartier [Tue, 16 Dec 2014 18:35:19 +0000 (10:35 -0800)]
Do GC for alloc for unstarted runtimes
Currently, concurrent GC requests are ignored for unstarted runtimes.
The new logic is to do a GC for alloc in RequestConcurrentGC if the
runtime is not started. This reduces the java heap size in dex2oat.
Change-Id: I8d4364a4e3537013b27390bb22a6f64aab58c924
Vladimir Marko [Thu, 19 Feb 2015 19:10:33 +0000 (19:10 +0000)]
am
6aa7fe62: Merge "Replace a few std::vector with ArenaVector in Mir2Lir."
* commit '
6aa7fe620a95b4404a4fed451e46ebf0cdd66204':
Replace a few std::vector with ArenaVector in Mir2Lir.
Andreas Gampe [Thu, 19 Feb 2015 19:03:58 +0000 (19:03 +0000)]
am
04c1acf4: Merge "ART: Make error messages for StackOverflow WARNINGs"
* commit '
04c1acf428d5a35948be06a6ae857abb7b32dc6f':
ART: Make error messages for StackOverflow WARNINGs
Vladimir Marko [Thu, 19 Feb 2015 19:03:44 +0000 (19:03 +0000)]
Merge "Replace a few std::vector with ArenaVector in Mir2Lir."
Andreas Gampe [Thu, 19 Feb 2015 18:57:47 +0000 (18:57 +0000)]
Merge "ART: Make error messages for StackOverflow WARNINGs"
Andreas Gampe [Thu, 19 Feb 2015 18:54:31 +0000 (10:54 -0800)]
ART: Make error messages for StackOverflow WARNINGs
Log error messages as LOG(WARNING). We'll throw either a (partial)
StackOverflow or OutOfMemoryError anyways.
Bug:
18713034
Change-Id: If51c0d6745b02f5ecb98b1387f8bde1e2e57e0c0
Andreas Gampe [Thu, 19 Feb 2015 18:43:48 +0000 (18:43 +0000)]
am
3f43b5f4: Merge "ART: Ensure order of field gaps"
* commit '
3f43b5f4881db5a1f7bd13a095f720b7c1ddba6a':
ART: Ensure order of field gaps
Andreas Gampe [Thu, 19 Feb 2015 18:36:59 +0000 (18:36 +0000)]
Merge "ART: Ensure order of field gaps"
Andreas Gampe [Wed, 18 Feb 2015 23:38:57 +0000 (15:38 -0800)]
ART: Ensure order of field gaps
Disambiguate field gaps of same size by starting offset. That will
make the priority queue stable.
Bug:
19413180
Change-Id: I6302a8bbdc590af7e9ec4f332c386c375fa8d8cd
Mathieu Chartier [Thu, 19 Feb 2015 18:03:56 +0000 (18:03 +0000)]
am
6561551f: Merge "Move arenas into runtime"
* commit '
6561551f094f79ce569160b29131b07be7aa3363':
Move arenas into runtime
Vladimir Marko [Thu, 19 Feb 2015 15:50:28 +0000 (15:50 +0000)]
Replace a few std::vector with ArenaVector in Mir2Lir.
Change-Id: I7867d60afc60f57cdbbfd312f02883854d65c805
Mathieu Chartier [Thu, 19 Feb 2015 18:00:29 +0000 (18:00 +0000)]
Merge "Move arenas into runtime"
Mathieu Chartier [Wed, 18 Feb 2015 22:33:14 +0000 (14:33 -0800)]
Move arenas into runtime
Moved arena pool into the runtime.
Motivation:
Allow GC to use arena allocators, recycle arena pool for linear alloc.
Bug:
19264997
Change-Id: I8ddbb6d55ee923a980b28fb656c758c5d7697c2f
Vladimir Marko [Thu, 19 Feb 2015 17:49:08 +0000 (17:49 +0000)]
am
8fb13085: Merge "Add suspend checks to special methods."
* commit '
8fb1308578cfea07ebe6c55312821480c9cc1e80':
Add suspend checks to special methods.
Vladimir Marko [Thu, 19 Feb 2015 17:42:06 +0000 (17:42 +0000)]
Merge "Add suspend checks to special methods."
Vladimir Marko [Mon, 16 Feb 2015 13:05:59 +0000 (13:05 +0000)]
Add suspend checks to special methods.
Generate suspend checks at the beginning of special methods.
If we need to call to runtime, go to the slow path where we
create a simplified but valid frame, spill all arguments,
call art_quick_test_suspend, restore necessary arguments and
return back to the fast path. This keeps the fast path
overhead to a minimum.
Bug:
19245639
Change-Id: I3de5aee783943941322a49c4cf2c4c94411dbaa2
Calin Juravle [Thu, 12 Feb 2015 15:25:22 +0000 (15:25 +0000)]
Reference type propagation
- propagate reference types between instructions
- remove checked casts when possible
- add StackHandleScopeCollection to manage an arbitrary number of stack
handles (see comments)
Change-Id: I31200067c5e7375a5ea8e2f873c4374ebdb5ee60
Nicolas Geoffray [Thu, 19 Feb 2015 14:05:30 +0000 (14:05 +0000)]
am
39109a06: Merge "Ensure the graph is correctly typed."
* commit '
39109a06015c91188232e59fa9e60e0915d24cd7':
Ensure the graph is correctly typed.
Nicolas Geoffray [Thu, 19 Feb 2015 14:01:59 +0000 (14:01 +0000)]
Merge "Ensure the graph is correctly typed."
Nicolas Geoffray [Wed, 18 Feb 2015 14:48:53 +0000 (14:48 +0000)]
Ensure the graph is correctly typed.
We used to be forgiving because of HIntConstant(0) also being
used for null. We now create a special HNullConstant for such uses.
Also, we need to run the dead phi elimination twice during ssa
building to ensure the correctness.
Change-Id: If479efa3680d3358800aebb1cca692fa2d94f6e5
Roland Levillain [Thu, 19 Feb 2015 12:20:04 +0000 (12:20 +0000)]
am
92095533: Merge "Have the opt. compiler set the size of "empty" frames to zero."
* commit '
92095533ac28879ddd8b44b559d700527ca12b8a':
Have the opt. compiler set the size of "empty" frames to zero.
Roland Levillain [Thu, 19 Feb 2015 12:15:55 +0000 (12:15 +0000)]
Merge "Have the opt. compiler set the size of "empty" frames to zero."
Roland Levillain [Wed, 18 Feb 2015 16:54:21 +0000 (16:54 +0000)]
Display optimizing compiler's CodeInfo objects in oatdump.
A few elements are not displayed yet (stack mask, inline info) though.
Change-Id: I5e51a801c580169abc5d1ef43ad581aadc110754
Roland Levillain [Tue, 17 Feb 2015 15:40:09 +0000 (15:40 +0000)]
Have the opt. compiler set the size of "empty" frames to zero.
This is to mimic Quick's behavior and honor stack frame
alignment constraints after changes introduced by Change-Id
I0fdb31e8c631e99091b818874a558c9aa04b1628.
This issue use to make oatdump crash on oat files produced by
the optimized compiler (e.g.
out/host/linux-x86/framework/x86_64/core-optimizing.oat).
Change-Id: I8ba52601edb0a0993eaf8923eba55aafdce5043e
Sebastien Hertz [Thu, 19 Feb 2015 10:17:22 +0000 (10:17 +0000)]
am
cf3fb94a: Merge "Fix art_quick_instrumentation_entry for x86"
* commit '
cf3fb94a90d74361b13e7bae5aa6e0e4ae58479d':
Fix art_quick_instrumentation_entry for x86
Sebastien Hertz [Thu, 19 Feb 2015 09:59:54 +0000 (09:59 +0000)]
Merge "Fix art_quick_instrumentation_entry for x86"
Sebastien Hertz [Thu, 19 Feb 2015 09:30:48 +0000 (10:30 +0100)]
Fix art_quick_instrumentation_entry for x86
Fixes the stack offset used to restore edx.
Bug:
19402798
Change-Id: Ic3636cd362684564196997c4a3b3bebdc1be9a4e
Andreas Gampe [Thu, 19 Feb 2015 05:02:35 +0000 (05:02 +0000)]
am
1b472546: Merge "ART: Fix run-test 099-vmdebug for device"
* commit '
1b472546657d31d38883373d8340d1441281a6a5':
ART: Fix run-test 099-vmdebug for device
Andreas Gampe [Thu, 19 Feb 2015 04:54:59 +0000 (04:54 +0000)]
Merge "ART: Fix run-test 099-vmdebug for device"
Andreas Gampe [Thu, 19 Feb 2015 02:30:05 +0000 (18:30 -0800)]
ART: Fix run-test 099-vmdebug for device
We can't expect logcat errors on device. So just swallow them whole.
Bug:
18713034
Change-Id: I58d8595e86f112442a5a1c4c6ef0d614871d890f
Andreas Gampe [Thu, 19 Feb 2015 01:23:48 +0000 (01:23 +0000)]
am
627fbe31: Merge "ART: Blacklist run-test 802 for tracing"
* commit '
627fbe3137995904c2d67822d79201e17225e797':
ART: Blacklist run-test 802 for tracing
Andreas Gampe [Thu, 19 Feb 2015 01:23:47 +0000 (01:23 +0000)]
am
2ee8837c: Merge "ART: Templatize IsInt & IsUint"
* commit '
2ee8837c49680fa0c928fb5d5fc6ef7ae6532eea':
ART: Templatize IsInt & IsUint
Andreas Gampe [Thu, 19 Feb 2015 01:20:33 +0000 (01:20 +0000)]
Merge "ART: Blacklist run-test 802 for tracing"
Andreas Gampe [Thu, 19 Feb 2015 01:18:01 +0000 (01:18 +0000)]
Merge "ART: Templatize IsInt & IsUint"
Andreas Gampe [Thu, 19 Feb 2015 01:08:27 +0000 (17:08 -0800)]
ART: Blacklist run-test 802 for tracing
When in tracing mode, the test is meaningless as it won't force
deoptimization.
Bug:
18713034
Change-Id: I8bf2861c2937c5da73e3d7642e638818d2544fa8
Andreas Gampe [Sat, 14 Feb 2015 03:23:55 +0000 (19:23 -0800)]
ART: Templatize IsInt & IsUint
Ensure that things are used correctly.
Change-Id: I76f082b32dcee28bbfb4c519daa401ac595873b3
Jeff Hao [Wed, 18 Feb 2015 22:50:56 +0000 (22:50 +0000)]
am
887653c2: Merge "Default to 64-bit for tests of methods with varying ISAs for valgrind."
* commit '
887653c253e9d049d0817867db02392a9a3db40e':
Default to 64-bit for tests of methods with varying ISAs for valgrind.
Andreas Gampe [Wed, 18 Feb 2015 22:50:55 +0000 (22:50 +0000)]
am
a56f1195: Merge "ART: Make run-tests more verbose"
* commit '
a56f11956c3ee2c18e98078737549494638e08aa':
ART: Make run-tests more verbose
Vladimir Marko [Wed, 18 Feb 2015 22:50:37 +0000 (22:50 +0000)]
am
698e4a89: Merge "Distinguish FP and integral constants in LVN."
* commit '
698e4a8942b6f6005dd247a73347f8086c8e7e6e':
Distinguish FP and integral constants in LVN.
Bill Buzbee [Wed, 18 Feb 2015 22:50:31 +0000 (22:50 +0000)]
am
a5c81189: Merge "ART: Fix InsertCaseLabel to return boundary_lir always"
* commit '
a5c81189a5075c53d649135e0417fc075eeead5a':
ART: Fix InsertCaseLabel to return boundary_lir always
Bill Buzbee [Wed, 18 Feb 2015 22:50:30 +0000 (22:50 +0000)]
am
3dbce6f8: Merge "ART: Promoted register may be wrong after the load of zero fp constant"
* commit '
3dbce6f822cc9fa49505adde0a556fd67996268e':
ART: Promoted register may be wrong after the load of zero fp constant
Jeff Hao [Wed, 18 Feb 2015 21:41:11 +0000 (21:41 +0000)]
Merge "Default to 64-bit for tests of methods with varying ISAs for valgrind."
Andreas Gampe [Wed, 18 Feb 2015 21:41:10 +0000 (21:41 +0000)]
Merge "ART: Make run-tests more verbose"
Vladimir Marko [Wed, 18 Feb 2015 18:54:15 +0000 (18:54 +0000)]
Merge "Distinguish FP and integral constants in LVN."
Bill Buzbee [Wed, 18 Feb 2015 17:54:10 +0000 (17:54 +0000)]
Merge "ART: Fix InsertCaseLabel to return boundary_lir always"
Bill Buzbee [Wed, 18 Feb 2015 17:54:00 +0000 (17:54 +0000)]
Merge "ART: Promoted register may be wrong after the load of zero fp constant"
Vladimir Marko [Wed, 18 Feb 2015 17:52:39 +0000 (17:52 +0000)]
Distinguish FP and integral constants in LVN.
Change-Id: I31a58ff19fb95a2f56420359e50332c1dce6cbc7
Vladimir Marko [Wed, 18 Feb 2015 14:41:59 +0000 (14:41 +0000)]
am
ca47c2ec: Merge "Quick: Disable DCE until we fix FP/Core reg mismatches."
* commit '
ca47c2ece95c9ea511864c51c5c3923e087d4499':
Quick: Disable DCE until we fix FP/Core reg mismatches.
Vladimir Marko [Wed, 18 Feb 2015 14:36:59 +0000 (14:36 +0000)]
Merge "Quick: Disable DCE until we fix FP/Core reg mismatches."
Vladimir Marko [Wed, 18 Feb 2015 14:06:43 +0000 (14:06 +0000)]
Quick: Disable DCE until we fix FP/Core reg mismatches.
GVN and TypeInference can miss some FP/Core register
mismatch:
const v0, #X ; marked as float
invoke-virtual v0, void foo(float)
const v0, #X ; marked as core
aput v0, v1, v2 ; float[] not used
The second const is eliminated by the DCE because it writes
the same value to the same dalvik reg. We replace the SSA
register name defined by the first const and used by the
invoke-virtual with the one defined by the second const.
When we generate code for the invoke-virtual, we get a core
location and may need a temporary to set up the FP argument
and we may not have an available temporary.
This may affect the bug below (more investigation needed).
Bug:
19419671
Change-Id: I44abd390706b980c346b36c9828a3bcb4e96726d
Nicolas Geoffray [Wed, 18 Feb 2015 10:14:00 +0000 (10:14 +0000)]
am
35757740: Merge "Avoid generating jmp +0."
* commit '
35757740da77220dc51d5cff3bc3a779f2eea9ef':
Avoid generating jmp +0.
Nicolas Geoffray [Wed, 18 Feb 2015 09:54:39 +0000 (09:54 +0000)]
Merge "Avoid generating jmp +0."
Nicolas Geoffray [Mon, 16 Feb 2015 11:15:43 +0000 (11:15 +0000)]
Avoid generating jmp +0.
When a block branches to a non-following block, but blocks
in-between do branch to it, we can avoid doing the branch.
Change-Id: I9b343f662a4efc718cd4b58168f93162a24e1219
Sebastien Hertz [Wed, 18 Feb 2015 08:34:36 +0000 (08:34 +0000)]
am
de740218: Merge "Follow up 129144"
* commit '
de7402182c1b020dec43aa38d62fa369a4ef52b8':
Follow up 129144
Sebastien Hertz [Wed, 18 Feb 2015 08:28:34 +0000 (08:28 +0000)]
Merge "Follow up 129144"
Vladimir [Wed, 11 Feb 2015 08:11:19 +0000 (14:11 +0600)]
ART: Promoted register may be wrong after the load of zero fp constant
Because of Dalvik byte code's lack of immediate typing,
the same vreg may be used in core, ref and fp operations.
To properly support GC, we must ensure that if a constant zero is loaded
into a fp view of a vreg, it must also be loaded into the core/ref view.
The code that was responsible for ensuring this failed to handle the case
of a vreg having a non-promoted fp view and a promoted core/ref view.
Change-Id: If77295aa93317e749ceacc8c1dd9e582122c368f
Signed-off-by: Vladimir <vladimir.a.ivanov@intel.com>
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Andreas Gampe [Wed, 18 Feb 2015 03:25:29 +0000 (19:25 -0800)]
ART: Make run-tests more verbose
Make run-tests log ERROR level on host. Adjust some internal LOG(ERROR)
to LOG(WARNING). Add check scripts to adjust for other LOG(ERROR)
messages.
Bug:
18713034
Change-Id: I2a3e055baa6a0e31f106364c300c20963a59ed94
Jeff Hao [Wed, 18 Feb 2015 02:01:00 +0000 (18:01 -0800)]
Default to 64-bit for tests of methods with varying ISAs for valgrind.
The size of the created methods will technically not be correct, but
they will be larger than necessary when the target is changed to 32-bit,
so valgrind will not complain.
Bug:
19368740
Change-Id: Ic78867b4700248ec6d70f5d7f6d87ce9447ac448