OSDN Git Service

android-x86/art.git
9 years agoam 15cdca8a: Merge "Quick: Fix code layout pass; don\'t terminate too early."
Vladimir Marko [Fri, 5 Dec 2014 16:11:59 +0000 (16:11 +0000)]
am 15cdca8a: Merge "Quick: Fix code layout pass; don\'t terminate too early."

* commit '15cdca8a5397099d11a76ef4a4a035a291ed78d0':
  Quick: Fix code layout pass; don't terminate too early.

9 years agoMerge "Quick: Fix code layout pass; don't terminate too early."
Vladimir Marko [Fri, 5 Dec 2014 16:04:40 +0000 (16:04 +0000)]
Merge "Quick: Fix code layout pass; don't terminate too early."

9 years agoam f551efff: Merge "Revert "Revert "Rewrite ImageWriter\'s merging of String char...
Vladimir Marko [Fri, 5 Dec 2014 15:39:24 +0000 (15:39 +0000)]
am f551efff: Merge "Revert "Revert "Rewrite ImageWriter\'s merging of String char[]s."""

* commit 'f551efff34c20e2f0cf962c3fc267204d5e7611f':
  Revert "Revert "Rewrite ImageWriter's merging of String char[]s.""

9 years agoMerge "Revert "Revert "Rewrite ImageWriter's merging of String char[]s."""
Vladimir Marko [Fri, 5 Dec 2014 15:34:50 +0000 (15:34 +0000)]
Merge "Revert "Revert "Rewrite ImageWriter's merging of String char[]s."""

9 years agoQuick: Fix code layout pass; don't terminate too early.
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

9 years agoam 7f8f9489: Merge "Make script suitable for vogar use on device."
Nicolas Geoffray [Fri, 5 Dec 2014 12:14:23 +0000 (12:14 +0000)]
am 7f8f9489: Merge "Make script suitable for vogar use on device."

* commit '7f8f9489c1803fd40f52aec3cda784fe02e78c95':
  Make script suitable for vogar use on device.

9 years agoam abb3977b: Merge "Add support for double-to-int & double-to-long in optimizing."
Roland Levillain [Fri, 5 Dec 2014 12:14:22 +0000 (12:14 +0000)]
am abb3977b: Merge "Add support for double-to-int & double-to-long in optimizing."

* commit 'abb3977bf924b923b45ae234a48be739035bbd32':
  Add support for double-to-int & double-to-long in optimizing.

9 years agoMerge "Make script suitable for vogar use on device."
Nicolas Geoffray [Fri, 5 Dec 2014 12:12:48 +0000 (12:12 +0000)]
Merge "Make script suitable for vogar use on device."

9 years agoMerge "Add support for double-to-int & double-to-long in optimizing."
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."

9 years agoMake script suitable for vogar use on device.
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

9 years agoAdd support for double-to-int & double-to-long in optimizing.
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

9 years agoam 355e3b1c: Merge "Re-enable one thread dumping the native stack of another."
Ian Rogers [Fri, 5 Dec 2014 04:44:13 +0000 (04:44 +0000)]
am 355e3b1c: Merge "Re-enable one thread dumping the native stack of another."

* commit '355e3b1cc67c263268289021268109ae5432537a':
  Re-enable one thread dumping the native stack of another.

9 years agoMerge "Re-enable one thread dumping the native stack of another."
Ian Rogers [Fri, 5 Dec 2014 04:37:05 +0000 (04:37 +0000)]
Merge "Re-enable one thread dumping the native stack of another."

9 years agoam c5454372: Merge "Tidy gAborting."
Ian Rogers [Fri, 5 Dec 2014 04:12:23 +0000 (04:12 +0000)]
am c5454372: Merge "Tidy gAborting."

* commit 'c5454372f23da8248c84c29e251fb1b21c421a63':
  Tidy gAborting.

9 years agoRe-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

