OSDN Git Service

android-x86/art.git
10 years agoMerge "Fix null pointer check elimination for catch entries."
Vladimir Marko [Wed, 23 Jul 2014 12:05:26 +0000 (12:05 +0000)]
Merge "Fix null pointer check elimination for catch entries."

10 years agoMerge "Rules depend on DEX2OATD, not DEX2OATD_DEPENDENCY."
Nicolas Geoffray [Wed, 23 Jul 2014 09:12:11 +0000 (09:12 +0000)]
Merge "Rules depend on DEX2OATD, not DEX2OATD_DEPENDENCY."

10 years agoRules depend on DEX2OATD, not DEX2OATD_DEPENDENCY.
Nicolas Geoffray [Wed, 23 Jul 2014 08:59:21 +0000 (09:59 +0100)]
Rules depend on DEX2OATD, not DEX2OATD_DEPENDENCY.

If dex2oatd changes, we need to re-run .oat/.art file generation.

Change-Id: I43487e024745b22b1681f4ff558bac6fd07d9881

10 years agoFix null pointer check elimination for catch entries.
Vladimir Marko [Fri, 11 Jul 2014 13:44:36 +0000 (14:44 +0100)]
Fix null pointer check elimination for catch entries.

Remove the special treatment of catch blocks for null
pointer check elimination and class initialization check
elimination. In both cases this can help optimizing
previously missed cases. In the null check case, this
avoids incorrect optimization as exposed by the new test.

Bug: 16230771
Change-Id: I834b7a1835d9ca8572f4f8d8516d93913c701ad1

10 years agoMerge "Fix x86 instrumentation exit entrypoint and trace size limit."
Jeff Hao [Wed, 23 Jul 2014 01:50:09 +0000 (01:50 +0000)]
Merge "Fix x86 instrumentation exit entrypoint and trace size limit."

10 years agoFix x86 instrumentation exit entrypoint and trace size limit.
Jeff Hao [Wed, 23 Jul 2014 01:38:42 +0000 (18:38 -0700)]
Fix x86 instrumentation exit entrypoint and trace size limit.

The x86 instruction movd only copies a 32-bit value when used with a
memory location. movsd properly copies 64-bits.

Bug: 16386215

Change-Id: Ia59b2c2af72ce5202c7b62413687aedb48cfd25e

10 years agoMerge "Recycle mem-maps for collector transitions."
Mathieu Chartier [Wed, 23 Jul 2014 01:01:30 +0000 (01:01 +0000)]
Merge "Recycle mem-maps for collector transitions."

10 years agoRecycle mem-maps for collector transitions.
Mathieu Chartier [Wed, 16 Jul 2014 20:28:58 +0000 (13:28 -0700)]
Recycle mem-maps for collector transitions.

We now create spaces when we need them for collector transitions or
homogeneous compaction by recycling mem maps. Change the bump
pointer space size to be as large as the heap capacity instead of
1/2 heap capacity like it used to be. For GSS, bump pointer spaces
are set to 32MB currently.

Changed GSS to have main space == non moving space since we don't
need to copy from the main space.

Fixes GC stress tests 074, 096.
Fixed test 080 oom throw with -Xmx2m for GC stress test, this was
broken since it was allocating a 4 MB array before starting the
OOM process.

Bug: 14059466
Bug: 16406852
Change-Id: I62877cfa24ec944a6f34ffac30334f454a8002fd

10 years agoMerge "Changed default non-full tests to be prebuild."
Andreas Gampe [Wed, 23 Jul 2014 01:43:30 +0000 (01:43 +0000)]
Merge "Changed default non-full tests to be prebuild."

10 years agoChanged default non-full tests to be prebuild.
Alex Light [Wed, 23 Jul 2014 01:07:12 +0000 (18:07 -0700)]
Changed default non-full tests to be prebuild.

Also added ability to turn off non-prebuild manually.

Change-Id: I0315ac43703a9c7e79812658523013799fb5d5dd

