OSDN Git Service

android-x86/art.git
9 years agoSome additional verbose logging for DexFile_defineClassNative
Brian Carlstrom [Fri, 17 Oct 2014 02:12:28 +0000 (19:12 -0700)]
Some additional verbose logging for DexFile_defineClassNative

Change-Id: I6a86352e9eecf4cc5b529feb784e6cd5e8ec0a45

9 years agoRenumber 122-missing-classes to 124-missing-classes
Brian Carlstrom [Fri, 17 Oct 2014 01:58:56 +0000 (18:58 -0700)]
Renumber 122-missing-classes to 124-missing-classes

Change-Id: I733bdb455c5453d03784ba25a691f2a4e48bda6a

9 years agoMerge "Add OOME try catch around gc-thrash dive logic"
Mathieu Chartier [Thu, 16 Oct 2014 22:20:00 +0000 (22:20 +0000)]
Merge "Add OOME try catch around gc-thrash dive logic"

9 years agoMerge "Remove test dependencies on phony targets."
Ian Rogers [Thu, 16 Oct 2014 19:26:54 +0000 (19:26 +0000)]
Merge "Remove test dependencies on phony targets."

9 years agoMerge "Quick: Avoid node iteration for passes that don't need it."
Vladimir Marko [Thu, 16 Oct 2014 18:02:25 +0000 (18:02 +0000)]
Merge "Quick: Avoid node iteration for passes that don't need it."

9 years agoMerge "Quick: Handle kMirOpNullCheck in LVN/GVN."
Vladimir Marko [Thu, 16 Oct 2014 18:01:00 +0000 (18:01 +0000)]
Merge "Quick: Handle kMirOpNullCheck in LVN/GVN."

9 years agoAdd OOME try catch around gc-thrash dive logic
Mathieu Chartier [Thu, 16 Oct 2014 17:01:39 +0000 (10:01 -0700)]
Add OOME try catch around gc-thrash dive logic

Bug: 17962200
Change-Id: I4ed1f7ac2b07795b5e30ccb5b322cbe47e237ba8

9 years agoMerge "Don't use assembler classes in code_generator.h."
Nicolas Geoffray [Thu, 16 Oct 2014 14:20:58 +0000 (14:20 +0000)]
Merge "Don't use assembler classes in code_generator.h."

9 years agoDon't use assembler classes in code_generator.h.
Nicolas Geoffray [Thu, 16 Oct 2014 10:12:52 +0000 (11:12 +0100)]
Don't use assembler classes in code_generator.h.

The arm64 backend uses its own assembler and does not share
the same classes as the other backends. To avoid conflicts
or unnecessary mappings, just don't use those classes in the
shared part of the code generator.

Change-Id: I9e5fa40c1021d2e83a4ef14c52cd1ccd03f2f73d

9 years agoMerge "Implement default traversals in CFG & SSA graph checkers."
Roland Levillain [Thu, 16 Oct 2014 13:26:29 +0000 (13:26 +0000)]
Merge "Implement default traversals in CFG & SSA graph checkers."

9 years agoMerge "Improve art::SSAChecker::VisitInstruction."
Roland Levillain [Thu, 16 Oct 2014 13:12:56 +0000 (13:12 +0000)]
Merge "Improve art::SSAChecker::VisitInstruction."

9 years agoMerge "Do not remove NullChecks & BoundsChecks in HDeadCodeElimination."
Roland Levillain [Thu, 16 Oct 2014 12:59:34 +0000 (12:59 +0000)]
Merge "Do not remove NullChecks & BoundsChecks in HDeadCodeElimination."

9 years agoMerge "Turn constant conditional jumps into unconditional jumps."
Roland Levillain [Thu, 16 Oct 2014 12:51:34 +0000 (12:51 +0000)]
Merge "Turn constant conditional jumps into unconditional jumps."

9 years agoQuick: Handle kMirOpNullCheck in LVN/GVN.
Vladimir Marko [Thu, 16 Oct 2014 12:38:44 +0000 (13:38 +0100)]
Quick: Handle kMirOpNullCheck in LVN/GVN.

Change-Id: I0274e98cc61ccd1dbe0bd3e50deeb7d62bd1cb22