9 years agoMerge "Tidy gAborting."
Ian Rogers [Fri, 5 Dec 2014 04:05:51 +0000 (04:05 +0000)]
Merge "Tidy gAborting."

9 years agoTidy 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

9 years agoRevert "Revert "Rewrite ImageWriter's merging of String char[]s.""
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

9 years agoam aad9c076: Merge "ART: Fix linting errors"
Andreas Gampe [Fri, 5 Dec 2014 01:31:54 +0000 (01:31 +0000)]
am aad9c076: Merge "ART: Fix linting errors"

* commit 'aad9c0767a8f8ae6250a7b4edee52cfb6d598687':
  ART: Fix linting errors

9 years agoMerge "ART: Fix linting errors"
Andreas Gampe [Fri, 5 Dec 2014 01:25:34 +0000 (01:25 +0000)]
Merge "ART: Fix linting errors"

9 years agoART: 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

9 years agoam 044ac4f4: Merge "Bounds check elimination."
Mingyao Yang [Fri, 5 Dec 2014 01:19:25 +0000 (01:19 +0000)]
am 044ac4f4: Merge "Bounds check elimination."

* commit '044ac4f4f6760eeef4ed96b5349a8a5c325c52f1':
  Bounds check elimination.

9 years agoMerge "Bounds check elimination."
Mingyao Yang [Fri, 5 Dec 2014 01:06:53 +0000 (01:06 +0000)]
Merge "Bounds check elimination."

9 years agoam a21fdd04: Merge "X86_64 QBE: use RIP addressing"
Ian Rogers [Fri, 5 Dec 2014 00:41:47 +0000 (00:41 +0000)]
am a21fdd04: Merge "X86_64 QBE: use RIP addressing"

* commit 'a21fdd0432aa38b63d144ee4b92b6a567aab61d2':
  X86_64 QBE: use RIP addressing

9 years agoMerge "X86_64 QBE: use RIP addressing"
Ian Rogers [Fri, 5 Dec 2014 00:34:38 +0000 (00:34 +0000)]
Merge "X86_64 QBE: use RIP addressing"

9 years agoam 7be36ae7: Merge "ART: Add SparseSwitch support to the optimizing compiler"
Andreas Gampe [Fri, 5 Dec 2014 00:06:59 +0000 (00:06 +0000)]
am 7be36ae7: Merge "ART: Add SparseSwitch support to the optimizing compiler"

* commit '7be36ae7979eb62dc34c59b18b0bb1202ffefa3f':
  ART: Add SparseSwitch support to the optimizing compiler

9 years agoMerge "ART: Add SparseSwitch support to the optimizing compiler"
Andreas Gampe [Thu, 4 Dec 2014 23:59:55 +0000 (23:59 +0000)]
Merge "ART: Add SparseSwitch support to the optimizing compiler"

9 years agoART: 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

9 years agoam 63130d07: Merge "ART: Wire up a valgrind-wrapped dex2oat run"
Andreas Gampe [Thu, 4 Dec 2014 22:12:56 +0000 (22:12 +0000)]
am 63130d07: Merge "ART: Wire up a valgrind-wrapped dex2oat run"

* commit '63130d07713dc3eaa3ce156e3f7b8f0b0e06cd61':
  ART: Wire up a valgrind-wrapped dex2oat run

9 years agoMerge "ART: Wire up a valgrind-wrapped dex2oat run"
Andreas Gampe [Thu, 4 Dec 2014 22:06:01 +0000 (22:06 +0000)]
Merge "ART: Wire up a valgrind-wrapped dex2oat run"

9 years agoam d421eb47: Merge "Remove dex2oat watchdog warning"
Brian Carlstrom [Thu, 4 Dec 2014 21:56:15 +0000 (21:56 +0000)]
am d421eb47: Merge "Remove dex2oat watchdog warning"

* commit 'd421eb47fa27e8e11eaf2a3512ada9fd58b8a12b':
  Remove dex2oat watchdog warning