10 years agoMerge "Fix build, missing spaces around =/<."
Mingyao Yang [Wed, 23 Jul 2014 00:35:01 +0000 (00:35 +0000)]
Merge "Fix build, missing spaces around =/<."

10 years agoFix build, missing spaces around =/<.
Mingyao Yang [Wed, 23 Jul 2014 00:33:25 +0000 (17:33 -0700)]
Fix build, missing spaces around =/<.

Change-Id: I2e7824075626a07eccb0a5eb77ef157214fe70fb

10 years agoMerge "Put oat test output on stderr."
Ian Rogers [Tue, 22 Jul 2014 22:05:57 +0000 (22:05 +0000)]
Merge "Put oat test output on stderr."

10 years agoPut oat test output on stderr.
Ian Rogers [Tue, 22 Jul 2014 21:22:22 +0000 (14:22 -0700)]
Put oat test output on stderr.

Change-Id: Iad318f63263dc5d264d8a84eacedf5065a4e5248

10 years agoMerge "ART: Fix checks for relocation delta"
Andreas Gampe [Tue, 22 Jul 2014 21:09:07 +0000 (21:09 +0000)]
Merge "ART: Fix checks for relocation delta"

10 years agoART: Fix checks for relocation delta
Andreas Gampe [Tue, 22 Jul 2014 21:04:34 +0000 (14:04 -0700)]
ART: Fix checks for relocation delta

Change < to <= and > to >=.

Change-Id: I7579e3c13dc1b33801ace3a0f8d85cadaee41e6e

10 years agoMerge "ART: Blacklist relocate option in oat tests"
Andreas Gampe [Tue, 22 Jul 2014 20:57:39 +0000 (20:57 +0000)]
Merge "ART: Blacklist relocate option in oat tests"

10 years agoART: Blacklist relocate option in oat tests
Andreas Gampe [Tue, 22 Jul 2014 18:46:28 +0000 (11:46 -0700)]
ART: Blacklist relocate option in oat tests

To avoid overwriting issues when running the relocate option for
oat tests, blacklist them.

Change-Id: I37685a761fd0949502da134690d88ba2a399ea44

10 years agoMerge "Set vtable in class object to null after linking."
Mingyao Yang [Tue, 22 Jul 2014 22:05:50 +0000 (22:05 +0000)]
Merge "Set vtable in class object to null after linking."

10 years agoSet vtable in class object to null after linking.
Mingyao Yang [Wed, 16 Jul 2014 17:44:41 +0000 (10:44 -0700)]
Set vtable in class object to null after linking.

This is follow-up work of embedding imt and vtable for
faster interface/virtual call dispatching.
Once vtable becomes embedded, the original vtable is nulled.

Change-Id: I307696657d1e283654169dbecb8f7815c42bbabc

10 years agoMerge "Made sync-test actually wait for first thread to start."
Andreas Gampe [Tue, 22 Jul 2014 21:40:47 +0000 (21:40 +0000)]
Merge "Made sync-test actually wait for first thread to start."

10 years agoMade sync-test actually wait for first thread to start.
Alex Light [Tue, 22 Jul 2014 21:04:31 +0000 (14:04 -0700)]
Made sync-test actually wait for first thread to start.

This makes sure that the threads execute in the order we expect.

Change-Id: I0c4976e72ef2eb9e5fd66184eb1cd4821ea1e42b

10 years agoMerge "Runtime can now be set to require relocation"
Andreas Gampe [Tue, 22 Jul 2014 15:25:28 +0000 (15:25 +0000)]
Merge "Runtime can now be set to require relocation"

10 years agoRuntime can now be set to require relocation
Alex Light [Wed, 2 Jul 2014 23:28:08 +0000 (16:28 -0700)]
Runtime can now be set to require relocation

Add a pair of runtime flags -Xrelocate and -Xnorelocate that can force
the runtime to require that all files that are run are relocated, to
prevent attacks based on the known art base address.

Add support for running patchoat on oat files compiled without an image.

