OSDN Git Service

android-x86/art.git
10 years agoam 7db22606: Merge "Always compile leafs during profile based compilation."
Calin Juravle [Tue, 24 Jun 2014 11:05:33 +0000 (11:05 +0000)]
am 7db22606: Merge "Always compile leafs during profile based compilation."

* commit '7db22606228d21b3adba04851409a4a78e6b4263':
  Always compile leafs during profile based compilation.

10 years agoam ad1e79fb: Merge "Move trampolines to thumb2 instead of ARM"
Dave Allison [Tue, 24 Jun 2014 09:26:02 +0000 (09:26 +0000)]
am ad1e79fb: Merge "Move trampolines to thumb2 instead of ARM"

* commit 'ad1e79fb6871bee2b5e91560227ca7acddf99cb9':
  Move trampolines to thumb2 instead of ARM

10 years agoam cbb0e809: Merge "Use reader lock of bulk free lock when not freeing."
Mathieu Chartier [Tue, 24 Jun 2014 09:26:01 +0000 (09:26 +0000)]
am cbb0e809: Merge "Use reader lock of bulk free lock when not freeing."

* commit 'cbb0e809c0a4e8a4e8b7f5d3768a1864cfb381bb':
  Use reader lock of bulk free lock when not freeing.

10 years agoMerge "Always compile leafs during profile based compilation."
Calin Juravle [Tue, 24 Jun 2014 10:56:44 +0000 (10:56 +0000)]
Merge "Always compile leafs during profile based compilation."

10 years agoMerge "Use reader lock of bulk free lock when not freeing."
Mathieu Chartier [Tue, 24 Jun 2014 01:35:59 +0000 (01:35 +0000)]
Merge "Use reader lock of bulk free lock when not freeing."

10 years agoUse reader lock of bulk free lock when not freeing.
Mathieu Chartier [Tue, 24 Jun 2014 00:53:09 +0000 (17:53 -0700)]
Use reader lock of bulk free lock when not freeing.

Should help reduce contention observed in systrace.

Change-Id: Iadb81728d4ba797c3a68acea795b15d7f212e89b

10 years agoam 5dcdc935: Merge "Fix implicit check option handling for non-cross-compiles"
Dave Allison [Mon, 23 Jun 2014 22:43:57 +0000 (22:43 +0000)]
am 5dcdc935: Merge "Fix implicit check option handling for non-cross-compiles"

* commit '5dcdc93539ddf48757b6d5ea9393812d6bf9861d':
  Fix implicit check option handling for non-cross-compiles

10 years agoMerge "Fix implicit check option handling for non-cross-compiles"
Dave Allison [Mon, 23 Jun 2014 22:34:11 +0000 (22:34 +0000)]
Merge "Fix implicit check option handling for non-cross-compiles"

10 years agoFix implicit check option handling for non-cross-compiles
Dave Allison [Mon, 23 Jun 2014 21:46:53 +0000 (14:46 -0700)]
Fix implicit check option handling for non-cross-compiles

This fixes an issue where the compiler was not being told to
generate implicit checks but the runtime was expecting them.

Bug: 15747876
Change-Id: I65e7475bac245c44d5094eb666d67bc1af327ab1

10 years agoMerge "Move trampolines to thumb2 instead of ARM"
Dave Allison [Tue, 24 Jun 2014 01:56:51 +0000 (01:56 +0000)]
Merge "Move trampolines to thumb2 instead of ARM"

10 years agoam 3c6c4645: Merge "Mac doesn\'t define MAP_ANONYMOUS"
Ian Rogers [Mon, 23 Jun 2014 21:18:00 +0000 (21:18 +0000)]
am 3c6c4645: Merge "Mac doesn\'t define MAP_ANONYMOUS"

* commit '3c6c4645ce50836387d70f6562fa117047d7eea1':
  Mac doesn't define MAP_ANONYMOUS

10 years agoam 9462a31c: Merge "x86_64: Correct fix for cmp-long"
Bill Buzbee [Mon, 23 Jun 2014 20:25:45 +0000 (20:25 +0000)]
am 9462a31c: Merge "x86_64: Correct fix for cmp-long"

* commit '9462a31caedefac3e04bd4aa5088e050ed188b30':
  x86_64: Correct fix for cmp-long

10 years agoMove trampolines to thumb2 instead of ARM
Dave Allison [Mon, 23 Jun 2014 20:19:59 +0000 (13:19 -0700)]
Move trampolines to thumb2 instead of ARM

Currently the entrypoint trampolines are compiled using the ARM32 assembler.
This changes that to use the thumb2 assembler for consistency with the
other compiled code.

Bug: 15455279
Change-Id: I6bacdf359e2ae4c0967fb5cd9dc694af11f802ec