9 years agoMerge "Quick: Improve the BBCombine pass."
Vladimir Marko [Thu, 16 Oct 2014 11:29:59 +0000 (11:29 +0000)]
Merge "Quick: Improve the BBCombine pass."

9 years agoMerge "Rewrite null check elimination to work on dalvik regs."
Vladimir Marko [Thu, 16 Oct 2014 08:58:35 +0000 (08:58 +0000)]
Merge "Rewrite null check elimination to work on dalvik regs."

9 years agoMerge "Store exiting thread ids and names while tracing to output later."
Jeff Hao [Thu, 16 Oct 2014 00:25:14 +0000 (00:25 +0000)]
Merge "Store exiting thread ids and names while tracing to output later."

9 years agoMerge "Add more logging to finalization test"
Mathieu Chartier [Wed, 15 Oct 2014 21:46:25 +0000 (21:46 +0000)]
Merge "Add more logging to finalization test"

9 years agoRemove test dependencies on phony targets.
Ian Rogers [Wed, 15 Oct 2014 18:57:01 +0000 (11:57 -0700)]
Remove test dependencies on phony targets.

We already depend in the test on the presence of the executable, depending on
the phony causes make to complain about "don't know how to build".

Change-Id: I0db61d184106df6642791909d416666c3d4f370e

9 years agoQuick: Improve the BBCombine pass.
Vladimir Marko [Tue, 7 Oct 2014 14:01:57 +0000 (15:01 +0100)]
Quick: Improve the BBCombine pass.

Eliminate exception edges for insns that cannot throw even
when inside a try-block. Run the BBCombine pass before the
SSA transformation to reduce the compilation time.

Bug: 16398693
Change-Id: I8e91df593e316c994679b9d482b0ae20700b9499

9 years agoMerge "Fix oatdump for no image"
Mathieu Chartier [Wed, 15 Oct 2014 17:33:37 +0000 (17:33 +0000)]
Merge "Fix oatdump for no image"

9 years agoFix oatdump for no image
Mathieu Chartier [Wed, 15 Oct 2014 17:31:46 +0000 (10:31 -0700)]
Fix oatdump for no image

Added MemMap::Init if we dont initialize the runtime.

Bug: 18000219
Change-Id: I1bd715e18838919c0773db5fa25623348326baa6

9 years agoAdd more logging to finalization test
Mathieu Chartier [Wed, 15 Oct 2014 16:59:03 +0000 (09:59 -0700)]
Add more logging to finalization test

We now print which elements were not finalized then attempt a
sleep to see if the error is a race condition or a another error.

Bug: 17932313
Change-Id: I4d41abfff0fa6838dd513cf23821bb486305d74f

9 years agoRewrite null check elimination to work on dalvik regs.
Vladimir Marko [Thu, 9 Oct 2014 17:01:24 +0000 (18:01 +0100)]
Rewrite null check elimination to work on dalvik regs.

And move the null check and class init check elimination
before the SSA transformation. The new pass ordering is in
anticipation of subsequent changes. (An improved class init
check elimination can benefit special method inlining. An
improved block combination pass before SSA transformation
can improve compilation time.)

Also add tests for the NCE.

Change-Id: Ie4fb1880e06334a703295aef454b437d58a3e878

9 years agoMerge "ART: NullCheckElimination should converge with MIR_IGNORE_NULL_CHECK"
Vladimir Marko [Wed, 15 Oct 2014 12:35:54 +0000 (12:35 +0000)]
Merge "ART: NullCheckElimination should converge with MIR_IGNORE_NULL_CHECK"

9 years agoQuick: Avoid node iteration for passes that don't need it.
Vladimir Marko [Wed, 15 Oct 2014 10:35:44 +0000 (11:35 +0100)]
Quick: Avoid node iteration for passes that don't need it.

Change-Id: Ic1f6796a29ba861cee37a31193e07b497b84eb3f

9 years agoART: NullCheckElimination should converge with MIR_IGNORE_NULL_CHECK
Yevgeny Rouban [Wed, 15 Oct 2014 10:32:25 +0000 (17:32 +0700)]
ART: NullCheckElimination should converge with MIR_IGNORE_NULL_CHECK