Change run-test to have new --prebuild and --relocate flags.

Bug: 15358152

Change-Id: I91166c62dd1ab80e5cbcb7883a2cd0d56afca32d

10 years agoMerge "Add read barriers for the GC roots in Instrumentation."
Hiroshi Yamauchi [Mon, 21 Jul 2014 18:01:22 +0000 (18:01 +0000)]
Merge "Add read barriers for the GC roots in Instrumentation."

10 years agoAdd read barriers for the GC roots in Instrumentation.
Hiroshi Yamauchi [Fri, 18 Jul 2014 22:38:17 +0000 (15:38 -0700)]
Add read barriers for the GC roots in Instrumentation.

Bug: 12687968
Change-Id: I324e2f950ce4500b0e00722044af3a9c82487b23

10 years agoMerge "Fix erroneous behaviors with OOME present."
Ian Rogers [Mon, 21 Jul 2014 16:37:48 +0000 (16:37 +0000)]
Merge "Fix erroneous behaviors with OOME present."

10 years agoFix erroneous behaviors with OOME present.
Ian Rogers [Mon, 21 Jul 2014 15:55:01 +0000 (08:55 -0700)]
Fix erroneous behaviors with OOME present.

Bug: 16454510
Change-Id: I757088a7b82ff73f58aba8d357080028b56442e6

10 years agoMerge "Make unit test tell if a method is a leaf."
Nicolas Geoffray [Tue, 22 Jul 2014 16:57:58 +0000 (16:57 +0000)]
Merge "Make unit test tell if a method is a leaf."

10 years agoMake unit test tell if a method is a leaf.
Nicolas Geoffray [Tue, 22 Jul 2014 16:47:56 +0000 (17:47 +0100)]
Make unit test tell if a method is a leaf.

The runtime is not initialized completely in gtests, so we
cannot run code (such as explicit stack overflow checks) that
look at tls values.

Change-Id: I74a4449b01eb203f1b411dda700e9459878d0d55

10 years agoMerge "Stack overflow checks and NPE checks for optimizing."
Nicolas Geoffray [Tue, 22 Jul 2014 15:12:37 +0000 (15:12 +0000)]
Merge "Stack overflow checks and NPE checks for optimizing."

10 years agoStack overflow checks and NPE checks for optimizing.
Nicolas Geoffray [Thu, 17 Jul 2014 17:32:41 +0000 (18:32 +0100)]
Stack overflow checks and NPE checks for optimizing.

Change-Id: I59e97448bf29778769b79b51ee4ea43f43493d96

10 years agoMerge "Avoid marking erroneous classes as erroneous twice."
Ian Rogers [Tue, 22 Jul 2014 08:01:10 +0000 (08:01 +0000)]
Merge "Avoid marking erroneous classes as erroneous twice."

10 years agoAvoid marking erroneous classes as erroneous twice.
Ian Rogers [Tue, 22 Jul 2014 07:59:52 +0000 (00:59 -0700)]
Avoid marking erroneous classes as erroneous twice.

Change-Id: I1f340a6054cf36f6b4ba7d85cfd05b1c677dced7

10 years agoMerge "ART: Throw StackOverflowError in native code"
Andreas Gampe [Tue, 22 Jul 2014 06:51:47 +0000 (06:51 +0000)]
Merge "ART: Throw StackOverflowError in native code"

10 years agoART: Throw StackOverflowError in native code
Andreas Gampe [Mon, 14 Jul 2014 23:21:44 +0000 (16:21 -0700)]
ART: Throw StackOverflowError in native code

Initialize stack-overflow errors in native code to be able to reduce
the preserved area size of the stack.

Includes a refactoring away from constexpr in instruction_set.h to allow
for easy changing of the values.

Change-Id: I117cc8485f43da5f0a470f0f5e5b3dc3b5a06246

10 years agoMerge "Redirect failing test output to stderr."
Ian Rogers [Tue, 22 Jul 2014 03:39:52 +0000 (03:39 +0000)]
Merge "Redirect failing test output to stderr."