9 years agoMerge "Remove dex2oat watchdog warning"
Brian Carlstrom [Thu, 4 Dec 2014 21:51:05 +0000 (21:51 +0000)]
Merge "Remove dex2oat watchdog warning"

9 years agoX86_64 QBE: use RIP addressing
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>
9 years agoam d4605cb8: Merge "Make Barrier robust against spurious wakeups"
Hans Boehm [Thu, 4 Dec 2014 20:03:17 +0000 (20:03 +0000)]
am d4605cb8: Merge "Make Barrier robust against spurious wakeups"

* commit 'd4605cb8e8260fdec8a05f675788b154f486baa4':
  Make Barrier robust against spurious wakeups

9 years agoMerge "Make Barrier robust against spurious wakeups"
Hans Boehm [Thu, 4 Dec 2014 19:57:01 +0000 (19:57 +0000)]
Merge "Make Barrier robust against spurious wakeups"

9 years agoRemove dex2oat watchdog warning
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

9 years agoMake Barrier robust against spurious wakeups
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

9 years agoam b510c82e: Merge "Remove unused headers."
Ian Rogers [Thu, 4 Dec 2014 17:56:19 +0000 (17:56 +0000)]
am b510c82e: Merge "Remove unused headers."

* commit 'b510c82ebaf11cf6f4f215f6237ee6a44861ef10':
  Remove unused headers.

9 years agoMerge "Remove unused headers."
Ian Rogers [Thu, 4 Dec 2014 17:50:45 +0000 (17:50 +0000)]
Merge "Remove unused headers."

9 years agoam 283e2d60: Merge "On arm64/optimizing, compile the boot image with interpreter."
Nicolas Geoffray [Thu, 4 Dec 2014 17:37:50 +0000 (17:37 +0000)]
am 283e2d60: Merge "On arm64/optimizing, compile the boot image with interpreter."

* commit '283e2d6023be41bfc359cb57c7af062984b1b682':
  On arm64/optimizing, compile the boot image with interpreter.

9 years agoMerge "On arm64/optimizing, compile the boot image with interpreter."
Nicolas Geoffray [Thu, 4 Dec 2014 17:33:13 +0000 (17:33 +0000)]
Merge "On arm64/optimizing, compile the boot image with interpreter."

9 years agoOn 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

9 years agoam 7c8ce29e: Merge "ART: Add PackedSwitch support to the optimizing compiler"
Andreas Gampe [Thu, 4 Dec 2014 17:16:32 +0000 (17:16 +0000)]
am 7c8ce29e: Merge "ART: Add PackedSwitch support to the optimizing compiler"

* commit '7c8ce29e97fb7873160ab8895d847e9643a1f8f6':
  ART: Add PackedSwitch support to the optimizing compiler

9 years agoMerge "ART: Add PackedSwitch support to the optimizing compiler"
Andreas Gampe [Thu, 4 Dec 2014 17:09:45 +0000 (17:09 +0000)]
Merge "ART: Add PackedSwitch support to the optimizing compiler"

9 years agoART: 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

9 years agoam 8a717bc1: Merge "Temporary disable the test."
Nicolas Geoffray [Thu, 4 Dec 2014 16:51:34 +0000 (16:51 +0000)]
am 8a717bc1: Merge "Temporary disable the test."

* commit '8a717bc12bf30c5ad2b8764f89abe6c5ec72bb42':
  Temporary disable the test.

9 years agoMerge "Temporary disable the test."
Nicolas Geoffray [Thu, 4 Dec 2014 16:46:27 +0000 (16:46 +0000)]
Merge "Temporary disable the test."

9 years agoTemporary 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

9 years agoam c1222615: Merge "Build core.oat without flags."
Nicolas Geoffray [Thu, 4 Dec 2014 15:24:43 +0000 (15:24 +0000)]
am c1222615: Merge "Build core.oat without flags."

* commit 'c12226152c18536f2df6591821d5370fc1fb57fa':
  Build core.oat without flags.