10 years agoAlways compile leafs during profile based compilation.
Calin Juravle [Mon, 23 Jun 2014 13:40:31 +0000 (14:40 +0100)]
Always compile leafs during profile based compilation.

Bug:12877748
Change-Id: Idbee9eaa87c419454728de195bdbdd9b0e6b7b50

10 years agoMerge "x86_64: Correct fix for cmp-long"
Bill Buzbee [Mon, 23 Jun 2014 20:16:10 +0000 (20:16 +0000)]
Merge "x86_64: Correct fix for cmp-long"

10 years agox86_64: Correct fix for cmp-long
Serguei Katkov [Mon, 23 Jun 2014 06:23:38 +0000 (13:23 +0700)]
x86_64: Correct fix for cmp-long

We cannot rely on the sign of the sub instruction because
LONG_MAX - LONG_MIN = -1 and the sign will indicate that
LONG_MAX < KONG_MIN and it is incorrect.

The fix also contains small improvement for load wide constant.

Change-Id: I74df70d7c198cebff5cad8c1d5614c1d29b79a1b
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoMerge "Mac doesn't define MAP_ANONYMOUS"
Ian Rogers [Mon, 23 Jun 2014 21:09:35 +0000 (21:09 +0000)]
Merge "Mac doesn't define MAP_ANONYMOUS"

10 years agoMac doesn't define MAP_ANONYMOUS
Ian Rogers [Mon, 23 Jun 2014 21:07:03 +0000 (14:07 -0700)]
Mac doesn't define MAP_ANONYMOUS

Fix mac build.

Change-Id: I607e8fff227259fbf27e468193a705c8c3fc1b59

10 years agoam be781e55: Merge "Revert "Revert "ART: Fix StoreValue to use RefDisp when necessary."""
Andreas Gampe [Mon, 23 Jun 2014 16:11:35 +0000 (16:11 +0000)]
am be781e55: Merge "Revert "Revert "ART: Fix StoreValue to use RefDisp when necessary."""

* commit 'be781e55b86ddd2dacf12b80a26fa9a5612948c3':
  Revert "Revert "ART: Fix StoreValue to use RefDisp when necessary.""

10 years agoam dd79f215: Merge "Limit the size of files created by run-test to 2MB."
Ian Rogers [Mon, 23 Jun 2014 15:15:51 +0000 (15:15 +0000)]
am dd79f215: Merge "Limit the size of files created by run-test to 2MB."

* commit 'dd79f2157fcea35afc8dfbe75a0f8c4bbc6898b9':
  Limit the size of files created by run-test to 2MB.

10 years agoam a5377fe9: Merge "Revert "ART: Fix StoreValue to use RefDisp when necessary.""
Ian Rogers [Mon, 23 Jun 2014 15:00:13 +0000 (15:00 +0000)]
am a5377fe9: Merge "Revert "ART: Fix StoreValue to use RefDisp when necessary.""

* commit 'a5377fe9231b441856b3c9bfa4aa003445436958':
  Revert "ART: Fix StoreValue to use RefDisp when necessary."

10 years agoMerge "Limit the size of files created by run-test to 2MB."
Ian Rogers [Mon, 23 Jun 2014 15:11:25 +0000 (15:11 +0000)]
Merge "Limit the size of files created by run-test to 2MB."

10 years agoam 56027931: Merge "More verbose logs for JDWP events"
Sebastien Hertz [Mon, 23 Jun 2014 09:30:51 +0000 (09:30 +0000)]
am 56027931: Merge "More verbose logs for JDWP events"

* commit '560279311a756cdd7bc708beb52b141184064d15':
  More verbose logs for JDWP events

10 years agoam 87523b6c: Merge "X86 Dis: Add missing mov byte; Add size suffixes"
Ian Rogers [Sun, 22 Jun 2014 09:12:56 +0000 (09:12 +0000)]
am 87523b6c: Merge "X86 Dis: Add missing mov byte; Add size suffixes"

* commit '87523b6c4df4dd33d4c1e383403e14d6fe06362f':
  X86 Dis: Add missing mov byte; Add size suffixes

10 years agoLimit the size of files created by run-test to 2MB.
Ian Rogers [Sun, 22 Jun 2014 05:58:05 +0000 (22:58 -0700)]
Limit the size of files created by run-test to 2MB.

In MemMap::MapAnonymous on the host, avoid creating ashmem regions that are
backed by files, when the size of the file will be greater than the ulimit.

Change-Id: I7cbf2ac59bf5869ed85850bea8d71898f3b7e1c7

10 years agoMerge "X86 Dis: Add missing mov byte; Add size suffixes"
Ian Rogers [Sun, 22 Jun 2014 05:31:52 +0000 (05:31 +0000)]
Merge "X86 Dis: Add missing mov byte; Add size suffixes"