10 years agoRedirect failing test output to stderr.
Ian Rogers [Tue, 22 Jul 2014 03:28:31 +0000 (20:28 -0700)]
Redirect failing test output to stderr.

Change-Id: I8feeeef569854476d33fdc613182dbe16f7ba53c

10 years agoMerge "ART: Increase command buffer size in assembler_thumb_test"
Ian Rogers [Tue, 22 Jul 2014 02:58:25 +0000 (02:58 +0000)]
Merge "ART: Increase command buffer size in assembler_thumb_test"

10 years agoART: Increase command buffer size in assembler_thumb_test
Andreas Gampe [Tue, 22 Jul 2014 01:32:59 +0000 (18:32 -0700)]
ART: Increase command buffer size in assembler_thumb_test

Change-Id: I5fe0014a2928772650bdb120a877eb9624bf7651

10 years agoMerge "Add detection of zygote vs app vs image objects in hprof"
Mathieu Chartier [Mon, 21 Jul 2014 20:54:24 +0000 (20:54 +0000)]
Merge "Add detection of zygote vs app vs image objects in hprof"

10 years agoAdd detection of zygote vs app vs image objects in hprof
Mathieu Chartier [Sat, 19 Jul 2014 00:58:22 +0000 (17:58 -0700)]
Add detection of zygote vs app vs image objects in hprof

Bug: 16406673
Change-Id: Ic3e4a809c00b8379e42b074f9032ac106138be67

10 years agoMerge "ART: Check high part of dalvik register pairs on put-wide"
Andreas Gampe [Tue, 22 Jul 2014 05:32:12 +0000 (05:32 +0000)]
Merge "ART: Check high part of dalvik register pairs on put-wide"

10 years agoART: Check high part of dalvik register pairs on put-wide
Andreas Gampe [Tue, 22 Jul 2014 05:11:42 +0000 (22:11 -0700)]
ART: Check high part of dalvik register pairs on put-wide

When verifying a put-wide, it is necessary to check the lo and the hi
register for the right type.

Bug: 16018242
Change-Id: I9e661951d592e155e0f281ea959e778d8f4a67ab

10 years agoMerge "Fix sizeof -> strlen to get the test to run on build servers."
Nicolas Geoffray [Mon, 21 Jul 2014 12:40:53 +0000 (12:40 +0000)]
Merge "Fix sizeof -> strlen to get the test to run on build servers."

10 years agoFix sizeof -> strlen to get the test to run on build servers.
Nicolas Geoffray [Mon, 21 Jul 2014 10:51:32 +0000 (11:51 +0100)]
Fix sizeof -> strlen to get the test to run on build servers.

Change-Id: I8501d02a9bc5f84a769a80d46d0ec5754c972e5d

10 years agoMerge "Add write barriers to optimizing compiler."
Nicolas Geoffray [Mon, 21 Jul 2014 10:14:31 +0000 (10:14 +0000)]
Merge "Add write barriers to optimizing compiler."

10 years agoAdd write barriers to optimizing compiler.
Nicolas Geoffray [Thu, 17 Jul 2014 14:15:34 +0000 (15:15 +0100)]
Add write barriers to optimizing compiler.

Change-Id: I43a40954757f51d49782e70bc28f7c314d6dbe17

10 years agoMerge "Add assembly operations with constants in optimizing compiler."
Nicolas Geoffray [Mon, 21 Jul 2014 09:10:54 +0000 (09:10 +0000)]
Merge "Add assembly operations with constants in optimizing compiler."

10 years agoAdd assembly operations with constants in optimizing compiler.
Nicolas Geoffray [Fri, 11 Jul 2014 09:57:49 +0000 (10:57 +0100)]
Add assembly operations with constants in optimizing compiler.

Change-Id: I5bcc35ab50d4457186effef5592a75d7f4e5b65f

