OSDN Git Service
Nicolas Geoffray [Mon, 30 Mar 2015 15:30:18 +0000 (15:30 +0000)]
am
392351a8: Merge "[optimizing] Do not inline intrinsics"
* commit '
392351a8aa9c6aec288050ef3f1f5471305b27c1':
[optimizing] Do not inline intrinsics
Nicolas Geoffray [Mon, 30 Mar 2015 15:24:45 +0000 (15:24 +0000)]
Merge "[optimizing] Do not inline intrinsics"
Andreas Gampe [Mon, 30 Mar 2015 15:06:16 +0000 (15:06 +0000)]
am
cf8b2c21: Merge "ART: Arm32 optimizing compiler backend should honor sdiv"
* commit '
cf8b2c21a81959db7fae0868ad02e9234db751c4':
ART: Arm32 optimizing compiler backend should honor sdiv
Andreas Gampe [Mon, 30 Mar 2015 15:02:04 +0000 (15:02 +0000)]
Merge "ART: Arm32 optimizing compiler backend should honor sdiv"
Andreas Gampe [Mon, 30 Mar 2015 00:32:48 +0000 (17:32 -0700)]
ART: Arm32 optimizing compiler backend should honor sdiv
We still support architectures that do not have sdiv.
Issue: https://code.google.com/p/android/issues/detail?id=162257
Change-Id: I6d43620b7599f70a630668791a796a1703b62912
Nicolas Geoffray [Mon, 30 Mar 2015 14:59:16 +0000 (14:59 +0000)]
am
acb4ea0a: Merge "Implement a proper solution for temps."
* commit '
acb4ea0a7f7a0b75cf6eddd619a3e6002b46347e':
Implement a proper solution for temps.
Nicolas Geoffray [Mon, 30 Mar 2015 14:53:42 +0000 (14:53 +0000)]
Merge "Implement a proper solution for temps."
Nicolas Geoffray [Mon, 30 Mar 2015 14:45:28 +0000 (14:45 +0000)]
am
5bb214b6: Merge "Please vogar by not giving a vm-command on host."
* commit '
5bb214b6cd25809de2a4d62607ce69cd16587678':
Please vogar by not giving a vm-command on host.
Andreas Gampe [Mon, 30 Mar 2015 14:45:27 +0000 (14:45 +0000)]
am
618cc856: Merge "ART: Refactor callbacks_ in common_runtime_test"
* commit '
618cc856c0af05ea3b162bd8490999e54a2abc1b':
ART: Refactor callbacks_ in common_runtime_test
Nicolas Geoffray [Mon, 30 Mar 2015 14:40:26 +0000 (14:40 +0000)]
Merge "Please vogar by not giving a vm-command on host."
Andreas Gampe [Mon, 30 Mar 2015 14:39:32 +0000 (14:39 +0000)]
Merge "ART: Refactor callbacks_ in common_runtime_test"
Nicolas Geoffray [Mon, 30 Mar 2015 14:30:26 +0000 (15:30 +0100)]
Please vogar by not giving a vm-command on host.
If the host is configured with shell (and not bash or mksh), the 'art'
script cannot be run by vogar.
Change-Id: Ib88cea2e45de1ff54477ae8ec3a8e831155d86df
Nicolas Geoffray [Mon, 30 Mar 2015 14:22:06 +0000 (14:22 +0000)]
am
547bfb87: Merge "[optimizing] Only print full stats in VLOG(compiler)"
* commit '
547bfb87696fb53a87d4f4418da86938179af9cd':
[optimizing] Only print full stats in VLOG(compiler)
Nicolas Geoffray [Mon, 30 Mar 2015 14:17:10 +0000 (14:17 +0000)]
Merge "[optimizing] Only print full stats in VLOG(compiler)"
Nicolas Geoffray [Mon, 30 Mar 2015 12:29:08 +0000 (13:29 +0100)]
[optimizing] Only print full stats in VLOG(compiler)
Also add a kCompiledQuick stat.
bug:
19956318
Change-Id: I0c6c0ac256362824eb9f1418216ab7e2c289a17b
Nicolas Geoffray [Mon, 30 Mar 2015 13:41:49 +0000 (13:41 +0000)]
am
69aea147: Merge "Fix user-build on fugu."
* commit '
69aea147263055e5fd4cc63f643999883aa5c88a':
Fix user-build on fugu.
Nicolas Geoffray [Mon, 30 Mar 2015 13:35:53 +0000 (13:35 +0000)]
Merge "Fix user-build on fugu."
Nicolas Geoffray [Fri, 27 Mar 2015 10:27:22 +0000 (10:27 +0000)]
Fix user-build on fugu.
Calling Delete on an array shifts the elements, so when iterating
over inactives and removing entries we need to decrement for
the found interval, but also its potential other half. The code
used to not decrement for the other half
Change-Id: Idcb1533643c11a37ed4f459fe88aaef208a4bfd6
Nicolas Geoffray [Mon, 30 Mar 2015 11:39:10 +0000 (11:39 +0000)]
am
fcee9d4a: Merge "Tweak test script while investigating failures."
* commit '
fcee9d4ad44b70cb85aafa9056c08a194c5582e6':
Tweak test script while investigating failures.
Nicolas Geoffray [Mon, 30 Mar 2015 11:32:18 +0000 (11:32 +0000)]
Merge "Tweak test script while investigating failures."
Nicolas Geoffray [Mon, 30 Mar 2015 11:28:26 +0000 (12:28 +0100)]
Tweak test script while investigating failures.
- Disable runs on devices failing,
- Add verbose for host failures.
Change-Id: I4efecfbc40f6666e62fd0835257d5b6c3cdcc798
Sebastien Hertz [Mon, 30 Mar 2015 07:49:43 +0000 (07:49 +0000)]
am
4bf34ade: Merge "JDWP: more checking for StackFrame commands"
* commit '
4bf34ade61a5dd1537781764aa38acbde5be6fc9':
JDWP: more checking for StackFrame commands
Sebastien Hertz [Mon, 30 Mar 2015 07:44:45 +0000 (07:44 +0000)]
Merge "JDWP: more checking for StackFrame commands"
Andreas Gampe [Sun, 29 Mar 2015 20:56:36 +0000 (13:56 -0700)]
ART: Refactor callbacks_ in common_runtime_test
The callback is now important for some runtime checks, and just
resetting callbacks_ is not correct anymore.
Change-Id: I2cb806f1916fd5ea190911a833ce460be557a428
Mathieu Chartier [Mon, 30 Mar 2015 02:00:37 +0000 (02:00 +0000)]
am
a3d40d5f: Merge "Fix some reflection errors"
* commit '
a3d40d5f764adfde8fa40d826cd93ba36cd15437':
Fix some reflection errors
Mathieu Chartier [Mon, 30 Mar 2015 01:57:02 +0000 (01:57 +0000)]
Merge "Fix some reflection errors"
Mathieu Chartier [Mon, 30 Mar 2015 01:27:50 +0000 (18:27 -0700)]
Fix some reflection errors
Fixed incorrectly using 2nd frame instead of 1st in VerifyAccess.
Added regression test to ART. Fixed broken setShort,
getDeclaredFieldInternal.
Change-Id: I4b21d52d998cb768fe9503b8bccec506b7b972e5
Andreas Gampe [Mon, 30 Mar 2015 01:08:52 +0000 (01:08 +0000)]
am
af38d896: Merge "ART: Use enums in Trace"
* commit '
af38d89634edbef394b3ef2cb3390d08dfb8d939':
ART: Use enums in Trace
Andreas Gampe [Mon, 30 Mar 2015 01:04:12 +0000 (01:04 +0000)]
Merge "ART: Use enums in Trace"
Mathieu Chartier [Sun, 29 Mar 2015 22:36:01 +0000 (22:36 +0000)]
am
f381645a: Merge "Add AccessibleObject and Field to mirror"
* commit '
f381645a336f7092ab6f5900c0a2cf183a9dbdf7':
Add AccessibleObject and Field to mirror
Mathieu Chartier [Sun, 29 Mar 2015 22:30:55 +0000 (22:30 +0000)]
Merge "Add AccessibleObject and Field to mirror"
Andreas Gampe [Sun, 29 Mar 2015 22:26:23 +0000 (15:26 -0700)]
ART: Use enums in Trace
Move away from booleans. Will make introduction of streaming mode
a bit easier / obvious.
Change-Id: Id7ae92f6b97f627e848510d473931537d7db0db8
Mathieu Chartier [Tue, 24 Mar 2015 20:30:28 +0000 (13:30 -0700)]
Add AccessibleObject and Field to mirror
Main motivation is to remove all the functionality / field access on
java side to ArtField. Also comes with some reflection speedups /
slowdowns.
Summary results:
getDeclaredField/getField are slower mostly due to JNI overhead.
However, there is a large speedup in getInt, setInt,
GetInstanceField, and GetStaticField.
Before timings (N5 --compiler-filter=everything):
benchmark ns linear runtime
Class_getDeclaredField 782.86 ===
Class_getField 832.77 ===
Field_getInt 160.17 =
Field_setInt 195.88 =
GetInstanceField 3214.38 ==============
GetStaticField 6809.49 ==============================
After:
Class_getDeclaredField 1068.15 ============
Class_getField 1180.00 ==============
Field_getInt 121.85 =
Field_setInt 139.98 =
GetInstanceField 1986.15 =======================
GetStaticField 2523.63 ==============================
Bug:
19264997
Change-Id: Ic0d0fc1b56b95cd6d60f8e76f19caeaa23045c77
Andreas Gampe [Sun, 29 Mar 2015 21:00:06 +0000 (21:00 +0000)]
am
68e22f3b: Merge "ART: Some runtime cleanup"
* commit '
68e22f3b982ff9ccbdfb3b65b7cfc16fcae907ba':
ART: Some runtime cleanup
Andreas Gampe [Sun, 29 Mar 2015 20:52:57 +0000 (20:52 +0000)]
Merge "ART: Some runtime cleanup"
Nicolas Geoffray [Sat, 28 Mar 2015 14:11:36 +0000 (14:11 +0000)]
am
d6c93101: Merge "Fix typos spotted by Andreas."
* commit '
d6c93101f81fbdcd68b0fa2965d8af3877d15ea4':
Fix typos spotted by Andreas.
Nicolas Geoffray [Sat, 28 Mar 2015 14:04:56 +0000 (14:04 +0000)]
Merge "Fix typos spotted by Andreas."
Andreas Gampe [Sat, 28 Mar 2015 06:45:15 +0000 (23:45 -0700)]
ART: Some runtime cleanup
Use an enum for the compiler-callback mode.
Refactor and remove some unnecessary includes in runtime.h.
Change-Id: If2245fa470171311b8e05b677cf6bb28f209585a
Andreas Gampe [Sat, 28 Mar 2015 06:25:40 +0000 (06:25 +0000)]
am
e2c29f4a: Merge "ART: Use instrumented Alloc in Class-Linker"
* commit '
e2c29f4a2717923f190c944a06e02f7d8c3ddcb6':
ART: Use instrumented Alloc in Class-Linker
Andreas Gampe [Sat, 28 Mar 2015 06:20:07 +0000 (06:20 +0000)]
Merge "ART: Use instrumented Alloc in Class-Linker"
Andreas Gampe [Sat, 28 Mar 2015 06:18:07 +0000 (23:18 -0700)]
ART: Use instrumented Alloc in Class-Linker
To support Valgrind over dex2oat and gtests, CreatePathClassLoader
must use instrumented allocation.
Change-Id: I9dc2d009d37bec598c5de67688ebf9810da6e899
Andreas Gampe [Sat, 28 Mar 2015 04:49:42 +0000 (04:49 +0000)]
am
86787d0b: Merge "ART: PathClassLoader for compiler"
* commit '
86787d0bc2c5ad3b9c3b880b0fe2325d2b8bd672':
ART: PathClassLoader for compiler
Andreas Gampe [Sat, 28 Mar 2015 04:44:36 +0000 (04:44 +0000)]
Merge "ART: PathClassLoader for compiler"
Andreas Gampe [Thu, 26 Mar 2015 00:19:53 +0000 (17:19 -0700)]
ART: PathClassLoader for compiler
Use an actual PathClassLoader when compiling apps, instead of a
side structure and cutout.
This CL sets up a minimal object 'cluster' that recreates the Java
side of a regular ClassLoader such that the Class-Linker will
recognize it and use the internal native fast-path.
This CL removes the now unnecessary compile-time-classpath and
replaces it with a single 'compiling-the-boot-image' flag in the
compiler callbacks.
Note: This functionality is *only* intended for the compiler, as
the objects have not been completely initialized.
Bug:
19781184
Change-Id: I7f36af12dd7852d21281110a25c119e8c0669c1d
Andreas Gampe [Sat, 28 Mar 2015 04:31:03 +0000 (04:31 +0000)]
am
5c7acfc0: Merge "[MIPS] Refactoring code for quick compiler"
* commit '
5c7acfc0b5acc50c60c57934341750f7c776d57e':
[MIPS] Refactoring code for quick compiler
Andreas Gampe [Sat, 28 Mar 2015 04:26:22 +0000 (04:26 +0000)]
Merge "[MIPS] Refactoring code for quick compiler"
Razvan A Lupusoru [Fri, 27 Mar 2015 20:44:44 +0000 (13:44 -0700)]
[optimizing] Do not inline intrinsics
The intrinsics generally have specialized code and the code for them
may be faster than what can be achieved with inlining. Thus inliner
should skip intrinsics.
At the same time, easy methods are not worth intrinsifying: ie String
length and isEmpty. Those can be handled by inliner with no problem
and can actually lead to better code since call is not kept around
through all of the optimizations.
Change-Id: Iab38e6c33f79efa54d845d4871cf26fa9b235ab0
Signed-off-by: Razvan A Lupusoru <razvan.a.lupusoru@intel.com>
Nicolas Geoffray [Fri, 27 Mar 2015 17:15:49 +0000 (17:15 +0000)]
Implement a proper solution for temps.
We used to play some trickery when updating locations of temps. This
change creates a proper use of the temp, and use it for updating
its location.
Change-Id: I53e9447b87a55137a3a79841db21ad3864854825
Nicolas Geoffray [Fri, 27 Mar 2015 17:21:24 +0000 (17:21 +0000)]
Fix typos spotted by Andreas.
Change-Id: I564b4bc5995d91f4c6c4e4f2427ed7c279cb8740
Nicolas Geoffray [Fri, 27 Mar 2015 17:18:36 +0000 (17:18 +0000)]
am
d68cef75: Merge "Re-enable test."
* commit '
d68cef75a2b57b5c5ab33065d567446b4510b143':
Re-enable test.
Nicolas Geoffray [Fri, 27 Mar 2015 17:13:49 +0000 (17:13 +0000)]
Merge "Re-enable test."
Nicolas Geoffray [Fri, 27 Mar 2015 15:49:32 +0000 (15:49 +0000)]
Re-enable test.
The boot image can now be compiled with optimizing.
Change-Id: Idbdec44ccb01e3b0251914da150d9dd0854c61e6
Goran Jakovljevic [Tue, 24 Mar 2015 17:42:56 +0000 (18:42 +0100)]
[MIPS] Refactoring code for quick compiler
Code from compiler/dex/quick/mips64 is merged with code
in mips folder.
Change-Id: I785983c21549141306484647da86a0bb4815daaa
Nicolas Geoffray [Fri, 27 Mar 2015 15:28:43 +0000 (15:28 +0000)]
am
7d8c6776: Merge "GVN HClinitCheck nodes."
* commit '
7d8c6776d7bdcc04411154aa215ba5909939192a':
GVN HClinitCheck nodes.
Nicolas Geoffray [Fri, 27 Mar 2015 15:22:53 +0000 (15:22 +0000)]
Merge "GVN HClinitCheck nodes."
Sebastien Hertz [Thu, 26 Mar 2015 07:47:47 +0000 (08:47 +0100)]
JDWP: more checking for StackFrame commands
Checks thread is suspended and the slot is valid for GetValues and
SetValues command. Also improves error messages when we could not
get or set a local value in the stack or we try to read an invalid
reference from the stack.
Bug:
15680615
Change-Id: I629099fc908e733edb712bd43e141695ed858f4f
Nicolas Geoffray [Fri, 27 Mar 2015 15:00:40 +0000 (15:00 +0000)]
GVN HClinitCheck nodes.
Change-Id: I5c79caadd57d10214a44149fda53e9e185ac7eca
John Reck [Fri, 27 Mar 2015 14:17:20 +0000 (14:17 +0000)]
am
d0056cea: Merge "Include pid in trace metadata"
* commit '
d0056ceab8a78d5cfc0b4e06bce548b2d1cf1fef':
Include pid in trace metadata
John Reck [Fri, 27 Mar 2015 14:13:34 +0000 (14:13 +0000)]
Merge "Include pid in trace metadata"
John Reck [Thu, 26 Mar 2015 22:47:54 +0000 (15:47 -0700)]
Include pid in trace metadata
Change-Id: I5d23fc7da94c1a344850833dfbbaa330fdbe28a7
Nicolas Geoffray [Fri, 27 Mar 2015 12:26:34 +0000 (12:26 +0000)]
am
92baf2c0: Merge "Intrinsify String.compareTo."
* commit '
92baf2c03f155df3ead6d7f55f3a605e120eb11e':
Intrinsify String.compareTo.
Nicolas Geoffray [Fri, 27 Mar 2015 12:20:16 +0000 (12:20 +0000)]
Merge "Intrinsify String.compareTo."
Nicolas Geoffray [Fri, 27 Mar 2015 09:53:16 +0000 (09:53 +0000)]
Intrinsify String.compareTo.
Change-Id: Ia540df98755ac493fe61bd63f0bd94f6d97fbb57
David Brazdil [Fri, 27 Mar 2015 11:20:39 +0000 (11:20 +0000)]
am
c4181826: Merge "ART: Fix IsInt when N==32, add tests"
* commit '
c4181826dcd2b2e484a5b01871f49680881ad379':
ART: Fix IsInt when N==32, add tests
David Brazdil [Fri, 27 Mar 2015 11:14:05 +0000 (11:14 +0000)]
Merge "ART: Fix IsInt when N==32, add tests"
David Brazdil [Fri, 27 Mar 2015 10:31:38 +0000 (10:31 +0000)]
ART: Fix IsInt when N==32, add tests
Implicit type conversion caused IsInt to always return true for N==32
on 32-bit platforms. This patch templetizes the function to avoid
the conversion and adds tests of this and similar functions.
Change-Id: Ie526b68b7c3e7cb7b658253d51840794224785fe
Nicolas Geoffray [Fri, 27 Mar 2015 10:56:44 +0000 (10:56 +0000)]
am
0cf90d5d: Merge "Fix run-all-tests script when --always-clean is used"
* commit '
0cf90d5d256a56fc90869c9d1aed7aeb594d0742':
Fix run-all-tests script when --always-clean is used
Vladimir Marko [Fri, 27 Mar 2015 10:56:43 +0000 (10:56 +0000)]
am
ccd8cb06: Merge "Quick: Finding upper half of kMirOpCheckPart2 should passthough empty blocks"
* commit '
ccd8cb0695a1723e5ea7869fc16107b888fbabf7':
Quick: Finding upper half of kMirOpCheckPart2 should passthough empty blocks
Nicolas Geoffray [Fri, 27 Mar 2015 10:54:41 +0000 (10:54 +0000)]
Merge "Fix run-all-tests script when --always-clean is used"
Vladimir Marko [Fri, 27 Mar 2015 10:52:11 +0000 (10:52 +0000)]
Merge "Quick: Finding upper half of kMirOpCheckPart2 should passthough empty blocks"
Goran Jakovljevic [Fri, 27 Mar 2015 10:48:25 +0000 (11:48 +0100)]
Fix run-all-tests script when --always-clean is used
Change-Id: Icd44776e77c00f789bb579b6e55241abdfc0e68d
Pavel Vyssotski [Fri, 27 Mar 2015 09:23:02 +0000 (15:23 +0600)]
Quick: Finding upper half of kMirOpCheckPart2 should passthough empty blocks
Mir2Lir::InitReferenceVRegs trying to find throwing instruction for
kMirOpCheckPart2 should traverse possible empty blocks which compiler
optimizations could generate between them.
Change-Id: I2ab29dd36635fd4c4ef2dd81b51e571e206775e6
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
Nicolas Geoffray [Fri, 27 Mar 2015 09:34:00 +0000 (09:34 +0000)]
am
b3665e3d: Merge "[optimizing] Implement X86 intrinsic support"
* commit '
b3665e3dfdd23cc7a2f17a0b53bb16205bf4151f':
[optimizing] Implement X86 intrinsic support
Nicolas Geoffray [Fri, 27 Mar 2015 09:29:06 +0000 (09:29 +0000)]
Merge "[optimizing] Implement X86 intrinsic support"
Mark Mendell [Wed, 25 Mar 2015 12:30:06 +0000 (08:30 -0400)]
[optimizing] Implement X86 intrinsic support
Implement the supported intrinsics for X86.
Enhance the graph visualizer to print <U> for unallocated locations, to
allow calling the graph dumper from within register allocation for
debugging purposes.
Change-Id: I3b0319eb70a9a4ea228f67065b4c52d13a1ae775
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Andreas Gampe [Thu, 26 Mar 2015 22:48:40 +0000 (22:48 +0000)]
am
03910065: Merge "ART: Change RETURN_OBJECT verification for arrays"
* commit '
03910065cd025ecb07781b85c2240be69c202d75':
ART: Change RETURN_OBJECT verification for arrays
Andreas Gampe [Thu, 26 Mar 2015 22:44:03 +0000 (22:44 +0000)]
Merge "ART: Change RETURN_OBJECT verification for arrays"
Mathieu Chartier [Thu, 26 Mar 2015 22:42:33 +0000 (22:42 +0000)]
am
83aae275: Merge "Fix ClassLinker::MayBeCalledWithDirectCodePointer for JIT"
* commit '
83aae275268b021d23d2dc6708bd9cef3d7e4b50':
Fix ClassLinker::MayBeCalledWithDirectCodePointer for JIT
Mathieu Chartier [Thu, 26 Mar 2015 22:34:57 +0000 (22:34 +0000)]
Merge "Fix ClassLinker::MayBeCalledWithDirectCodePointer for JIT"
Andreas Gampe [Mon, 23 Mar 2015 17:10:20 +0000 (10:10 -0700)]
ART: Change RETURN_OBJECT verification for arrays
Arrays appear to be valid (as according to spec), even if their
components are erroneous. If a component is erroneous, it may not
have loaded superclass or interface information, and so fail a
direct check for assignability.
Add a cutout that checks whether the declared return-type or the
actual return-type are arrays with erroneous components (and if so,
have the same 'depth'). In that case, generate a soft instead of a
hard error.
Also includes a fix to DumpClass.
Bug:
19683465
Change-Id: Ie73de03adeb0af7e939370d7363684fe125d7994
Mathieu Chartier [Thu, 26 Mar 2015 16:41:50 +0000 (09:41 -0700)]
Fix ClassLinker::MayBeCalledWithDirectCodePointer for JIT
Currently, we don't know if another method has a direct code
pointer or not. This should fix the case where breakpoints
occasionally don't work with JIT.
The JIT now also checks that a method doesn't have any breakpoints
before starting to compile it.
Bug:
17950037
Change-Id: I17cfe874fe4825beba23903a5053d5cb27e106cb
Nicolas Geoffray [Thu, 26 Mar 2015 18:19:15 +0000 (18:19 +0000)]
am
81adb4f8: Merge "New localhost failures...."
* commit '
81adb4f8fd261be11d399d210029189e94888a9e':
New localhost failures....
Nicolas Geoffray [Thu, 26 Mar 2015 18:12:55 +0000 (18:12 +0000)]
Merge "New localhost failures...."
Nicolas Geoffray [Thu, 26 Mar 2015 18:08:59 +0000 (18:08 +0000)]
New localhost failures....
Change-Id: Id3992f3c04dfa8fad130073ee9ea4f4d715c8432
Nicolas Geoffray [Thu, 26 Mar 2015 18:08:45 +0000 (18:08 +0000)]
am
55e48144: Merge "Add a script to run jdwp tests on the chrome buildbot."
* commit '
55e48144384016c7666bf2b59e2d1befd44385ba':
Add a script to run jdwp tests on the chrome buildbot.
Nicolas Geoffray [Thu, 26 Mar 2015 18:03:00 +0000 (18:03 +0000)]
Merge "Add a script to run jdwp tests on the chrome buildbot."
Nicolas Geoffray [Thu, 26 Mar 2015 16:48:29 +0000 (16:48 +0000)]
Add a script to run jdwp tests on the chrome buildbot.
Change-Id: Ia702fd884f10abcb0887f4964c7df3c04a508984
David Brazdil [Thu, 26 Mar 2015 15:25:18 +0000 (15:25 +0000)]
am
cac51526: Merge "ART: Define IsInt when N==kBitsPerIntPtrT"
* commit '
cac51526bbd03947676a8d49700425b19a57e447':
ART: Define IsInt when N==kBitsPerIntPtrT
David Brazdil [Thu, 26 Mar 2015 15:18:57 +0000 (15:18 +0000)]
Merge "ART: Define IsInt when N==kBitsPerIntPtrT"
David Brazdil [Thu, 26 Mar 2015 15:11:45 +0000 (15:11 +0000)]
ART: Define IsInt when N==kBitsPerIntPtrT
'utils.h' contains two implementations of the IsInt query, one of
which is defined for bit sizes <= kBitsPerIntPtrT, while the other
only for sizes < kBitsPerIntPtrT. This patch unifies the behaviour
and fixes the breakage caused by it.
Change-Id: I4f5589b1a36b6c24926e50574fbca528c33d701f
Richard Uhler [Thu, 26 Mar 2015 15:04:45 +0000 (15:04 +0000)]
am
aa23b169: Merge "Store odex files in oat/<isa>/ directory."
* commit '
aa23b169f8c996380bcee3a7032da2599c6211ec':
Store odex files in oat/<isa>/ directory.
Richard Uhler [Thu, 26 Mar 2015 14:57:37 +0000 (14:57 +0000)]
Merge "Store odex files in oat/<isa>/ directory."
David Brazdil [Thu, 26 Mar 2015 14:20:26 +0000 (14:20 +0000)]
am
5eae0b61: Merge "ART: Force constants into the entry block"
* commit '
5eae0b6112aef6b1bc3a24427e80f1ef96e513dc':
ART: Force constants into the entry block
David Brazdil [Thu, 26 Mar 2015 14:11:53 +0000 (14:11 +0000)]
Merge "ART: Force constants into the entry block"
David Brazdil [Tue, 24 Mar 2015 10:51:52 +0000 (10:51 +0000)]
ART: Force constants into the entry block
Optimizations such as GVN and BCE make the assumption that all
constants are located in the entry block of the CFG, but not all
passes adhere to this rule.
This patch makes constructors of constants private and only accessible
to friend classes - HGraph for int/long constants and SsaBuilder for
float/double - which ensure that they are placed correctly and not
duplicated.
Note that the ArenaAllocatorAdapter was modified to not increment
the ArenaAllocator's internal reference counter in order to allow
for use of ArenaSafeMap inside an arena-allocated objects. Because
their destructor is not called, the counter does not get decremented.
Change-Id: I36a4fa29ae34fb905cdefd482ccbf386cff14166
Nicolas Geoffray [Thu, 26 Mar 2015 10:50:38 +0000 (10:50 +0000)]
am
c8924c6e: Merge "Use the original invoke type when inlining."
* commit '
c8924c6ea9e83ba3832dd5551df38ab06f4aaca9':
Use the original invoke type when inlining.
Nicolas Geoffray [Thu, 26 Mar 2015 10:45:51 +0000 (10:45 +0000)]
Merge "Use the original invoke type when inlining."
Nicolas Geoffray [Thu, 26 Mar 2015 10:05:54 +0000 (10:05 +0000)]
Use the original invoke type when inlining.
When resolving a method through the compiler driver, the code makes
sure the call in the DEX bytecode matches the kind of method found,
to check for IncompatibleClassChangeError. Because when we sharpen
an invoke virtual, we transform the invoke kind to direct, we must not
use the new kind, but the one in DEX.
Change-Id: Iaf77b27b529c659ea48ffb19f46427552c9e3654
Nicolas Geoffray [Wed, 25 Mar 2015 22:03:43 +0000 (22:03 +0000)]
am
9ed05c4c: Merge "Mark the tests as failing for now."
* commit '
9ed05c4cf76aaeee48a1eb5bbae659b0acbabe67':
Mark the tests as failing for now.
Richard Uhler [Mon, 16 Mar 2015 21:32:16 +0000 (14:32 -0700)]
Store odex files in oat/<isa>/ directory.
Previously odex files were stored alongside the dex location as:
dex location: /foo/bar/base.apk
odex location: /foo/bar/<isa>/base.odex
This changes where odex files are stored, adding an "oat" directory:
dex location: /foo/bar/base.apk
odex location: /foo/bar/oat/<isa>/base.odex
See also the corresponding change in platform/build and
platform/frameworks/native.
Bug:
19550105
Change-Id: I4c6be4f0c41ff175904846db8e360c4af815b265