9 years agoam 875ca0fb: Merge "Revert "Rewrite ImageWriter\'s merging of String char[]s.""
Vladimir Marko [Thu, 4 Dec 2014 15:11:28 +0000 (15:11 +0000)]
am 875ca0fb: Merge "Revert "Rewrite ImageWriter\'s merging of String char[]s.""

* commit '875ca0fb97a8652920292ec0ecd5aaf54d2a3b2e':
  Revert "Rewrite ImageWriter's merging of String char[]s."

9 years agoam 0540330d: Merge "Add support for float-to-double & double-to-float in optimizing."
Roland Levillain [Thu, 4 Dec 2014 15:11:27 +0000 (15:11 +0000)]
am 0540330d: Merge "Add support for float-to-double & double-to-float in optimizing."

* commit '0540330d5d262770002a28f8d81588f7cc28d374':
  Add support for float-to-double & double-to-float in optimizing.

9 years agoam 833e903b: Merge "Add support for float-to-long in the optimizing compiler."
Roland Levillain [Thu, 4 Dec 2014 15:11:25 +0000 (15:11 +0000)]
am 833e903b: Merge "Add support for float-to-long in the optimizing compiler."

* commit '833e903b7a9063f37bea3c505cf134fc4a4e2084':
  Add support for float-to-long in the optimizing compiler.

9 years agoam 3947000d: Merge "Rewrite ImageWriter\'s merging of String char[]s."
Vladimir Marko [Thu, 4 Dec 2014 15:11:24 +0000 (15:11 +0000)]
am 3947000d: Merge "Rewrite ImageWriter\'s merging of String char[]s."

* commit '3947000d3c84e87558471fb703ed330f457804d7':
  Rewrite ImageWriter's merging of String char[]s.

9 years agoam baede348: Merge "JDWP: fix breakpoint for method in the image"
Sebastien Hertz [Thu, 4 Dec 2014 15:11:22 +0000 (15:11 +0000)]
am baede348: Merge "JDWP: fix breakpoint for method in the image"

* commit 'baede348efa86600e64fb9db43cec1eef07c86d9':
  JDWP: fix breakpoint for method in the image

9 years agoam 989210eb: Merge "Quick: Use fewer insns for ARM LDR/STR with large offsets."
Vladimir Marko [Thu, 4 Dec 2014 15:11:21 +0000 (15:11 +0000)]
am 989210eb: Merge "Quick: Use fewer insns for ARM LDR/STR with large offsets."

* commit '989210eb453898bd94bf3527f18f6146b07aa4bb':
  Quick: Use fewer insns for ARM LDR/STR with large offsets.

9 years agoam 4334f957: Merge "Call ProcessStrings() in ImageWriter, fix prefix check."
Vladimir Marko [Thu, 4 Dec 2014 15:11:19 +0000 (15:11 +0000)]
am 4334f957: Merge "Call ProcessStrings() in ImageWriter, fix prefix check."

* commit '4334f95705d8efcbb34ffc5165c3f866eaa8086f':
  Call ProcessStrings() in ImageWriter, fix prefix check.

9 years agoam 31bacb9d: Merge "Remove method verification results right after compiling a method"
Mathieu Chartier [Thu, 4 Dec 2014 15:11:18 +0000 (15:11 +0000)]
am 31bacb9d: Merge "Remove method verification results right after compiling a method"

* commit '31bacb9da9c931aa04489b0701172c4a35a20e31':
  Remove method verification results right after compiling a method

9 years agoam 8b9a97e8: Merge "ART: Fix unclosed files in dex2oat"
Andreas Gampe [Thu, 4 Dec 2014 15:11:16 +0000 (15:11 +0000)]
am 8b9a97e8: Merge "ART: Fix unclosed files in dex2oat"

* commit '8b9a97e8b6ed97ff1991596cbd0f7ce78f004766':
  ART: Fix unclosed files in dex2oat