10 years agoMerge "Interpreter can kick in even when implicit checks are enabled."
Nicolas Geoffray [Tue, 22 Jul 2014 15:18:57 +0000 (15:18 +0000)]
Merge "Interpreter can kick in even when implicit checks are enabled."

10 years agoInterpreter can kick in even when implicit checks are enabled.
Nicolas Geoffray [Tue, 22 Jul 2014 14:17:38 +0000 (15:17 +0100)]
Interpreter can kick in even when implicit checks are enabled.

Add a GetStackEndForInterpreter for its stack overfow check.

Change-Id: I2d4fc229a8eb727fda509ff778e16d60d96ecc28

10 years agoMerge "Use vabs/fabs on arm/arm64 for intrinsic abs()."
Vladimir Marko [Tue, 22 Jul 2014 14:34:40 +0000 (14:34 +0000)]
Merge "Use vabs/fabs on arm/arm64 for intrinsic abs()."

10 years agoUse vabs/fabs on arm/arm64 for intrinsic abs().
Vladimir Marko [Thu, 17 Jul 2014 09:43:08 +0000 (10:43 +0100)]
Use vabs/fabs on arm/arm64 for intrinsic abs().

Bug: 11579369
Change-Id: If09da85e22786faa13a2d74f62cee68ea67bd087

10 years agoMerge "Fix two read barrier bugs introduced in CL 97882."
Hiroshi Yamauchi [Fri, 18 Jul 2014 00:16:30 +0000 (00:16 +0000)]
Merge "Fix two read barrier bugs introduced in CL 97882."

10 years agoFix two read barrier bugs introduced in CL 97882.
Hiroshi Yamauchi [Thu, 17 Jul 2014 23:16:31 +0000 (16:16 -0700)]
Fix two read barrier bugs introduced in CL 97882.

Bug: 12687968
Change-Id: Ib28da4c33977cc58b09913ef5b738dec75365714

10 years agoMerge "Fix the name of a black listed run-test."
Ian Rogers [Sat, 19 Jul 2014 05:41:18 +0000 (05:41 +0000)]
Merge "Fix the name of a black listed run-test."

10 years agoFix the name of a black listed run-test.
Ian Rogers [Sat, 19 Jul 2014 05:38:56 +0000 (22:38 -0700)]
Fix the name of a black listed run-test.

Change-Id: I1ac4d28bd959b33066cce32812613c2e27d40f7e

10 years agoBlack list timing sensitive tests from gcverify and gcstress
Ian Rogers [Sat, 19 Jul 2014 03:56:27 +0000 (20:56 -0700)]
Black list timing sensitive tests from gcverify and gcstress

but only when run on build servers.

Change-Id: Icb3b125142d75bd4cc140c9f8ef7abf1d6451c5a

10 years agoBlack list more trace tests.
Ian Rogers [Sat, 19 Jul 2014 02:52:07 +0000 (19:52 -0700)]
Black list more trace tests.

Bug: 16386215
Change-Id: Ieda8306f9419669935f5452a1765c09ff898ff7f

10 years agoMerge "Black list timing sensitive tests from gcverify and gcstress"
Ian Rogers [Sat, 19 Jul 2014 03:59:07 +0000 (03:59 +0000)]
Merge "Black list timing sensitive tests from gcverify and gcstress"

10 years agoMerge "Run-test fix."
Ian Rogers [Fri, 18 Jul 2014 23:09:06 +0000 (23:09 +0000)]
Merge "Run-test fix."

10 years agoRun-test fix.
Ian Rogers [Fri, 18 Jul 2014 22:55:59 +0000 (15:55 -0700)]
Run-test fix.

Change-Id: I601d425582a69f77786a76d625079f3ca5974428

10 years agoMerge "Add a GC stress run that uses a moving collector and small heap sizes."
Ian Rogers [Fri, 18 Jul 2014 22:13:37 +0000 (22:13 +0000)]
Merge "Add a GC stress run that uses a moving collector and small heap sizes."