10 years agoX86 Dis: Add missing mov byte; Add size suffixes
Mark Mendell [Thu, 19 Jun 2014 01:02:29 +0000 (21:02 -0400)]
X86 Dis: Add missing mov byte; Add size suffixes

Yet another instruction not disassembled properly.
Add 'b', 'w', 'q' to opcodes to diffferentiate between various versions
and make it more understandable.

Change-Id: Ib794aac660bc8bc4900bfa49eab5aed682996adc
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
10 years agoam 5c1ad337: Merge "Use command line android root in dex2oat to find image."
Ian Rogers [Sat, 21 Jun 2014 23:20:35 +0000 (23:20 +0000)]
am 5c1ad337: Merge "Use command line android root in dex2oat to find image."

* commit '5c1ad33701beac62afbfb144bb6f52755503c9f2':
  Use command line android root in dex2oat to find image.

10 years agoam b493c298: Merge "x86_64: Enable some optimizations"
Bill Buzbee [Sat, 21 Jun 2014 15:08:36 +0000 (15:08 +0000)]
am b493c298: Merge "x86_64: Enable some optimizations"

* commit 'b493c2983016a78de498c3a3aef302b1353dca99':
  x86_64: Enable some optimizations

10 years agoam 4370d3d3: Merge "x86_64: Fix fp-to-core conversion"
Bill Buzbee [Sat, 21 Jun 2014 15:08:35 +0000 (15:08 +0000)]
am 4370d3d3: Merge "x86_64: Fix fp-to-core conversion"

* commit '4370d3d3a92b45ac3bdceae0c3059648b0f3fc1d':
  x86_64: Fix fp-to-core conversion

10 years agoam 7499cd1d: Merge "x86_64: Fix comp-long"
Bill Buzbee [Sat, 21 Jun 2014 15:08:34 +0000 (15:08 +0000)]
am 7499cd1d: Merge "x86_64: Fix comp-long"

* commit '7499cd1d4445fd00aa3c9503497a171fae9bf20e':
  x86_64: Fix comp-long

10 years agoMerge "Revert "ART: Fix StoreValue to use RefDisp when necessary.""
Ian Rogers [Mon, 23 Jun 2014 14:54:11 +0000 (14:54 +0000)]
Merge "Revert "ART: Fix StoreValue to use RefDisp when necessary.""

10 years agoRevert "ART: Fix StoreValue to use RefDisp when necessary."
Ian Rogers [Sun, 22 Jun 2014 07:47:53 +0000 (07:47 +0000)]
Revert "ART: Fix StoreValue to use RefDisp when necessary."

This reverts commit 596bea8f6331fe8ad6eb456afa1f7dfe1b92e09c.

Change-Id: I1942bfc5127e8a631c5b24d107d304c7cd994e78

10 years agoMerge "Use command line android root in dex2oat to find image."
Ian Rogers [Sat, 21 Jun 2014 23:15:24 +0000 (23:15 +0000)]
Merge "Use command line android root in dex2oat to find image."

10 years agoMerge "x86_64: Fix comp-long"
Bill Buzbee [Sat, 21 Jun 2014 14:59:34 +0000 (14:59 +0000)]
Merge "x86_64: Fix comp-long"

10 years agoam b06a0364: Merge "ART: Method verifier must check invoke-virtuals for non-zero...
Andreas Gampe [Sat, 21 Jun 2014 01:45:57 +0000 (01:45 +0000)]
am b06a0364: Merge "ART: Method verifier must check invoke-virtuals for non-zero args"

* commit 'b06a0364e9a5a27d2a33ab7a9c9b98c7332e6cea':
  ART: Method verifier must check invoke-virtuals for non-zero args

10 years agoam 5c0fcdad: Merge "Shared single GC iteration accounting for all GCs."
Mathieu Chartier [Fri, 20 Jun 2014 22:40:33 +0000 (22:40 +0000)]
am 5c0fcdad: Merge "Shared single GC iteration accounting for all GCs."

* commit '5c0fcdad7578dd8ce0e53e9d8f02777b253762cc':
  Shared single GC iteration accounting for all GCs.

10 years agoam faa69743: Merge "ART: ReadFully needs to fail when EOF"
Andreas Gampe [Fri, 20 Jun 2014 22:40:32 +0000 (22:40 +0000)]
am faa69743: Merge "ART: ReadFully needs to fail when EOF"

* commit 'faa69743dc3e2c115d3807ada4a51951092d62a0':
  ART: ReadFully needs to fail when EOF