If the MIRGraph::EliminateNullChecksAndInferTypes() function managed
to prove that some regs are non-null then it sets the flag
MIR_IGNORE_NULL_CHECK and resets this flag for all the other regs.
If some previous optimizations have already set MIR_IGNORE_NULL_CHECK
then it can be reset by EliminateNullChecksAndInferTypes. This way
NullCheckElimination discards some optimization efforts.
Optimization passes should not reset MIR_IGNORE_NULL_CHECK unless
they 100% sure NullCheck is needed.

This patch makes the NCE_TypeInference pass merge its own
calculated MIR_IGNORE_NULL_CHECK with the one came from previous
optimizations. Technically NCE_TypeInference calculates the flag
in a temporary MIR_MARK-th bit by preserving MIR_IGNORE_NULL_CHECK.
Then at the end of NCE pass MIR_MARK is or-ed with
MIR_IGNORE_NULL_CHECK.

Change-Id: Ib26997c70ecf2c158f61496dee9b1fe45c812096
Signed-off-by: Yevgeny Rouban <yevgeny.y.rouban@intel.com>
9 years agoMerge "Add tests for missing classes"
Brian Carlstrom [Wed, 15 Oct 2014 04:36:12 +0000 (04:36 +0000)]
Merge "Add tests for missing classes"

9 years agoMerge "Fix mac build (second attempt)"
Dmitriy Ivanov [Wed, 15 Oct 2014 01:34:56 +0000 (01:34 +0000)]
Merge "Fix mac build (second attempt)"

9 years agoStore exiting thread ids and names while tracing to output later.
Jeff Hao [Tue, 14 Oct 2014 20:12:01 +0000 (13:12 -0700)]
Store exiting thread ids and names while tracing to output later.

Bug: 17909204

(cherry picked from commit fdcbc5c4c7c67bba06e038ac96a2e8bc49b91f84)

Change-Id: Iea087560ba8b983412a6dde2ec166c9e7214f3a1

9 years agoFix mac build (second attempt)
Dmitriy Ivanov [Wed, 15 Oct 2014 00:55:28 +0000 (17:55 -0700)]
Fix mac build (second attempt)

  It appears that the version of mac ld with
  -export_dynamic is pretty recent.

  Remove -export_dynamic to fix build for older
  mac versions (?)

Change-Id: Ibc3b2f9a0aeec9125cd73b7df0cf22de9e8e4d16

9 years agoAdd tests for missing classes
Brian Carlstrom [Tue, 14 Oct 2014 07:06:31 +0000 (00:06 -0700)]
Add tests for missing classes

Bug: 17959926
Change-Id: I659e410051dc52e054953a779d573807f8aa54fa

9 years agoMerge "Add VLOG(class_linker) for clinit errors"
Brian Carlstrom [Wed, 15 Oct 2014 00:03:55 +0000 (00:03 +0000)]
Merge "Add VLOG(class_linker) for clinit errors"

9 years agoAdd VLOG(class_linker) for clinit errors
Brian Carlstrom [Thu, 9 Oct 2014 00:55:21 +0000 (17:55 -0700)]
Add VLOG(class_linker) for clinit errors

Bug: 17915141
Change-Id: I3002cf4348ec3fa241f63ff1515f813f6051c267

9 years agoMerge "Use exit(1), not exit(-1)"
Brian Carlstrom [Tue, 14 Oct 2014 23:49:24 +0000 (23:49 +0000)]
Merge "Use exit(1), not exit(-1)"

9 years agoMerge "Fixing mac build"
Dmitriy Ivanov [Tue, 14 Oct 2014 23:12:15 +0000 (23:12 +0000)]
Merge "Fixing mac build"

9 years agoUse exit(1), not exit(-1)
Brian Carlstrom [Tue, 14 Oct 2014 22:39:01 +0000 (15:39 -0700)]
Use exit(1), not exit(-1)

Change-Id: If59f988ee8b37f6f87363fe8ea8edfde738f3397

9 years agoMerge "Change MemMap::maps_ to not be global variable"
Mathieu Chartier [Tue, 14 Oct 2014 22:57:06 +0000 (22:57 +0000)]
Merge "Change MemMap::maps_ to not be global variable"