10 years agoAdd a GC stress run that uses a moving collector and small heap sizes.
Ian Rogers [Fri, 18 Jul 2014 22:06:53 +0000 (15:06 -0700)]
Add a GC stress run that uses a moving collector and small heap sizes.

Disable 3 run-tests for this configuration that fail for reasons relating to
OOME handling.
Add 012-math to the failing trace tests, it fails due to hitting a file size
limit when running in the interpreter.

Change-Id: Ia58f4c245d9d2d14caf5f2f2f3dcbfa40d4ccadb

10 years agoMerge "ART: Improve overflow detection in dex file verifier"
Andreas Gampe [Fri, 18 Jul 2014 19:17:01 +0000 (19:17 +0000)]
Merge "ART: Improve overflow detection in dex file verifier"

10 years agoART: Improve overflow detection in dex file verifier
Andreas Gampe [Fri, 18 Jul 2014 04:49:24 +0000 (21:49 -0700)]
ART: Improve overflow detection in dex file verifier

Overflows were hidden by the design of the checks. Push all range
checks as lists, so we can explicitly check against the count.

Bug: 16017886
Change-Id: I0083f83006ef1e55518b0919dff319004b66dcb8

10 years agoMerge "Add GC verification test rules."
Ian Rogers [Fri, 18 Jul 2014 18:50:37 +0000 (18:50 +0000)]
Merge "Add GC verification test rules."

10 years agoAdd GC verification test rules.
Ian Rogers [Fri, 18 Jul 2014 18:38:13 +0000 (11:38 -0700)]
Add GC verification test rules.

Change-Id: I7469ecaf98f680e7e642035f3536b00bdd97b486

10 years agoAllow optimizing and trace tests to be not run.
Ian Rogers [Fri, 18 Jul 2014 18:02:19 +0000 (11:02 -0700)]
Allow optimizing and trace tests to be not run.

Make it so that optimizing and trace tests can be chosen to be not run.
mm -j32 test-art
will run all optimizing and trace tests.
mm -j32 test-art ART_TEST_FULL=false
will not run optimizing and trace tests.
mm -j32 test-art ART_TEST_FULL=false ART_TEST_OPTIMIZING=true
will not run trace tests but will run optimizing tests.

Change-Id: I9c04d9489f08fb837da5561d9496c97aee7c4a4a

10 years agoMerge "Allow optimizing and trace tests to be not run."
Ian Rogers [Fri, 18 Jul 2014 18:17:41 +0000 (18:17 +0000)]
Merge "Allow optimizing and trace tests to be not run."

10 years agoMerge "Improved implementation of inline of String.indexOf"
Ian Rogers [Fri, 18 Jul 2014 15:39:41 +0000 (15:39 +0000)]
Merge "Improved implementation of inline of String.indexOf"

10 years agoImproved implementation of inline of String.indexOf
nikolay serdjuk [Fri, 18 Jul 2014 05:35:46 +0000 (12:35 +0700)]
Improved implementation of inline of String.indexOf

This version pushes EDI only once and only in 32-bit mode.

Change-Id: I4e871d3531ac539536f8f53ec09ffb664409c9cc

10 years agoMerge "Add optimized assembler implementation of __memcmp16 for x86."
Ian Rogers [Fri, 18 Jul 2014 15:21:35 +0000 (15:21 +0000)]
Merge "Add optimized assembler implementation of __memcmp16 for x86."

10 years agoMerge "ART: Do not attempt to compile a method with too many registers"
Andreas Gampe [Fri, 18 Jul 2014 17:39:47 +0000 (17:39 +0000)]
Merge "ART: Do not attempt to compile a method with too many registers"

10 years agoART: Do not attempt to compile a method with too many registers
Andreas Gampe [Fri, 18 Jul 2014 01:04:32 +0000 (18:04 -0700)]
ART: Do not attempt to compile a method with too many registers

The mir_graph has a hard limit on how many ssa registers it can
handle, and will silently fail or fatal out in debug builds when
more SSA registers are necessary. This adds a check in the frontend
that tries to catch some of these cases, and makes the DCHECK a
CHECK to not silently fail.