9 years agoMerge "Build core.oat without flags."
Nicolas Geoffray [Thu, 4 Dec 2014 15:11:10 +0000 (15:11 +0000)]
Merge "Build core.oat without flags."

9 years agoBuild 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

9 years agoMerge "Revert "Rewrite ImageWriter's merging of String char[]s.""
Vladimir Marko [Thu, 4 Dec 2014 12:31:16 +0000 (12:31 +0000)]
Merge "Revert "Rewrite ImageWriter's merging of String char[]s.""

9 years agoMerge "Add support for float-to-double & double-to-float in optimizing."
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."

9 years agoRevert "Rewrite ImageWriter's merging of String char[]s."
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

9 years agoAdd support for float-to-double & double-to-float in optimizing.
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

9 years agoMerge "Add support for float-to-long in the optimizing compiler."
Roland Levillain [Thu, 4 Dec 2014 12:01:55 +0000 (12:01 +0000)]
Merge "Add support for float-to-long in the optimizing compiler."

9 years agoAdd 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

9 years agoMerge "Rewrite ImageWriter's merging of String char[]s."
Vladimir Marko [Thu, 4 Dec 2014 11:31:34 +0000 (11:31 +0000)]
Merge "Rewrite ImageWriter's merging of String char[]s."

9 years agoRewrite 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

9 years agoMerge "JDWP: fix breakpoint for method in the image"
Sebastien Hertz [Thu, 4 Dec 2014 10:21:02 +0000 (10:21 +0000)]
Merge "JDWP: fix breakpoint for method in the image"

9 years agoMerge "Quick: Use fewer insns for ARM LDR/STR with large offsets."
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."

9 years agoQuick: 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

9 years agoMerge "Call ProcessStrings() in ImageWriter, fix prefix check."
Vladimir Marko [Thu, 4 Dec 2014 10:08:07 +0000 (10:08 +0000)]
Merge "Call ProcessStrings() in ImageWriter, fix prefix check."

9 years agoJDWP: fix breakpoint for method in the image
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

9 years agoART: Wire up a valgrind-wrapped dex2oat run
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

9 years agoMerge "Remove method verification results right after compiling a method"
Mathieu Chartier [Thu, 4 Dec 2014 02:28:28 +0000 (02:28 +0000)]
Merge "Remove method verification results right after compiling a method"

9 years agoRemove 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)

9 years agoBounds check elimination.
Mingyao Yang [Wed, 22 Oct 2014 23:08:18 +0000 (16:08 -0700)]
Bounds check elimination.

Change-Id: Ia0d6a4226c1f9f1ff1dd35347a38db1dc4265319

9 years agoMerge "ART: Fix unclosed files in dex2oat"
Andreas Gampe [Wed, 3 Dec 2014 23:26:47 +0000 (23:26 +0000)]
Merge "ART: Fix unclosed files in dex2oat"

9 years agoART: 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

9 years agoRemove unused headers.
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

9 years agoam 27478e62: Merge "Don\'t re-use arttest when calling loadLibrary."
Nicolas Geoffray [Wed, 3 Dec 2014 18:28:44 +0000 (18:28 +0000)]
am 27478e62: Merge "Don\'t re-use arttest when calling loadLibrary."

* commit '27478e627e08ab42c43d5d934da9ea336ccaf628':
  Don't re-use arttest when calling loadLibrary.

9 years agoMerge "Don't re-use arttest when calling loadLibrary."
Nicolas Geoffray [Wed, 3 Dec 2014 18:24:18 +0000 (18:24 +0000)]
Merge "Don't re-use arttest when calling loadLibrary."

9 years agoDon'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

9 years agoam acb23cf9: Merge "Fix VM-less builds."
David 'Digit' Turner [Wed, 3 Dec 2014 18:03:22 +0000 (18:03 +0000)]
am acb23cf9: Merge "Fix VM-less builds."