9 years agoFixing mac build
Dmitriy Ivanov [Tue, 14 Oct 2014 19:18:10 +0000 (12:18 -0700)]
Fixing mac build

 MacOS static linker does not understand --export-dynamic
 and --version-script. According to man ld there is
 -export_dynamic option which should do the same
 thing.

Change-Id: I8cde8c6c7305bebbbcc9dded143fa5cdaf386d65

9 years agoChange MemMap::maps_ to not be global variable
Mathieu Chartier [Tue, 14 Oct 2014 22:01:24 +0000 (15:01 -0700)]
Change MemMap::maps_ to not be global variable

Runtime.exit() was causing globals to get destructed at the same time
that another thread was using it for allocating a new mem map.

Bug: 17962201
Change-Id: I400cb7b8141d858f3c08a6fe59a02838c04c6962

9 years agoMerge "Untie gtest executables from LD_PRELOAD"
Dmitriy Ivanov [Tue, 14 Oct 2014 18:44:26 +0000 (18:44 +0000)]
Merge "Untie gtest executables from LD_PRELOAD"

9 years agoUntie gtest executables from LD_PRELOAD
Dmitriy Ivanov [Tue, 14 Oct 2014 18:38:46 +0000 (11:38 -0700)]
Untie gtest executables from LD_PRELOAD

Bug: 15345057
Bug: 15426766
Change-Id: I053ddbacaf918405ce6b38a5ba0d623299c7b5c8

9 years agoMerge "Remove libsigchain from LD_PRELOADS"
Dmitriy Ivanov [Tue, 14 Oct 2014 17:36:34 +0000 (17:36 +0000)]
Merge "Remove libsigchain from LD_PRELOADS"

9 years agoImplement default traversals in CFG & SSA graph checkers.
Roland Levillain [Wed, 1 Oct 2014 13:12:25 +0000 (14:12 +0100)]
Implement default traversals in CFG & SSA graph checkers.

- Check CFG graphs using an insertion order traversal.
- Check SSA form graphs using a reverse post-order traversal.

Change-Id: Ib9062599bdbf3c17b9f213b743274b2d71a9fa90

9 years agoImprove art::SSAChecker::VisitInstruction.
Roland Levillain [Wed, 1 Oct 2014 09:48:29 +0000 (10:48 +0100)]
Improve art::SSAChecker::VisitInstruction.

Actually inspect the uses of an instruction to ensure the
latter dominates all of the former, instead of browsing the
inputs of this instruction (to ensure they dominate the
instruction).

Also check instruction domination with respect to environment
uses.

Change-Id: I967f34a45f48930607bf9683180d02e7c27b4e06

9 years agoDo not remove NullChecks & BoundsChecks in HDeadCodeElimination.
Roland Levillain [Fri, 3 Oct 2014 11:45:18 +0000 (12:45 +0100)]
Do not remove NullChecks & BoundsChecks in HDeadCodeElimination.

Removing a NullCheck or a BoundsCheck instruction may change
the behavior of a program.

Change-Id: Ib2c9beff0cc98c382210e7cc88b1fa9af3c61887

9 years agoTurn constant conditional jumps into unconditional jumps.
Roland Levillain [Fri, 10 Oct 2014 12:56:31 +0000 (13:56 +0100)]
Turn constant conditional jumps into unconditional jumps.

If a condition (input of an art::HIf instruction) is
constant (an art::HConstant object), evaluate it at
compile time and generate an unconditional branch
instruction if it is true (in lieu of a conditional jump).

Change-Id: I262e43ffe66d5c25dbbfa98092a41c8b3c4c75d6

9 years agoMerge "Merge reference-run-test-classes and run-test-jar."
Nicolas Geoffray [Tue, 14 Oct 2014 09:28:07 +0000 (09:28 +0000)]
Merge "Merge reference-run-test-classes and run-test-jar."

9 years agoMerge "Make finalization test more robust"
Mathieu Chartier [Mon, 13 Oct 2014 20:24:25 +0000 (20:24 +0000)]
Merge "Make finalization test more robust"