10 years agoam 990f110b: Merge "ART: Fix StoreValue to use RefDisp when necessary."
Andreas Gampe [Fri, 20 Jun 2014 22:40:31 +0000 (22:40 +0000)]
am 990f110b: Merge "ART: Fix StoreValue to use RefDisp when necessary."

* commit '990f110b45127055d99fe894afb1ae4cfd92046c':
  ART: Fix StoreValue to use RefDisp when necessary.

10 years agoam 40bdf97b: Merge "Quick compiler: enable Arm64 compilation"
buzbee [Fri, 20 Jun 2014 22:40:20 +0000 (22:40 +0000)]
am 40bdf97b: Merge "Quick compiler: enable Arm64 compilation"

* commit '40bdf97beffc4d85c966965bdbe81b243141312b':
  Quick compiler: enable Arm64 compilation

10 years agoam e617e9a1: Merge "ART: Fix register overlap checks in CopyArgumentRegs"
Bill Buzbee [Fri, 20 Jun 2014 22:40:19 +0000 (22:40 +0000)]
am e617e9a1: Merge "ART: Fix register overlap checks in CopyArgumentRegs"

* commit 'e617e9a1e5c70bd3fd1e68056fa4090a3486a0b7':
  ART: Fix register overlap checks in CopyArgumentRegs

10 years agoam 8d16f203: Merge "Add more read barriers for JNI roots."
Hiroshi Yamauchi [Fri, 20 Jun 2014 22:40:18 +0000 (22:40 +0000)]
am 8d16f203: Merge "Add more read barriers for JNI roots."

* commit '8d16f203d40ab4018986baa018e52185ad05dae6':
  Add more read barriers for JNI roots.

10 years agoMerge "Revert "Revert "ART: Fix StoreValue to use RefDisp when necessary."""
Andreas Gampe [Mon, 23 Jun 2014 16:04:54 +0000 (16:04 +0000)]
Merge "Revert "Revert "ART: Fix StoreValue to use RefDisp when necessary."""

10 years agoRevert "Revert "ART: Fix StoreValue to use RefDisp when necessary.""
Andreas Gampe [Mon, 23 Jun 2014 15:39:00 +0000 (15:39 +0000)]
Revert "Revert "ART: Fix StoreValue to use RefDisp when necessary.""

This reverts commit e98297bafe84e2ac15eb73739f27826fcaae1203.

No matter if holding a reference or not, the store needs to be tagged
as updating a Dalvik register.

Change-Id: Icb80e1b6f82103cff33ee971faaaa02f9ad4a683

10 years agoMerge "x86_64: Enable some optimizations"
Bill Buzbee [Sat, 21 Jun 2014 14:59:51 +0000 (14:59 +0000)]
Merge "x86_64: Enable some optimizations"

10 years agoMerge "x86_64: Fix fp-to-core conversion"
Bill Buzbee [Sat, 21 Jun 2014 14:59:44 +0000 (14:59 +0000)]
Merge "x86_64: Fix fp-to-core conversion"

10 years agox86_64: Fix comp-long
Serguei Katkov [Fri, 20 Jun 2014 11:17:16 +0000 (18:17 +0700)]
x86_64: Fix comp-long

If result and source are the same VR then implementation does
a wrong thing clearing dest in the beginning.

Change-Id: I66d97a828aa38121676561858119ccd44aaa4d50
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoART: Fix StoreValue to use RefDisp when necessary.
Andreas Gampe [Fri, 20 Jun 2014 19:48:12 +0000 (12:48 -0700)]
ART: Fix StoreValue to use RefDisp when necessary.

Split from https://android-review.googlesource.com/#/c/98605

Change-Id: Ib3a03428ddbec659591b838404bbfa1553fe18e9

10 years agoMerge "More verbose logs for JDWP events"
Sebastien Hertz [Mon, 23 Jun 2014 08:02:59 +0000 (08:02 +0000)]
Merge "More verbose logs for JDWP events"

10 years agoMore verbose logs for JDWP events
Sebastien Hertz [Fri, 11 Apr 2014 14:01:17 +0000 (16:01 +0200)]
More verbose logs for JDWP events

Logs more information about the JDWP event being reported with VLOG(jdwp). This
helps mainly when debugging JDWP with -verbose:jdwp option.

Change-Id: I49495bdab03dbcbdc0b6c00a8df718bfedbad91d

10 years agox86_64: Fix fp-to-core conversion
Serguei Katkov [Fri, 20 Jun 2014 09:45:52 +0000 (16:45 +0700)]
x86_64: Fix fp-to-core conversion

Long max value cannot be represented with double precision
and check fp against max_long does not guard invocation of
conversion instruction. As a result conversion ends up with
min long instead of max long.

The patch changes the guard check to not allow conversion
instruction for max long.