* commit 'acb23cf959e7198566df161567292a824eaa8b27':
  Fix VM-less builds.

9 years agoMerge "Fix VM-less builds."
David 'Digit' Turner [Wed, 3 Dec 2014 17:59:13 +0000 (17:59 +0000)]
Merge "Fix VM-less builds."

9 years agoCall ProcessStrings() in ImageWriter, fix prefix check.
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

9 years agoam ccce1c02: Merge "Implement InexpensiveConstantInt(., opcode) for ARM."
Vladimir Marko [Wed, 3 Dec 2014 17:19:21 +0000 (17:19 +0000)]
am ccce1c02: Merge "Implement InexpensiveConstantInt(., opcode) for ARM."

* commit 'ccce1c02b162b667139eaef563460b1e1f330891':
  Implement InexpensiveConstantInt(., opcode) for ARM.

9 years agoam 9a64a46e: Merge "Add support for float-to-int in the optimizing compiler."
Roland Levillain [Wed, 3 Dec 2014 17:19:20 +0000 (17:19 +0000)]
am 9a64a46e: Merge "Add support for float-to-int in the optimizing compiler."

* commit '9a64a46e8edfa89402598d8650b8ebb337ba3d52':
  Add support for float-to-int in the optimizing compiler.

9 years agoam add2f944: Merge "Fix a compiler bug related to a catch-less try-finally statement."
Roland Levillain [Wed, 3 Dec 2014 17:19:18 +0000 (17:19 +0000)]
am add2f944: Merge "Fix a compiler bug related to a catch-less try-finally statement."

* commit 'add2f944284992106cd9a1f1df93a17d666eaaf6':
  Fix a compiler bug related to a catch-less try-finally statement.

9 years agoam 1a3960aa: Merge "Explicitly give compiler options to test scripts"
Nicolas Geoffray [Wed, 3 Dec 2014 17:19:17 +0000 (17:19 +0000)]
am 1a3960aa: Merge "Explicitly give compiler options to test scripts"

* commit '1a3960aae50ee8f6967b7ff2d094dbcf5b6b5be4':
  Explicitly give compiler options to test scripts

9 years agoam bbba809a: Merge "Fix new-instance node."
Calin Juravle [Wed, 3 Dec 2014 17:19:16 +0000 (17:19 +0000)]
am bbba809a: Merge "Fix new-instance node."

* commit 'bbba809a680fa7ad030da351e92786848d63b9bf':
  Fix new-instance node.

9 years agoam 5ae0d29c: Merge "Update libcore script and add a new expectation file."
Nicolas Geoffray [Wed, 3 Dec 2014 17:19:14 +0000 (17:19 +0000)]
am 5ae0d29c: Merge "Update libcore script and add a new expectation file."

* commit '5ae0d29cce8c3959b981e6b25ce17bff6f44062f':
  Update libcore script and add a new expectation file.

9 years agoMerge "Implement InexpensiveConstantInt(., opcode) for ARM."
Vladimir Marko [Wed, 3 Dec 2014 17:13:44 +0000 (17:13 +0000)]
Merge "Implement InexpensiveConstantInt(., opcode) for ARM."

9 years agoMerge "Add support for float-to-int in the optimizing compiler."
Roland Levillain [Wed, 3 Dec 2014 16:04:28 +0000 (16:04 +0000)]
Merge "Add support for float-to-int in the optimizing compiler."

9 years agoMerge "Fix a compiler bug related to a catch-less try-finally statement."
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."

9 years agoMerge "Explicitly give compiler options to test scripts"
Nicolas Geoffray [Wed, 3 Dec 2014 14:02:39 +0000 (14:02 +0000)]
Merge "Explicitly give compiler options to test scripts"

9 years agoExplicitly 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

9 years agoImplement InexpensiveConstantInt(., opcode) for ARM.
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

9 years agoAdd support for float-to-int in the optimizing compiler.
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

9 years agoFix a compiler bug related to a catch-less try-finally statement.
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