9 years agoMerge "Revert "Adjust the suspend check interval to 16.""
Ian Rogers [Mon, 13 Oct 2014 19:28:50 +0000 (19:28 +0000)]
Merge "Revert "Adjust the suspend check interval to 16.""

9 years agoRevert "Adjust the suspend check interval to 16."
Ian Rogers [Mon, 13 Oct 2014 19:28:25 +0000 (19:28 +0000)]
Revert "Adjust the suspend check interval to 16."

This reverts commit dc0f40e484dc4bf72032f6d9f1c5db694c6fad55.

Change-Id: I4dd1acf2adfc49b03bac9c9fbd0ea3deebbd054e

9 years agoMerge "Make gc-thrash able to handle OOME"
Mathieu Chartier [Mon, 13 Oct 2014 19:01:56 +0000 (19:01 +0000)]
Merge "Make gc-thrash able to handle OOME"

9 years agoMake gc-thrash able to handle OOME
Mathieu Chartier [Mon, 13 Oct 2014 18:45:52 +0000 (11:45 -0700)]
Make gc-thrash able to handle OOME

Bug: 17962200
Change-Id: I0dab063af7583bd4f34bbf101858be4c9c0955fa

9 years agoMerge "Adjust the suspend check interval to 16."
Hiroshi Yamauchi [Mon, 13 Oct 2014 18:09:55 +0000 (18:09 +0000)]
Merge "Adjust the suspend check interval to 16."

9 years agoMerge "Add regression test for null check elimination."
Vladimir Marko [Mon, 13 Oct 2014 18:00:28 +0000 (18:00 +0000)]
Merge "Add regression test for null check elimination."

9 years agoMake finalization test more robust
Mathieu Chartier [Mon, 13 Oct 2014 17:58:01 +0000 (10:58 -0700)]
Make finalization test more robust

Moved some logic to its own function to prevent vregs keeping objects
live. Not sure if it fixes flaky test, can't reproduce.

Bug: 17932313
Change-Id: Ib9c70d954a9692d6529f6ac645c9d0e9f596e502

9 years agoAdjust the suspend check interval to 16.
Hiroshi Yamauchi [Mon, 13 Oct 2014 17:40:07 +0000 (10:40 -0700)]
Adjust the suspend check interval to 16.

Bug: 17953517
Change-Id: I4145f65a79f382f9f807df071f996ffdb60ac4a5

9 years agoAdd regression test for null check elimination.
Vladimir Marko [Mon, 13 Oct 2014 17:29:44 +0000 (18:29 +0100)]
Add regression test for null check elimination.

Prompted by
    https://android-review.googlesource.com/110090

Bug: 17969907
Change-Id: I938c27cda0681b9431d69baf4eafa7ca2f9b5c9c

9 years agoMerge "Revert "ART: fix NullCheckElimination to preserve MIR_IGNORE_NULL_CHECK""
Vladimir Marko [Mon, 13 Oct 2014 17:19:04 +0000 (17:19 +0000)]
Merge "Revert "ART: fix NullCheckElimination to preserve MIR_IGNORE_NULL_CHECK""

9 years agoMerge "Handlerize throw location in DumpJavaStack"
Ian Rogers [Mon, 13 Oct 2014 15:54:12 +0000 (15:54 +0000)]
Merge "Handlerize throw location in DumpJavaStack"

9 years agoMerge "ART: Stash any exception before dumping a stack"
Ian Rogers [Mon, 13 Oct 2014 15:53:47 +0000 (15:53 +0000)]
Merge "ART: Stash any exception before dumping a stack"

9 years agoMerge "ART: ARM64: Fix instruction addresses in the disassembly."
Ian Rogers [Mon, 13 Oct 2014 15:53:15 +0000 (15:53 +0000)]
Merge "ART: ARM64: Fix instruction addresses in the disassembly."

9 years agoRevert "ART: fix NullCheckElimination to preserve MIR_IGNORE_NULL_CHECK"
Vladimir Marko [Mon, 13 Oct 2014 15:18:34 +0000 (15:18 +0000)]
Revert "ART: fix NullCheckElimination to preserve MIR_IGNORE_NULL_CHECK"

This reverts commit 504b7882fbb841787e350f2da54b1fa9171ce82a.