Change-Id: Ied761051ec27cf6c833040c25a2c61ab9fcea414
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoam 2d2d6bb1: Merge "ART: Do not try to pretty-print method in dex file"
Andreas Gampe [Fri, 20 Jun 2014 09:23:41 +0000 (09:23 +0000)]
am 2d2d6bb1: Merge "ART: Do not try to pretty-print method in dex file"

* commit '2d2d6bb1ff8692efdddf104dabfb4a2d39877ff6':
  ART: Do not try to pretty-print method in dex file

10 years agoam 6d90efa6: Merge "ART: Method verifier needs to check 2-reg values"
Andreas Gampe [Fri, 20 Jun 2014 03:44:02 +0000 (03:44 +0000)]
am 6d90efa6: Merge "ART: Method verifier needs to check 2-reg values"

* commit '6d90efa6a67a0de0dc6136874b3d9797c778e912':
  ART: Method verifier needs to check 2-reg values

10 years agoMerge "Shared single GC iteration accounting for all GCs."
Mathieu Chartier [Fri, 20 Jun 2014 20:01:28 +0000 (20:01 +0000)]
Merge "Shared single GC iteration accounting for all GCs."

10 years agoShared single GC iteration accounting for all GCs.
Mathieu Chartier [Sun, 15 Jun 2014 22:15:43 +0000 (15:15 -0700)]
Shared single GC iteration accounting for all GCs.

Previously, each garbage collector had data that was only used
during collection. Since only one collector can be running at any
given time, we can make this data be shared between all collectors.
This reduces memory usage since we don't need to have redundant
information for each GC types. Also reduced how much code is required
to sweep spaces.

Bug: 9969166
Change-Id: I31caf0ee4d572f75e0c66863fe7db12c08ae08e7

10 years agoMerge "Quick compiler: enable Arm64 compilation"
buzbee [Fri, 20 Jun 2014 19:45:44 +0000 (19:45 +0000)]
Merge "Quick compiler: enable Arm64 compilation"

10 years agoQuick compiler: enable Arm64 compilation
buzbee [Thu, 19 Jun 2014 23:08:48 +0000 (16:08 -0700)]
Quick compiler: enable Arm64 compilation

Change-Id: I19058defaff1c60b4b6b4d1ad82e0a42d50506a6

10 years agoMerge "ART: Method verifier needs to check 2-reg values"
Andreas Gampe [Fri, 20 Jun 2014 03:39:07 +0000 (03:39 +0000)]
Merge "ART: Method verifier needs to check 2-reg values"

10 years agoMerge "ART: Method verifier must check invoke-virtuals for non-zero args"
Andreas Gampe [Sat, 21 Jun 2014 01:38:46 +0000 (01:38 +0000)]
Merge "ART: Method verifier must check invoke-virtuals for non-zero args"

10 years agoART: Method verifier must check invoke-virtuals for non-zero args
Andreas Gampe [Fri, 20 Jun 2014 01:13:29 +0000 (18:13 -0700)]
ART: Method verifier must check invoke-virtuals for non-zero args

Compiler checks rely on all instructions, not just reachable ones,
so add two new verifier flags.

Bug: 15755602
Change-Id: Ia9c2146cf82d94ce4d69fb6f7be6450137bb84bd

10 years agoMerge "ART: Fix StoreValue to use RefDisp when necessary."
Andreas Gampe [Fri, 20 Jun 2014 19:53:22 +0000 (19:53 +0000)]
Merge "ART: Fix StoreValue to use RefDisp when necessary."

10 years agoMerge "Add more read barriers for JNI roots."
Hiroshi Yamauchi [Fri, 20 Jun 2014 19:30:53 +0000 (19:30 +0000)]
Merge "Add more read barriers for JNI roots."

10 years agoAdd more read barriers for JNI roots.
Hiroshi Yamauchi [Wed, 18 Jun 2014 20:47:35 +0000 (13:47 -0700)]
Add more read barriers for JNI roots.

To make it possible to concurrently scan the JNI global roots (that
is, the roots visited by JavaVMExt::VisitRoots()), add read barriers
to the indirect reference table and the reference table.

Also, add read barriers to the jmethodID/jfieldID decode routines
(ScopedObjectAccessAlreadyRunnable::DecodeField/DecodeMethod) so that
we can concurrently handle (encoded) fields and methods.

Bug: 12687968
Change-Id: I3df4e4e622a572ff0ea8d44b2dc70a4d6b3ba058

10 years agoMerge "ART: ReadFully needs to fail when EOF"
Andreas Gampe [Fri, 20 Jun 2014 19:53:56 +0000 (19:53 +0000)]
Merge "ART: ReadFully needs to fail when EOF"

10 years agoART: ReadFully needs to fail when EOF
Andreas Gampe [Fri, 20 Jun 2014 17:45:30 +0000 (10:45 -0700)]
ART: ReadFully needs to fail when EOF

