OSDN Git Service
Hiroshi Yamauchi [Mon, 8 Dec 2014 20:08:46 +0000 (12:08 -0800)]
Make it possible to enable heap poisoning via make variable.
If ART_HEAP_POISONING=true, build with heap poisoning enabled.
Bug:
8367515
Change-Id: I818e86047e6dd99b5bc9920713ef943a65b677e6
Mathieu Chartier [Mon, 8 Dec 2014 20:06:54 +0000 (20:06 +0000)]
Merge "Clean up ReferenceTable::Dump"
Mathieu Chartier [Mon, 8 Dec 2014 19:50:36 +0000 (11:50 -0800)]
Clean up ReferenceTable::Dump
Make sure that we never have nulls and cleared weak globals in the
sorted table. Cleaned up comparator.
Bug:
18597401
Change-Id: I5f437dfa29c813e17cdde411175abc927283716d
Vladimir Marko [Mon, 8 Dec 2014 19:03:05 +0000 (19:03 +0000)]
Merge "Quick: Kill unreachable blocks instead of just hiding them."
Vladimir Marko [Mon, 8 Dec 2014 18:38:42 +0000 (18:38 +0000)]
Merge "Re-factor Quick ABI support"
Calin Juravle [Mon, 8 Dec 2014 18:07:32 +0000 (18:07 +0000)]
Merge "[optimizing compiler] Add REM_FLOAT and REM_DOUBLE"
Calin Juravle [Mon, 8 Dec 2014 14:24:46 +0000 (14:24 +0000)]
[optimizing compiler] Add REM_FLOAT and REM_DOUBLE
- for arm, x86, x86_64 backends
- reinstated fmod quick entry points for x86. This is a partial revert
of
bd3682eada753de52975ae2b4a712bd87dc139a6 which added inline assembly
for floting point rem on x86. Note that Quick still uses the inline
version.
- fix rem tests for longs
Change-Id: I73be19a9f2f2bcf3f718d9ca636e67bdd72b5440
Vladimir Marko [Mon, 8 Dec 2014 15:16:54 +0000 (15:16 +0000)]
Quick: Kill unreachable blocks instead of just hiding them.
This changes the block type from kDalvikByteCode to kDead
and properly cleans up predecessors and MIRGraph::catches_.
Bug:
18626174
Change-Id: I268bf68f7947604bcb82caf95ee79c6831ee6e2a
Nicolas Geoffray [Mon, 8 Dec 2014 14:00:55 +0000 (14:00 +0000)]
Merge "Test has been updated, does not fail anymore."
Nicolas Geoffray [Mon, 8 Dec 2014 14:00:02 +0000 (14:00 +0000)]
Test has been updated, does not fail anymore.
Change-Id: Ie0506d048eb9dd7f356ba29ce8b58f9bec336ea0
Vladimir Marko [Mon, 8 Dec 2014 12:42:28 +0000 (12:42 +0000)]
Merge "ART: Clear use count for unused VRs."
Serguei Katkov [Thu, 13 Nov 2014 11:19:42 +0000 (17:19 +0600)]
Re-factor Quick ABI support
Now every architecture must provide a mapper between
VRs parameters and physical registers. Additionally as
a helper function architecture can provide a bulk copy
helper for GenDalvikArgs utility.
All other things becomes a common code stuff:
GetArgMappingToPhysicalReg, GenDalvikArgsNoRange,
GenDalvikArgsRange, FlushIns.
Mapper now uses shorty representation of input
parameters. This is required due to location are not
enough to detect the type of parameter (fp or core).
For the details
see https://android-review.googlesource.com/#/c/113936/.
Change-Id: Ie762b921e0acaa936518ee6b63c9a9d25f83e434
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Zheng Xu [Mon, 8 Dec 2014 10:18:01 +0000 (18:18 +0800)]
ART: Clear use count for unused VRs.
The use count of temp VR should be cleared when we replace
"CMP_XXX vA, vB, vC" and "IF_XXX vA" with "kMirOpFusedCmpXXX vB, vC".
Otherwise, the backend may allocate a physical register for the unused vA.
Change-Id: I43ad37d0e7161ec3de154de8888caa94603f7715
Andreas Gampe [Sat, 6 Dec 2014 00:08:38 +0000 (00:08 +0000)]
Merge "ART: Fix string data leak in image writer"
Mathieu Chartier [Fri, 5 Dec 2014 23:28:08 +0000 (23:28 +0000)]
Merge "Add pointer size logic to InitFromImageInterpretOnly"
Christopher Ferris [Fri, 5 Dec 2014 23:08:58 +0000 (23:08 +0000)]
Merge "Fix arm unwind data for art code."
Nicolas Geoffray [Fri, 5 Dec 2014 21:42:56 +0000 (21:42 +0000)]
Merge "Make dex2oat 32bits when HOST_PREFER_32_BIT=true."
Mathieu Chartier [Fri, 5 Dec 2014 18:57:13 +0000 (10:57 -0800)]
Add pointer size logic to InitFromImageInterpretOnly
Previously we didn't have this logic which broke dex2oat if passed
--runtime-option -Xint flag.
Also we now no longer call InitFromImageInterpretOnlyCallback if
we are the compiler.
Bug:
18631640
Change-Id: Ie84fceeb85cabeeec7a5fedefd73dd919cca8e5e
Andreas Gampe [Fri, 5 Dec 2014 19:37:19 +0000 (19:37 +0000)]
Merge "ART: Fix typo"
Andreas Gampe [Fri, 5 Dec 2014 05:25:04 +0000 (21:25 -0800)]
ART: Fix string data leak in image writer
The string intern data is a large object, so it will be recognized
as leaking under valgrind.
Bug:
18628623
Change-Id: I9090db119a50eebd806a82369bd46527c4e7dbf0
Andreas Gampe [Fri, 5 Dec 2014 19:16:26 +0000 (11:16 -0800)]
ART: Fix typo
Change-Id: Ie9a242240511adae9fcdbaae8d6b5be61fb5075b
Ian Rogers [Fri, 5 Dec 2014 16:13:02 +0000 (16:13 +0000)]
Merge "Revert "Re-enable one thread dumping the native stack of another.""
Ian Rogers [Fri, 5 Dec 2014 16:12:21 +0000 (16:12 +0000)]
Revert "Re-enable one thread dumping the native stack of another."
This reverts commit
e652b62c581a3d68b1fc82e0b04e3a59dd633e52.
Change-Id: Ida56d2c23849c1ede82a22100df402877256e270
Vladimir Marko [Fri, 5 Dec 2014 16:04:40 +0000 (16:04 +0000)]
Merge "Quick: Fix code layout pass; don't terminate too early."
Vladimir Marko [Fri, 5 Dec 2014 15:34:50 +0000 (15:34 +0000)]
Merge "Revert "Revert "Rewrite ImageWriter's merging of String char[]s."""
Vladimir Marko [Fri, 5 Dec 2014 13:55:42 +0000 (13:55 +0000)]
Quick: Fix code layout pass; don't terminate too early.
Change-Id: I0c417fdc2ee8213672a7568fe228e5e2f1c1ab61
Nicolas Geoffray [Fri, 5 Dec 2014 12:12:48 +0000 (12:12 +0000)]
Merge "Make script suitable for vogar use on device."
Roland Levillain [Fri, 5 Dec 2014 12:08:39 +0000 (12:08 +0000)]
Merge "Add support for double-to-int & double-to-long in optimizing."
Nicolas Geoffray [Thu, 4 Dec 2014 17:05:22 +0000 (17:05 +0000)]
Make script suitable for vogar use on device.
Also update device expectations that need investigation.
Change-Id: I86a613f3f62c2f999296f8b7505646a96ab4adf8
Roland Levillain [Fri, 5 Dec 2014 12:06:01 +0000 (12:06 +0000)]
Add support for double-to-int & double-to-long in optimizing.
- Add support for the double-to-int and double-to-long Dex
instructions in the optimizing compiler.
- Add S1 to the list of ARM FPU parameter registers so that
a double value can be passed as parameter during a call
to the runtime through D0.
- Have art::x86_64::X86_64Assembler::cvttsd2si work with
64-bit operands.
- Generate x86, x86-64 and ARM (but not ARM64) code for
double to int and double to long HTypeConversion nodes.
- Add related tests to test/422-type-conversion.
Change-Id: Ic93b9ec6630c26e940f7966a3346ad3fd5a2ab3a
Nicolas Geoffray [Fri, 5 Dec 2014 11:55:41 +0000 (11:55 +0000)]
Make dex2oat 32bits when HOST_PREFER_32_BIT=true.
Change-Id: Id6465c697512f32402bdf71c75e52db47f1fb0a2
Ian Rogers [Fri, 5 Dec 2014 04:37:05 +0000 (04:37 +0000)]
Merge "Re-enable one thread dumping the native stack of another."
Ian Rogers [Fri, 5 Dec 2014 04:11:48 +0000 (20:11 -0800)]
Re-enable one thread dumping the native stack of another.
Bug:
15446488
Change-Id: I49d4d283f7b7d04b9d8c940313d6c5107ba9f99d
Ian Rogers [Fri, 5 Dec 2014 04:05:51 +0000 (04:05 +0000)]
Merge "Tidy gAborting."
Ian Rogers [Fri, 5 Dec 2014 03:53:52 +0000 (19:53 -0800)]
Tidy gAborting.
Reduce scope to Runtime::Abort and short-cut recursive case earlier. gAborting
remains global to avoid two fatal errors in thread and the verifier.
Change-Id: Ibc893f891ffee9a763c65cde9507d99083d47b3f
Vladimir Marko [Thu, 4 Dec 2014 14:52:25 +0000 (14:52 +0000)]
Revert "Revert "Rewrite ImageWriter's merging of String char[]s.""
This reverts commit
4c964de8832551b701ce7b3162bc51cc6b22fc8a.
Change-Id: I940bdf48e2dbaef0f809beda32756507d18acb89
Andreas Gampe [Fri, 5 Dec 2014 01:25:34 +0000 (01:25 +0000)]
Merge "ART: Fix linting errors"
Andreas Gampe [Fri, 5 Dec 2014 01:24:50 +0000 (17:24 -0800)]
ART: Fix linting errors
Fix bounds_check_elimination linting errors.
Change-Id: I040433ecbc84d740bff331c37df0bfcc64dc244e
Mingyao Yang [Fri, 5 Dec 2014 01:06:53 +0000 (01:06 +0000)]
Merge "Bounds check elimination."
Ian Rogers [Fri, 5 Dec 2014 00:34:38 +0000 (00:34 +0000)]
Merge "X86_64 QBE: use RIP addressing"
Andreas Gampe [Thu, 4 Dec 2014 23:59:55 +0000 (23:59 +0000)]
Merge "ART: Add SparseSwitch support to the optimizing compiler"
Andreas Gampe [Thu, 4 Dec 2014 17:09:57 +0000 (09:09 -0800)]
ART: Add SparseSwitch support to the optimizing compiler
Add simple sparse-switch support through chained IFs. Refactor a
bit to better reuse code between switch types.
Now enables compiled versions of 015-switch and 095-switch-MAX_INT.
Bug:
18410979
Change-Id: Ib617e4b877f0b7fbc3bb289800f612f013480713
Andreas Gampe [Thu, 4 Dec 2014 22:06:01 +0000 (22:06 +0000)]
Merge "ART: Wire up a valgrind-wrapped dex2oat run"
Brian Carlstrom [Thu, 4 Dec 2014 21:51:05 +0000 (21:51 +0000)]
Merge "Remove dex2oat watchdog warning"
Mark Mendell [Tue, 2 Dec 2014 00:06:12 +0000 (19:06 -0500)]
X86_64 QBE: use RIP addressing
Take advantage of RIP addressing in 64 bit mode to improve the code
generation for accesses to the constant area as well as packed switches.
Avoid computing the address of the start of the method, which is needed
in 32 bit mode.
To do this, we add a new 'pseudo-register' kRIPReg to minimize the
changes needed to get the new addressing mode to be generated.
Change-Id: Ia28c93f98b09939806d91ff0bd7392e58996d108
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Christopher Ferris [Fri, 31 Oct 2014 02:04:13 +0000 (19:04 -0700)]
Fix arm unwind data for art code.
Bug:
17392751
Change-Id: Ic85d4468b0f931aa9e38dee12d466a1e04ebf944
Hans Boehm [Thu, 4 Dec 2014 19:57:01 +0000 (19:57 +0000)]
Merge "Make Barrier robust against spurious wakeups"
Brian Carlstrom [Thu, 4 Dec 2014 06:29:37 +0000 (22:29 -0800)]
Remove dex2oat watchdog warning
The warning output is breaking vm-tests on some devices. It does not
seem to serve much of a purpose given that it does not go to logcat
and long running compiles can be identified by the time summary
printed at the end of dex2oat.
(cherry picked from commit
c1bfaa22570b4f771ae1cd832201b01ec84e32c1)
Bug:
18609574
Change-Id: Iefc3c51be35ceaff0031522c4d6c2cdf5703dcb6
Hans Boehm [Wed, 3 Dec 2014 02:31:31 +0000 (18:31 -0800)]
Make Barrier robust against spurious wakeups
Fix Barrier implementation so that Wait cannot return prematurely
due to a spurious condition variable wakeup or interrupted futex call.
Document the resulting semantics of barrier.h, which are a bit surprising,
but appear to be exactly what current clients need.
Fix the test so that it actually passes with the fixed barrier.h,
and no longer tests for properties that can't be correctly satisfied.
Improve comment for InitTimeSpec, which we almost used.
Bug:
18509123
Change-Id: I0b25f33bcd22322ba04e3951cd484843788c2bf5
Ian Rogers [Thu, 4 Dec 2014 17:50:45 +0000 (17:50 +0000)]
Merge "Remove unused headers."
Nicolas Geoffray [Thu, 4 Dec 2014 17:33:13 +0000 (17:33 +0000)]
Merge "On arm64/optimizing, compile the boot image with interpreter."
Nicolas Geoffray [Thu, 4 Dec 2014 17:25:00 +0000 (17:25 +0000)]
On arm64/optimizing, compile the boot image with interpreter.
Oterhwise the tests will fail because the backend is not fully
implemented yet.
Change-Id: I9dbd45279c7e515b52656825e1d4be92961b0da6
Andreas Gampe [Thu, 4 Dec 2014 17:09:45 +0000 (17:09 +0000)]
Merge "ART: Add PackedSwitch support to the optimizing compiler"
Andreas Gampe [Tue, 25 Nov 2014 07:28:39 +0000 (23:28 -0800)]
ART: Add PackedSwitch support to the optimizing compiler
Add simple packed-switch support through chained IFs.
Now enables compiled versions of 015-switch and 095-switch-MAX_INT.
Change-Id: I17cc8d659d1dd2d64227851c23998c04367e8cf5
Nicolas Geoffray [Thu, 4 Dec 2014 16:46:27 +0000 (16:46 +0000)]
Merge "Temporary disable the test."
Nicolas Geoffray [Thu, 4 Dec 2014 16:44:58 +0000 (16:44 +0000)]
Temporary disable the test.
Test fails when the boot image is compiled with optimizing. Disabling
while investigating.
Change-Id: I2b665cf79ea2a5edbdbfc4aee3c6b381c837d658
Nicolas Geoffray [Thu, 4 Dec 2014 15:11:10 +0000 (15:11 +0000)]
Merge "Build core.oat without flags."
Nicolas Geoffray [Thu, 4 Dec 2014 14:39:31 +0000 (14:39 +0000)]
Build core.oat without flags.
Existing tools (like vogar) assume only one boot image, so to test the
boot image compiled with the optimizing compiler, we have to compile
core.oat with it.
Change-Id: I4b55236163333709b05c80eea18778ecd2b58a91
Vladimir Marko [Thu, 4 Dec 2014 12:31:16 +0000 (12:31 +0000)]
Merge "Revert "Rewrite ImageWriter's merging of String char[]s.""
Roland Levillain [Thu, 4 Dec 2014 12:30:06 +0000 (12:30 +0000)]
Merge "Add support for float-to-double & double-to-float in optimizing."
Vladimir Marko [Thu, 4 Dec 2014 12:29:32 +0000 (12:29 +0000)]
Revert "Rewrite ImageWriter's merging of String char[]s."
This reverts commit
c73743cfd9718a8e1eeb9c9220c182a475935a1c.
Change-Id: Id7ee22ff0ebcd2df0f8c2f4432977dbcd81b0b56
Roland Levillain [Thu, 4 Dec 2014 12:10:50 +0000 (12:10 +0000)]
Add support for float-to-double & double-to-float in optimizing.
Change-Id: I41b0fee5a28c83757697c8d000b7e224cf5a4534
Roland Levillain [Thu, 4 Dec 2014 12:01:55 +0000 (12:01 +0000)]
Merge "Add support for float-to-long in the optimizing compiler."
Roland Levillain [Thu, 4 Dec 2014 11:54:28 +0000 (11:54 +0000)]
Add support for float-to-long in the optimizing compiler.
- Add support for the float-to-long Dex instruction in the
optimizing compiler.
- Add a Dex PC field to art::HTypeConversion to allow the
x86 and ARM code generators to produce runtime calls.
- Instruct art::CodeGenerator::RecordPcInfo not to record
PC information for HTypeConversion instructions.
- Add S0 to the list of ARM FPU parameter registers.
- Have art::x86_64::X86_64Assembler::cvttss2si work with
64-bit operands.
- Generate x86, x86-64 and ARM (but not ARM64) code for
float to long HTypeConversion nodes.
- Add related tests to test/422-type-conversion.
Change-Id: I954214f0d537187883f83f7a83a1bb2dd8a21fd4
Vladimir Marko [Thu, 4 Dec 2014 11:31:34 +0000 (11:31 +0000)]
Merge "Rewrite ImageWriter's merging of String char[]s."
Vladimir Marko [Wed, 3 Dec 2014 15:28:15 +0000 (15:28 +0000)]
Rewrite ImageWriter's merging of String char[]s.
Simply sort the Strings and then look at two consecutive
Strings to find prefixes and duplicates. Avoid unnecessary
memory allocations.
Change-Id: I996306ed4b31e61f9f0def8f3bcce71eb01c9265
Sebastien Hertz [Thu, 4 Dec 2014 10:21:02 +0000 (10:21 +0000)]
Merge "JDWP: fix breakpoint for method in the image"
Vladimir Marko [Thu, 4 Dec 2014 10:12:23 +0000 (10:12 +0000)]
Merge "Quick: Use fewer insns for ARM LDR/STR with large offsets."
Vladimir Marko [Wed, 3 Dec 2014 12:16:56 +0000 (12:16 +0000)]
Quick: Use fewer insns for ARM LDR/STR with large offsets.
LDR with large offset is frequently used for reading from
DexCache arrays, for example for static and direct invokes.
STR with large offset is rarely used but it's updated for
consistency.
Change-Id: I75871416cecbfd7fe7de590922cea0376a2f4019
Vladimir Marko [Thu, 4 Dec 2014 10:08:07 +0000 (10:08 +0000)]
Merge "Call ProcessStrings() in ImageWriter, fix prefix check."
Sebastien Hertz [Wed, 26 Nov 2014 21:11:27 +0000 (22:11 +0100)]
JDWP: fix breakpoint for method in the image
When we set a breakpoint in a compiled method, we deoptimize it by
changing its entrypoint so it is executed with the interpreter.
However, methods in the image can be called with their direct code
pointer, ignoring the updated entrypoint. In that case, the method
is not executed with the interpreter and we miss the breakpoint.
This CL avoids that situation by forcing a full deoptimization so
everything runs with the interpreter. However, if the image has been
compiled in PIC mode, we keep using selective deoptimization because
direct code pointer is not used in this mode.
Bug:
17965285
Change-Id: Icaf8cbb7fe9ad01d36f7378c59d50d9ce42ae57f
Andreas Gampe [Thu, 4 Dec 2014 05:59:27 +0000 (21:59 -0800)]
ART: Wire up a valgrind-wrapped dex2oat run
Extend build-art-executable to understand multilib=both, in which
case a stem is necessary. Use name32 for the 32b version, and name
for the 64b version (or only version).
Create both 32b and 64b dex2oat on the host.
Extend the core generation rules to allow a wrapper. Create rules
to run with valgrind: valgrind-test-art-host-dex2oat.
Currently this is not wired up to valgrind-test-art-host, as valgrind
reports an error on exit.
Note: this takes a long time, as by default the debug version of
dex2oat is used. The author has seen runs of about 6 minutes.
Bug:
18605772
Change-Id: I32c270d2cf8a104f154bdf91875670b03d3f5d3b
Mathieu Chartier [Thu, 4 Dec 2014 02:28:28 +0000 (02:28 +0000)]
Merge "Remove method verification results right after compiling a method"
Mathieu Chartier [Thu, 4 Dec 2014 01:38:22 +0000 (17:38 -0800)]
Remove method verification results right after compiling a method
This saves memory since it allows the code arrays from methods
compiled in future methods to use the ram we just freed from the
verification results.
GmsCore.apk:
Before: dex2oat took 77.383s (threads: 2) arena alloc=6MB java alloc=30MB native alloc=77MB free=13KB
After: dex2oat took 72.180s (threads: 2) arena alloc=6MB java alloc=30MB native alloc=60MB free=13KB
Bug:
18596910
Change-Id: I5d6df380e4fe58751a2b304202083f4d30b33b7c
(cherry picked from commit
25fda92083d5b93b38cc1f6b12ac6a44d992d6a4)
Mingyao Yang [Wed, 22 Oct 2014 23:08:18 +0000 (16:08 -0700)]
Bounds check elimination.
Change-Id: Ia0d6a4226c1f9f1ff1dd35347a38db1dc4265319
Andreas Gampe [Wed, 3 Dec 2014 23:26:47 +0000 (23:26 +0000)]
Merge "ART: Fix unclosed files in dex2oat"
Andreas Gampe [Wed, 3 Dec 2014 22:28:02 +0000 (14:28 -0800)]
ART: Fix unclosed files in dex2oat
Under some error conditions files are not closed, and the close guard
will complain.
Bug:
18603475
(cherry picked from commit
d97465c3742cc3c82843665f2678b881de29854b)
Change-Id: I7155e3f4f6231844edd375b9302ecf1ba8079950
Ian Rogers [Wed, 3 Dec 2014 18:48:05 +0000 (10:48 -0800)]
Remove unused headers.
Push Closure into only use in thread_pool.h.
Remove StringFile and NullFile that existed purely for a test.
Change-Id: I329892d5e1f5f017caeb3d60600f803a74114fc1
Nicolas Geoffray [Wed, 3 Dec 2014 18:24:18 +0000 (18:24 +0000)]
Merge "Don't re-use arttest when calling loadLibrary."
Nicolas Geoffray [Wed, 3 Dec 2014 18:10:39 +0000 (18:10 +0000)]
Don't re-use arttest when calling loadLibrary.
When Android's build environment variables are set with envsetup.sh,
the test "works" ok, by getting a LinkageError because two class loaders
try to load the same library. I guess that is the reason for the
if (ExceptionCheck()) after the loading.
However, if the environment variables are set manually, there are
cases where the paths provided between a Java loadLibrary, and a
native loadLibrary are different, so we end up loading the library twice.
This makes the assertion line 32 fail on the second JNI_OnLoad call.
In my particular environment, ANDROID_BUILD_TOP was something lie
/foo/bar/..//.
This change stops re-using the same library, and makes the expected
outcome constant: the native call of loadLibrary with a non exist
library must throw a LinkageError.
Change-Id: I8721a03715e099c55fb8b2b87813f1e772c8e83d
David 'Digit' Turner [Wed, 3 Dec 2014 17:59:13 +0000 (17:59 +0000)]
Merge "Fix VM-less builds."
Vladimir Marko [Wed, 3 Dec 2014 14:35:54 +0000 (14:35 +0000)]
Call ProcessStrings() in ImageWriter, fix prefix check.
ProcessStrings was missing due to bad conflict resolution
in cherry-pick
https://android-review.googlesource.com/114971
The prefix check was broken by the "cherry-pick"
https://android-review.googlesource.com/115445
where in addition to a simple cherry-pick, an additional
comment was addressed and an error slipped in.
Change-Id: I130d1d1a2995fd4a4c27c918c2a0dc38724ce68f
Vladimir Marko [Wed, 3 Dec 2014 17:13:44 +0000 (17:13 +0000)]
Merge "Implement InexpensiveConstantInt(., opcode) for ARM."
Roland Levillain [Wed, 3 Dec 2014 16:04:28 +0000 (16:04 +0000)]
Merge "Add support for float-to-int in the optimizing compiler."
Roland Levillain [Wed, 3 Dec 2014 14:52:52 +0000 (14:52 +0000)]
Merge "Fix a compiler bug related to a catch-less try-finally statement."
Nicolas Geoffray [Wed, 3 Dec 2014 14:02:39 +0000 (14:02 +0000)]
Merge "Explicitly give compiler options to test scripts"
Nicolas Geoffray [Wed, 3 Dec 2014 13:36:10 +0000 (13:36 +0000)]
Explicitly give compiler options to test scripts
This makes tests pass when ART_USE_OPTIMIZING_COMPILER=true.
Change-Id: I579c0371033435ead6b06830f15c00dbf7e98005
Vladimir Marko [Tue, 25 Nov 2014 16:32:34 +0000 (16:32 +0000)]
Implement InexpensiveConstantInt(., opcode) for ARM.
Fix kThumb2{Add,Sub}RRI12 to be used for their full range.
Add ORN for completeness.
Change-Id: I49a51541fa9ea085d4674b9131d8dd94da5337f3
Roland Levillain [Tue, 2 Dec 2014 17:45:01 +0000 (17:45 +0000)]
Add support for float-to-int in the optimizing compiler.
- Add support for the float-to-int Dex instruction in the
optimizing compiler.
- Factor type conversion related lines in
compiler/optimizing/builder.cc.
- Generate x86, x86-64 and ARM (but not ARM64) code for
float to int HTypeConversion nodes.
- Add related tests to test/422-type-conversion.
Change-Id: I2382dfc04bf394ed75f675148cfcf98216d65bc6
Roland Levillain [Tue, 2 Dec 2014 17:16:31 +0000 (17:16 +0000)]
Fix a compiler bug related to a catch-less try-finally statement.
Ensure a dead basic block produced in this case is properly
removed.
Change-Id: I7c88e26aaa6c6378892f7c7c299494fa42312db2
Calin Juravle [Wed, 3 Dec 2014 11:48:51 +0000 (11:48 +0000)]
Merge "Fix new-instance node."
Nicolas Geoffray [Wed, 3 Dec 2014 11:48:08 +0000 (11:48 +0000)]
Merge "Update libcore script and add a new expectation file."
Nicolas Geoffray [Wed, 3 Dec 2014 11:30:26 +0000 (11:30 +0000)]
Update libcore script and add a new expectation file.
Change-Id: I3ff7784d4b43615f1d70a62c6b8595870f0afe4c
David 'Digit' Turner [Tue, 2 Dec 2014 12:28:21 +0000 (13:28 +0100)]
Fix VM-less builds.
This patch modifies Android.common_build.mk to avoid breaking the build
when trying to generate a system image that doesn't include a VM (which
is useful for low-level emulator feature testing, not general Android
development).
BUG=
18581643
Change-Id: Ib75ebf14d3e9c8fc2ac591c7edd2ab4d6ff2ca89
Mathieu Chartier [Wed, 3 Dec 2014 02:44:46 +0000 (02:44 +0000)]
Merge "Fix mac build"
Mathieu Chartier [Wed, 3 Dec 2014 02:23:21 +0000 (18:23 -0800)]
Fix mac build
Macs don't have malloc.h, hopefully this fixes the build.
(cherry picked from commit
6cc5076a1248582cf16bd9a6a1719e0a4c1a1de2)
Change-Id: I94d10d2c3d16893625df210bdd5587eea4a1247f
Ian Rogers [Wed, 3 Dec 2014 02:03:08 +0000 (02:03 +0000)]
Merge "Remove MethodHelper."
Ian Rogers [Wed, 3 Dec 2014 01:49:19 +0000 (17:49 -0800)]
Remove MethodHelper.
Move use as a shorty processor to only use in portable.
Move GetNumberOfReferenceArgsWithoutReceiver to mirror::ArtMethod.
Change-Id: I7ded3d05315c84bce4ab19cb330ef74289da4bb3
Ian Rogers [Wed, 3 Dec 2014 01:32:33 +0000 (01:32 +0000)]
Merge "Remove MethodHelper::HasSameSignatureWithDifferentClassLoaders."
Mathieu Chartier [Wed, 3 Dec 2014 01:31:39 +0000 (01:31 +0000)]
Merge "Print memory usage in dex2oat shutdown"