Change-Id: I41c7a03c49f7904370a64c6ececc89146ff735c8

9 years agoART: ARM64: Fix instruction addresses in the disassembly.
Alexandre Rames [Fri, 10 Oct 2014 16:14:18 +0000 (17:14 +0100)]
ART: ARM64: Fix instruction addresses in the disassembly.

Change-Id: Ic8b6e0d5cd15e029de9bc82e0a4fc2e33d07936c

9 years agoMerge "Use Is*() helpers to shorten code in the optimizing compiler."
Roland Levillain [Mon, 13 Oct 2014 11:36:10 +0000 (11:36 +0000)]
Merge "Use Is*() helpers to shorten code in the optimizing compiler."

9 years agoMerge "Fix ScopedArenaAllocator::Reset() for Create()d allocators."
Vladimir Marko [Mon, 13 Oct 2014 10:08:32 +0000 (10:08 +0000)]
Merge "Fix ScopedArenaAllocator::Reset() for Create()d allocators."

9 years agoHandlerize throw location in DumpJavaStack
Ian Rogers [Fri, 10 Oct 2014 22:57:19 +0000 (15:57 -0700)]
Handlerize throw location in DumpJavaStack

Handlerize this object and method during DumpJavaStack.
Bug: 17669899

(cherry picked from commit 79ffe35fa0784f26c2d25242ea1b3ce300a009cb)

Change-Id: Id090daaa2eef8cd445e52cbbe71b2e2ed7fef2fe

9 years agoART: Stash any exception before dumping a stack
Andreas Gampe [Fri, 3 Oct 2014 04:00:06 +0000 (21:00 -0700)]
ART: Stash any exception before dumping a stack

Dumping a managed stack entails dumping held locks, in the process
of which the verifier will be run. The verifier works under the
assumption that there were no exceptions when started. This
assumption is violated for example on certain JNI aborts.

The solution is to stash any pending exception before dumping the
stack, and re-installing it afterwards.

Bug: 17669899

(cherry picked from commit d87bc135dba41f0f21cf0018a3b2cb46809890d7)

Change-Id: Ic44780bad90a8e1ba80858c807e2bef3bf6651c6

9 years agoMerge "Switch to C++11 style [[noreturn]]."
Ian Rogers [Sun, 12 Oct 2014 15:34:28 +0000 (15:34 +0000)]
Merge "Switch to C++11 style [[noreturn]]."

9 years agoSwitch to C++11 style [[noreturn]].
Ian Rogers [Sat, 11 Oct 2014 03:05:39 +0000 (20:05 -0700)]
Switch to C++11 style [[noreturn]].

Also remove old comment about calls to Abort getting merged. We have few
LOG(FATAL)s so merging is less of an issue. Also, recompiling with O0 and
similar will avoid the optimization and we expect that for GDB debugging.

Change-Id: I840dc6f4b8511294be0e117c634ec15b745e7be5

9 years agoMerge "ART: Add smali-based run-test"
Ian Rogers [Sat, 11 Oct 2014 02:51:08 +0000 (02:51 +0000)]
Merge "ART: Add smali-based run-test"

9 years agoART: Add smali-based run-test
Andreas Gampe [Fri, 3 Oct 2014 23:15:37 +0000 (16:15 -0700)]
ART: Add smali-based run-test

Add run-test 800 for smali-based tests. To use, drop a smali file
into the src/ directory and add a TestCase in src/Main.java.

Bug: 17814475

Change-Id: Ica9eb830689862cb3a4ffa0019fbc447c01af744

9 years agoMerge "ART Runtime: Add movb $xx,yy fault handling"
Ian Rogers [Sat, 11 Oct 2014 01:24:47 +0000 (01:24 +0000)]
Merge "ART Runtime: Add movb $xx,yy fault handling"

9 years agoMerge "Hold mutator lock in DdmSendHeapSegments for all spaces"
Mathieu Chartier [Fri, 10 Oct 2014 22:47:08 +0000 (22:47 +0000)]
Merge "Hold mutator lock in DdmSendHeapSegments for all spaces"

9 years agoHold mutator lock in DdmSendHeapSegments for all spaces
Mathieu Chartier [Fri, 10 Oct 2014 19:45:50 +0000 (12:45 -0700)]
Hold mutator lock in DdmSendHeapSegments for all spaces