Besides an explicit error, we should stop trying when we unexpectedly
reach the end of the file.

Change-Id: I16d601e1b5bcbc39cb8c4dd7fd3dbb7d69016579

10 years agoMerge "ART: Fix register overlap checks in CopyArgumentRegs"
Bill Buzbee [Fri, 20 Jun 2014 19:42:30 +0000 (19:42 +0000)]
Merge "ART: Fix register overlap checks in CopyArgumentRegs"

10 years agoART: Fix register overlap checks in CopyArgumentRegs
Andreas Gampe [Fri, 20 Jun 2014 18:34:17 +0000 (11:34 -0700)]
ART: Fix register overlap checks in CopyArgumentRegs

This is a make-shift CL. Expect this to be replaced by a reworked
implementation.

Change-Id: Ia74697d1436efd2971bc4c791fabed66d2e9d72d

10 years agoMerge "ART: Do not try to pretty-print method in dex file"
Andreas Gampe [Fri, 20 Jun 2014 05:58:42 +0000 (05:58 +0000)]
Merge "ART: Do not try to pretty-print method in dex file"

10 years agoART: Do not try to pretty-print method in dex file
Andreas Gampe [Fri, 20 Jun 2014 03:24:22 +0000 (20:24 -0700)]
ART: Do not try to pretty-print method in dex file

The code is called in verification when it is not clear yet whether
structures are valid. Simplify warning message.

Bug: 15754233
Change-Id: I85858a71143f41444ce9f00536d901c268afe547

10 years agoART: Method verifier needs to check 2-reg values
Andreas Gampe [Fri, 20 Jun 2014 00:29:48 +0000 (17:29 -0700)]
ART: Method verifier needs to check 2-reg values

The method verifier did not check against the second register
for a J or D parameter from a method signature.

The register line had a wrong DCHECK that did not catch this even
in debug mode.

Bug: 15751498
Change-Id: Ic6af08bf4704b3ab0f308dd9f0da28691a4cb024

10 years agoam 4a47f829: Merge "Quick compiler: remove Arm64 "EXPERIMENTAL" filter"
buzbee [Thu, 19 Jun 2014 23:13:45 +0000 (23:13 +0000)]
am 4a47f829: Merge "Quick compiler: remove Arm64 "EXPERIMENTAL" filter"

* commit '4a47f829ddcb82ca88f2a64da35ceca332066929':
  Quick compiler: remove Arm64 "EXPERIMENTAL" filter

10 years agoam a81fe3d5: Merge "x86_64: Several fixes required for enabling promotion"
Bill Buzbee [Thu, 19 Jun 2014 21:51:29 +0000 (21:51 +0000)]
am a81fe3d5: Merge "x86_64: Several fixes required for enabling promotion"

* commit 'a81fe3d512ef846aad3398222afd1f0588bbaf7c':
  x86_64: Several fixes required for enabling promotion

10 years agoam 7133659e: Merge "x86_64: Fix neg_double"
Bill Buzbee [Thu, 19 Jun 2014 21:26:12 +0000 (21:26 +0000)]
am 7133659e: Merge "x86_64: Fix neg_double"

* commit '7133659eeea45e391aa12affea75e39e8c300eb0':
  x86_64: Fix neg_double

10 years agoam 202e7478: Merge "ART: Log information when skipping method during compilation"
Andreas Gampe [Thu, 19 Jun 2014 20:49:52 +0000 (20:49 +0000)]
am 202e7478: Merge "ART: Log information when skipping method during compilation"

* commit '202e74780054ce2b0d87ddf0591cd83b6506de1d':
  ART: Log information when skipping method during compilation

10 years agoMerge "Quick compiler: remove Arm64 "EXPERIMENTAL" filter"
buzbee [Thu, 19 Jun 2014 23:05:02 +0000 (23:05 +0000)]
Merge "Quick compiler: remove Arm64 "EXPERIMENTAL" filter"

10 years agoQuick compiler: remove Arm64 "EXPERIMENTAL" filter
buzbee [Thu, 19 Jun 2014 22:04:12 +0000 (15:04 -0700)]
Quick compiler: remove Arm64 "EXPERIMENTAL" filter

Support for the compilation of all dex opcodes should now exist.
We'll go ahead and leave the filter code in for a new weeks, as it
may be handy if we need a quick workaround.

Change-Id: I8f1857136d78347b7d2337db2c793ad41ad45cb9

10 years agoMerge "x86_64: Fix neg_double"
Bill Buzbee [Thu, 19 Jun 2014 21:17:44 +0000 (21:17 +0000)]
Merge "x86_64: Fix neg_double"