Bug: 16018097
Change-Id: Iad82178945a8f8c34943cc7573fd73d2b4decade

10 years agoMerge "Black list more trace tests."
Ian Rogers [Sat, 19 Jul 2014 03:12:33 +0000 (03:12 +0000)]
Merge "Black list more trace tests."

10 years agoMerge "ART: Also accept java.lang.Throwable as a catch-all handler."
Andreas Gampe [Fri, 18 Jul 2014 23:40:02 +0000 (23:40 +0000)]
Merge "ART: Also accept java.lang.Throwable as a catch-all handler."

10 years agoART: Also accept java.lang.Throwable as a catch-all handler.
Andreas Gampe [Fri, 18 Jul 2014 22:41:00 +0000 (15:41 -0700)]
ART: Also accept java.lang.Throwable as a catch-all handler.

Accept catch handlers with catch type of java.lang.Throwable as
catch-all handlers.

Bug: 16308310
Change-Id: Ie9b9582ee71c94c82b7695dc6f9c2c6df3d869d8

10 years agoMerge "ART: inline Math.Max/Min (float and double)"
Ian Rogers [Fri, 18 Jul 2014 15:08:14 +0000 (15:08 +0000)]
Merge "ART: inline Math.Max/Min (float and double)"

10 years agoMerge "Fix bad comment in class_linker"
Calin Juravle [Fri, 18 Jul 2014 13:25:27 +0000 (13:25 +0000)]
Merge "Fix bad comment in class_linker"

10 years agoMerge "Fix GVN to handle normal paths leading to catch entry."
Vladimir Marko [Fri, 18 Jul 2014 09:52:54 +0000 (09:52 +0000)]
Merge "Fix GVN to handle normal paths leading to catch entry."

10 years agoMerge "We can also run the linear scan register allocator on thumb."
Nicolas Geoffray [Fri, 18 Jul 2014 09:32:24 +0000 (09:32 +0000)]
Merge "We can also run the linear scan register allocator on thumb."

10 years agoWe can also run the linear scan register allocator on thumb.
Nicolas Geoffray [Fri, 18 Jul 2014 09:23:59 +0000 (10:23 +0100)]
We can also run the linear scan register allocator on thumb.

Change-Id: I5d21b5cbcdd93ff36342111de4ebcaab172034dd

10 years agoMerge "ART: Fail dex file verification on invalid access flags"
Andreas Gampe [Fri, 18 Jul 2014 03:53:31 +0000 (03:53 +0000)]
Merge "ART: Fail dex file verification on invalid access flags"

10 years agoART: Fail dex file verification on invalid access flags
Andreas Gampe [Fri, 18 Jul 2014 02:26:50 +0000 (19:26 -0700)]
ART: Fail dex file verification on invalid access flags

Only allow standard java access flags in class-def items.

Bug: 16018234
Change-Id: I54e788817d5974faf7b3841cd01b9ca4568249c1

10 years agoMerge "Avoid race in single thread suspension."
Ian Rogers [Fri, 18 Jul 2014 02:12:18 +0000 (02:12 +0000)]
Merge "Avoid race in single thread suspension."

10 years agoAvoid race in single thread suspension.
Ian Rogers [Fri, 18 Jul 2014 01:52:42 +0000 (18:52 -0700)]
Avoid race in single thread suspension.

Don't allow more than one concurrent single thread suspension to avoid
potential cycles and deadlocks where threads try to suspend each other.
Bug: 1636445816354227

Change-Id: I907f1d5591a6aa5c241d37d6b4a34f968f98df77

10 years agoMerge "x86_64: Fix GenDalvikArgsRange for 64-bit ref"
Ian Rogers [Fri, 18 Jul 2014 16:50:27 +0000 (16:50 +0000)]
Merge "x86_64: Fix GenDalvikArgsRange for 64-bit ref"