Previously we were releasing the mutator lock in DdmSendHeapSegments
and only reacquiring it for RosAlloc spaces. This was causing problems
since the HeapChunkCallback access object fields through mirror.

Bug: 17950534

(cherry picked from commit d6527cf8e824d9057f32755f2ff4bdcf46c7095b)

Change-Id: Idb307fd4c01450a07e3c9621e04d2aabf2c6a0b9

9 years agoMerge "Work around ICE bugs with MIPS GCC and O1."
Ian Rogers [Fri, 10 Oct 2014 22:24:24 +0000 (22:24 +0000)]
Merge "Work around ICE bugs with MIPS GCC and O1."

9 years agoWork around ICE bugs with MIPS GCC and O1.
Ian Rogers [Fri, 10 Oct 2014 20:03:39 +0000 (13:03 -0700)]
Work around ICE bugs with MIPS GCC and O1.

Also, work around GCC warning bugs where array accesses with explicit
bounds checks are flagged as being out-of-bounds. Significantly, clean-up
the HandleScope so the array accesses don't appear out-of-bounds at compile
time.

Change-Id: I5d66567559cc1f97cd0aa02c0df8575ebadbfe3d

9 years agoMerge "Fix 2 new sets of clang compiler warnings."
Ian Rogers [Fri, 10 Oct 2014 20:23:09 +0000 (20:23 +0000)]
Merge "Fix 2 new sets of clang compiler warnings."

9 years agoMerge "Disable 114-ParallelGC for GC stress testing."
Ian Rogers [Fri, 10 Oct 2014 19:48:22 +0000 (19:48 +0000)]
Merge "Disable 114-ParallelGC for GC stress testing."

9 years agoDisable 114-ParallelGC for GC stress testing.
Ian Rogers [Fri, 10 Oct 2014 19:39:31 +0000 (12:39 -0700)]
Disable 114-ParallelGC for GC stress testing.

Bug: 17387969
Change-Id: Ic50e9642468646c36afa5cfbe4050d24e9190ae6

9 years agoFix 2 new sets of clang compiler warnings.
Ian Rogers [Fri, 10 Oct 2014 18:02:11 +0000 (11:02 -0700)]
Fix 2 new sets of clang compiler warnings.

Fix issues that are flagged by -Wfloat-equal and -Wmissing-noreturn.
In the case of -Wfloat-equal the current cases in regular code are deliberate,
so the change is to silence the warning. For gtest code the appropriate fix is
to switch from EXPECT_EQ to EXPECT_(FLOAT|DOUBLE)_EQ.
The -Wmissing-noreturn warning isn't enabled due to a missing noreturn in
gtest. This issue has been reported to gtest.

Change-Id: Id84c70c21c542716c9ee0c41492e8ff8788c4ef8

9 years agoFix ScopedArenaAllocator::Reset() for Create()d allocators.
Vladimir Marko [Fri, 10 Oct 2014 14:39:11 +0000 (15:39 +0100)]
Fix ScopedArenaAllocator::Reset() for Create()d allocators.

Change-Id: I88cbb329911ed489768772218b49b6f1756ffd86

9 years agoMerge "Cleanup baseline register allocator."
Nicolas Geoffray [Fri, 10 Oct 2014 11:36:33 +0000 (11:36 +0000)]
Merge "Cleanup baseline register allocator."

9 years agoCleanup baseline register allocator.
Nicolas Geoffray [Thu, 9 Oct 2014 21:13:55 +0000 (22:13 +0100)]
Cleanup baseline register allocator.

- Use three arrays for blocking regsters instead of
  one and computing offsets in that array.]
- Don't pass blocked_registers_ to methods, just use the field.

Change-Id: Ib698564c31127c59b5a64c80f4262394b8394dc6

9 years agoMerge "Fix code generation of materialized conditions."
Nicolas Geoffray [Fri, 10 Oct 2014 11:22:50 +0000 (11:22 +0000)]
Merge "Fix code generation of materialized conditions."