10 years agoMerge "ART: Log information when skipping method during compilation"
Andreas Gampe [Thu, 19 Jun 2014 20:43:58 +0000 (20:43 +0000)]
Merge "ART: Log information when skipping method during compilation"

10 years agoam 4f975b9e: Merge "x86_64: Enable core.oat/boot.oat compilation"
Bill Buzbee [Thu, 19 Jun 2014 20:23:22 +0000 (20:23 +0000)]
am 4f975b9e: Merge "x86_64: Enable core.oat/boot.oat compilation"

* commit '4f975b9e2cb7eb50db27093eaa842b7400e52834':
  x86_64: Enable core.oat/boot.oat compilation

10 years agoam 70ac0d09: Merge "Add mark compact collector."
Mathieu Chartier [Thu, 19 Jun 2014 20:15:39 +0000 (20:15 +0000)]
am 70ac0d09: Merge "Add mark compact collector."

* commit '70ac0d09987eb38cc7f55a6b6f8fd92fa67706ce':
  Add mark compact collector.

10 years agoART: Log information when skipping method during compilation
Andreas Gampe [Thu, 19 Jun 2014 18:34:06 +0000 (11:34 -0700)]
ART: Log information when skipping method during compilation

Add a reason for skipping a method to the log.

Change-Id: I3b31ee64cce6b531b25397f646cdfee650704ad6

10 years agoMerge "x86_64: Enable core.oat/boot.oat compilation"
Bill Buzbee [Thu, 19 Jun 2014 20:18:35 +0000 (20:18 +0000)]
Merge "x86_64: Enable core.oat/boot.oat compilation"

10 years agoam 49e5ec42: Merge "ART: Start implementation of OpRegRegRegExtend for ARM64"
Andreas Gampe [Thu, 19 Jun 2014 17:32:35 +0000 (17:32 +0000)]
am 49e5ec42: Merge "ART: Start implementation of OpRegRegRegExtend for ARM64"

* commit '49e5ec42595b29e233fb92b8bd2cf8ade77c6501':
  ART: Start implementation of OpRegRegRegExtend for ARM64

10 years agoam 249fa663: Merge "Fix art_quick_instrumentation_exit for ARM64"
Sebastien Hertz [Thu, 19 Jun 2014 15:03:26 +0000 (15:03 +0000)]
am 249fa663: Merge "Fix art_quick_instrumentation_exit for ARM64"

* commit '249fa66368ba83d1c6b593259a9021861f32897b':
  Fix art_quick_instrumentation_exit for ARM64

10 years agoMerge "x86_64: Several fixes required for enabling promotion"
Bill Buzbee [Thu, 19 Jun 2014 21:44:43 +0000 (21:44 +0000)]
Merge "x86_64: Several fixes required for enabling promotion"

10 years agoam 4ef30e97: Merge "Add an option to enable collecting dex pc in ART profiler"
Calin Juravle [Thu, 19 Jun 2014 12:17:38 +0000 (12:17 +0000)]
am 4ef30e97: Merge "Add an option to enable collecting dex pc in ART profiler"

* commit '4ef30e9712ec4d61370a57351232edca723dff6b':
  Add an option to enable collecting dex pc in ART profiler

10 years agox86_64: Fix neg_double
Alexei Zavjalov [Wed, 18 Jun 2014 10:18:36 +0000 (17:18 +0700)]
x86_64: Fix neg_double

In a case, when src and dest regs are the same, previous
implementation of the neg_double bytecode returns an
incorrect result.

This implementation uses shifts and xor and works for both
cases.

Change-Id: I137d9a90298ec225d80435d35558da8abb69cd01
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
10 years agoam 995b32cc: Merge "ART: Implicit checks in the compiler are independent from Runtime"
Andreas Gampe [Thu, 19 Jun 2014 09:22:19 +0000 (09:22 +0000)]
am 995b32cc: Merge "ART: Implicit checks in the compiler are independent from Runtime"

* commit '995b32cc8e94a9730d6cf663a23afc9c997c1771':
  ART: Implicit checks in the compiler are independent from Runtime

10 years agoam 69070788: Merge "ART: Reserve 8B for float literals on ARM64"
Andreas Gampe [Thu, 19 Jun 2014 09:22:16 +0000 (09:22 +0000)]
am 69070788: Merge "ART: Reserve 8B for float literals on ARM64"

* commit '69070788c5ed3e58303355277f746e834e677741':
  ART: Reserve 8B for float literals on ARM64

10 years agoam 57eb0b46: Merge "ART: Change rrr add and sub for ARM64"
Andreas Gampe [Thu, 19 Jun 2014 02:48:00 +0000 (02:48 +0000)]
am 57eb0b46: Merge "ART: Change rrr add and sub for ARM64"