10 years agox86_64: Fix GenDalvikArgsRange for 64-bit ref
Serguei Katkov [Tue, 15 Jul 2014 05:01:00 +0000 (12:01 +0700)]
x86_64: Fix GenDalvikArgsRange for 64-bit ref

32-bit virtual register can be in 64-bit solo register.
So we should not compute the size of virtual register
basing on size of phyical register.

Change-Id: I4e11be13df8469be63808d0ce9d1ca6f80bef483
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
10 years agoMerge "ART: Make a soft failure in method verifier hard, add check"
Andreas Gampe [Fri, 18 Jul 2014 01:32:01 +0000 (01:32 +0000)]
Merge "ART: Make a soft failure in method verifier hard, add check"

10 years agoART: Make a soft failure in method verifier hard, add check
Andreas Gampe [Thu, 17 Jul 2014 23:13:35 +0000 (16:13 -0700)]
ART: Make a soft failure in method verifier hard, add check

Make the soft error of using a primitive type in an instanceof a
hard verifier error.

Add a check when doing check_cast peep-hole optimization to check
whether the cast type is valid.

Bug: 16020300
Change-Id: Icaea560d17804f24a13dc09c115e9ec7039cb472

10 years agoMerge "ART: Use array-inl.h in reference_table_test"
Andreas Gampe [Fri, 18 Jul 2014 01:31:36 +0000 (01:31 +0000)]
Merge "ART: Use array-inl.h in reference_table_test"

10 years agoART: Use array-inl.h in reference_table_test
Andreas Gampe [Thu, 17 Jul 2014 21:52:06 +0000 (14:52 -0700)]
ART: Use array-inl.h in reference_table_test

The test allocates arrays, which is an inline definition.

Change-Id: I1423c5419949d7c352ed0e614d4f9c5920831deb

10 years agoFix bad comment in class_linker
Calin Juravle [Thu, 17 Jul 2014 20:14:23 +0000 (21:14 +0100)]
Fix bad comment in class_linker

Change-Id: Ic8c90e9d880c5aae7e7bdb6c2a0c854fdaa5c357

10 years agoMerge "Fix identifier size in the heap dump."
Calin Juravle [Thu, 17 Jul 2014 20:08:08 +0000 (20:08 +0000)]
Merge "Fix identifier size in the heap dump."

10 years agoFix identifier size in the heap dump.
Calin Juravle [Fri, 4 Jul 2014 15:24:03 +0000 (16:24 +0100)]
Fix identifier size in the heap dump.

We're using addresses as IDs and previously we would have written
sizeof(void*) as the identifier size in the header. Heap references
are actually uint32_t so writting 4 bytes should be enough.

Bug: 16016862
Change-Id: I785abf5030681b6009370b7b2d7552e8b4b54e67

10 years agoFix GVN to handle normal paths leading to catch entry.
Vladimir Marko [Thu, 17 Jul 2014 19:50:07 +0000 (20:50 +0100)]
Fix GVN to handle normal paths leading to catch entry.

When the catch block is empty, the catch entry is actually
the normal path block after the try block. Fix the LVN
merge for catch entries that didn't expect it during GVN.

Bug: 16360024
Change-Id: I9adfc3445245d3fa3c4809d4df1b7b76fbef5ff2

10 years agoART: inline Math.Max/Min (float and double)
Alexei Zavjalov [Tue, 15 Jul 2014 17:54:13 +0000 (00:54 +0700)]
ART: inline Math.Max/Min (float and double)

This implements the inlined version of Math.Max/Min intrinsics.

Change-Id: I2db8fa7603db3cdf01016ec26811a96f91b1e6ed
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
Signed-off-by: Shou, Yixin <yixin.shou@intel.com>
10 years agoMerge "Avoid direct use of QuasiAtomic by using Atomic."
Ian Rogers [Thu, 17 Jul 2014 18:49:18 +0000 (18:49 +0000)]
Merge "Avoid direct use of QuasiAtomic by using Atomic."