9 years agoMerge "Only watch location for BREAKPOINT event"
Sebastien Hertz [Fri, 10 Oct 2014 08:22:18 +0000 (08:22 +0000)]
Merge "Only watch location for BREAKPOINT event"

9 years agoMerge "Enable -Wimplicit-fallthrough."
Ian Rogers [Fri, 10 Oct 2014 05:23:50 +0000 (05:23 +0000)]
Merge "Enable -Wimplicit-fallthrough."

9 years agoEnable -Wimplicit-fallthrough.
Ian Rogers [Fri, 10 Oct 2014 04:56:44 +0000 (21:56 -0700)]
Enable -Wimplicit-fallthrough.

Falling through switch cases on a clang build must now annotate the fallthrough
with the FALLTHROUGH_INTENDED macro.
Bug: 17731372

Change-Id: I836451cd5f96b01d1ababdbf9eef677fe8fa8324

9 years agoMerge "Fix object header size for baker read barrier."
Ian Rogers [Thu, 9 Oct 2014 23:48:06 +0000 (23:48 +0000)]
Merge "Fix object header size for baker read barrier."

9 years agoFix object header size for baker read barrier.
Ian Rogers [Thu, 9 Oct 2014 23:29:40 +0000 (16:29 -0700)]
Fix object header size for baker read barrier.

Change-Id: I2b4a61488b9017d22210d79a07f485f9afef3b42

9 years agoMerge "stdint types all the way!"
Ian Rogers [Thu, 9 Oct 2014 23:07:50 +0000 (23:07 +0000)]
Merge "stdint types all the way!"

9 years agostdint types all the way!
Ian Rogers [Wed, 8 Oct 2014 19:43:28 +0000 (12:43 -0700)]
stdint types all the way!

Change-Id: I4e4ef3a2002fc59ebd9097087f150eaf3f2a7e08

9 years agoMerge "Simplify instance reference offsets."
Ian Rogers [Thu, 9 Oct 2014 22:42:24 +0000 (22:42 +0000)]
Merge "Simplify instance reference offsets."

9 years agoSimplify instance reference offsets.
Ian Rogers [Thu, 9 Oct 2014 20:21:38 +0000 (13:21 -0700)]
Simplify instance reference offsets.

Don't encode Object's class. Use trailing rather than leading zeroes to give
offset position.

Change-Id: I1ae74e7a01f63696429644adf81cdf6ee58832fe

9 years agoMerge "Fix race in thread list destructor"
Mathieu Chartier [Thu, 9 Oct 2014 20:46:32 +0000 (20:46 +0000)]
Merge "Fix race in thread list destructor"

9 years agoFix race in thread list destructor
Mathieu Chartier [Thu, 9 Oct 2014 19:57:58 +0000 (12:57 -0700)]
Fix race in thread list destructor

The ThreadList::Contains wasn't being guarded by the thread list
lock, which could cause a corrupted thread list if another thread
unregistered itself while std::find was searching the thread list.

Bug: 17896374

(cherry picked from commit b90132cb5132eaeb4dbfca1e63d79b4005dacec5)

Change-Id: I8f6f979f365ca00ac0655e04eb26020d2ad7d6ee

9 years agoMerge changes Ia0044523,Ieefe83cf
Ian Rogers [Thu, 9 Oct 2014 18:51:11 +0000 (18:51 +0000)]
Merge changes Ia0044523,Ieefe83cf

* changes:
  Fix ARM64 build.
  ARM64: Update code after the VIXL 1.6 release.

9 years agoFix ARM64 build.
Ian Rogers [Thu, 9 Oct 2014 18:50:09 +0000 (11:50 -0700)]
Fix ARM64 build.

Change-Id: Ia0044523473d7a93ef3f0eed8e6c28602e767c17

9 years agoMerge "Fix arm64 build: move macro usage after definition."
Vladimir Marko [Thu, 9 Oct 2014 17:39:46 +0000 (17:39 +0000)]
Merge "Fix arm64 build: move macro usage after definition."

9 years agoMerge "ART: X86: GenLongArith should handle overlapped VRs"
Bill Buzbee [Thu, 9 Oct 2014 17:37:21 +0000 (17:37 +0000)]
Merge "ART: X86: GenLongArith should handle overlapped VRs"