* commit '57eb0b46e4b6ff91b5b74010057d6f733d869bfd':
  ART: Change rrr add and sub for ARM64

10 years agoam 48bb32a4: Merge "ART: Target-dependent stack overflow, less check elision"
Andreas Gampe [Thu, 19 Jun 2014 02:47:59 +0000 (02:47 +0000)]
am 48bb32a4: Merge "ART: Target-dependent stack overflow, less check elision"

* commit '48bb32a4373b42f649d6f7e53f77413acc94cbaf':
  ART: Target-dependent stack overflow, less check elision

10 years agoam ef38670c: Merge "Ensure classes are initialized rather than initializing."
Ian Rogers [Thu, 19 Jun 2014 00:10:05 +0000 (00:10 +0000)]
am ef38670c: Merge "Ensure classes are initialized rather than initializing."

* commit 'ef38670cae8462d579da983c1863f96717cccee6':
  Ensure classes are initialized rather than initializing.

10 years agoam 0c29909c: Merge "Assign a lower Locklevel for Mutexes used in QuasiAtomic operatio...
Ian Rogers [Wed, 18 Jun 2014 23:35:14 +0000 (23:35 +0000)]
am 0c29909c: Merge "Assign a lower Locklevel for Mutexes used in QuasiAtomic operations. This fixes the CompilerDriverTest on MIPS. The test was failing when Transaction::Abort() acquired intern_table_lock_ and log_lock_ and subsequently performed QuasiAtomic operatio

* commit '0c29909cbde112bc9c04da4ce81421e1a0b39f36':
  Assign a lower Locklevel for Mutexes used in QuasiAtomic operations. This fixes the CompilerDriverTest on MIPS. The test was failing when Transaction::Abort() acquired intern_table_lock_ and log_lock_ and subsequently performed QuasiAtomic operations.

10 years agoMerge "Assign a lower Locklevel for Mutexes used in QuasiAtomic operations. This...
Ian Rogers [Wed, 18 Jun 2014 23:24:40 +0000 (23:24 +0000)]
Merge "Assign a lower Locklevel for Mutexes used in QuasiAtomic operations. This fixes the CompilerDriverTest on MIPS. The test was failing when Transaction::Abort() acquired intern_table_lock_ and log_lock_ and subsequently performed QuasiAtomic operations."

10 years agoMerge "ART: Implicit checks in the compiler are independent from Runtime"
Andreas Gampe [Thu, 19 Jun 2014 06:56:51 +0000 (06:56 +0000)]
Merge "ART: Implicit checks in the compiler are independent from Runtime"

10 years agoART: Implicit checks in the compiler are independent from Runtime
Andreas Gampe [Tue, 17 Jun 2014 23:36:07 +0000 (16:36 -0700)]
ART: Implicit checks in the compiler are independent from Runtime

When cross-compiling, those flags are independent. This is an
initial CL that helps bypass fatal failures when cross-compiling,
as not all architectures support (and have turned on) implicit
checks.

The actual transport for the target architecture when it is
different from the runtime needs to be implemented in a follow-up
CL.

Bug: 15703710
Change-Id: Idc881a9a4abfd38643b862a491a5af9b8841f693

10 years agoMerge "ART: Reserve 8B for float literals on ARM64"
Andreas Gampe [Thu, 19 Jun 2014 06:42:33 +0000 (06:42 +0000)]
Merge "ART: Reserve 8B for float literals on ARM64"

10 years agoART: Reserve 8B for float literals on ARM64
Andreas Gampe [Thu, 19 Jun 2014 06:19:07 +0000 (23:19 -0700)]
ART: Reserve 8B for float literals on ARM64

This is a cludge to make sure literal pools will be 8B aligned.
A better approach would be post-processing - that way we could
pack the floats.

Change-Id: Ia9c6f53e0f6e37b4be79e1efe7f14feb49f2052b

10 years agoMerge "ART: Change rrr add and sub for ARM64"
Andreas Gampe [Thu, 19 Jun 2014 02:39:37 +0000 (02:39 +0000)]
Merge "ART: Change rrr add and sub for ARM64"

10 years agoART: Change rrr add and sub for ARM64
Andreas Gampe [Thu, 19 Jun 2014 00:45:32 +0000 (17:45 -0700)]
ART: Change rrr add and sub for ARM64

OpRegRegImm will fall back to loading a constant into a register
and then doing the operation with three registers. That is, for
example, the case when we allocate large stack frames. However,
the currently chosen operations are add/sub shifted, which does
*not* allow to specify SP (x31 will be interpreted as xzr). Switch
to add/sub extended. There won't be a practical difference, as we
do not call with anything other than 0 shift.

Change-Id: I2b78df9f044d2963e3e890777c855b339952f9f4