OSDN Git Service
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
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
Vladimir Marko [Wed, 15 Oct 2014 12:35:54 +0000 (12:35 +0000)]
Merge "ART: 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>
Brian Carlstrom [Wed, 15 Oct 2014 04:36:12 +0000 (04:36 +0000)]
Merge "Add tests for missing classes"
Dmitriy Ivanov [Wed, 15 Oct 2014 01:34:56 +0000 (01:34 +0000)]
Merge "Fix 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
Brian Carlstrom [Tue, 14 Oct 2014 07:06:31 +0000 (00:06 -0700)]
Add tests for missing classes
Bug:
17959926
Change-Id: I659e410051dc52e054953a779d573807f8aa54fa
Brian Carlstrom [Wed, 15 Oct 2014 00:03:55 +0000 (00:03 +0000)]
Merge "Add 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
Brian Carlstrom [Tue, 14 Oct 2014 23:49:24 +0000 (23:49 +0000)]
Merge "Use exit(1), not exit(-1)"
Dmitriy Ivanov [Tue, 14 Oct 2014 23:12:15 +0000 (23:12 +0000)]
Merge "Fixing mac build"
Brian Carlstrom [Tue, 14 Oct 2014 22:39:01 +0000 (15:39 -0700)]
Use exit(1), not exit(-1)
Change-Id: If59f988ee8b37f6f87363fe8ea8edfde738f3397
Mathieu Chartier [Tue, 14 Oct 2014 22:57:06 +0000 (22:57 +0000)]
Merge "Change MemMap::maps_ to not be global variable"
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
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
Dmitriy Ivanov [Tue, 14 Oct 2014 18:44:26 +0000 (18:44 +0000)]
Merge "Untie 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
Dmitriy Ivanov [Tue, 14 Oct 2014 17:36:34 +0000 (17:36 +0000)]
Merge "Remove libsigchain from LD_PRELOADS"
Nicolas Geoffray [Tue, 14 Oct 2014 09:28:07 +0000 (09:28 +0000)]
Merge "Merge reference-run-test-classes and run-test-jar."
Mathieu Chartier [Mon, 13 Oct 2014 20:24:25 +0000 (20:24 +0000)]
Merge "Make finalization test more robust"
Ian Rogers [Mon, 13 Oct 2014 19:28:50 +0000 (19:28 +0000)]
Merge "Revert "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
Mathieu Chartier [Mon, 13 Oct 2014 19:01:56 +0000 (19:01 +0000)]
Merge "Make 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
Hiroshi Yamauchi [Mon, 13 Oct 2014 18:09:55 +0000 (18:09 +0000)]
Merge "Adjust the suspend check interval to 16."
Vladimir Marko [Mon, 13 Oct 2014 18:00:28 +0000 (18:00 +0000)]
Merge "Add regression test for null check elimination."
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
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
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
Vladimir Marko [Mon, 13 Oct 2014 17:19:04 +0000 (17:19 +0000)]
Merge "Revert "ART: fix NullCheckElimination to preserve MIR_IGNORE_NULL_CHECK""
Ian Rogers [Mon, 13 Oct 2014 15:54:12 +0000 (15:54 +0000)]
Merge "Handlerize throw location in DumpJavaStack"
Ian Rogers [Mon, 13 Oct 2014 15:53:47 +0000 (15:53 +0000)]
Merge "ART: Stash any exception before dumping a stack"
Ian Rogers [Mon, 13 Oct 2014 15:53:15 +0000 (15:53 +0000)]
Merge "ART: ARM64: Fix instruction addresses in the disassembly."
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
Alexandre Rames [Fri, 10 Oct 2014 16:14:18 +0000 (17:14 +0100)]
ART: ARM64: Fix instruction addresses in the disassembly.
Change-Id: Ic8b6e0d5cd15e029de9bc82e0a4fc2e33d07936c
Roland Levillain [Mon, 13 Oct 2014 11:36:10 +0000 (11:36 +0000)]
Merge "Use Is*() helpers to shorten code in the optimizing compiler."
Vladimir Marko [Mon, 13 Oct 2014 10:08:32 +0000 (10:08 +0000)]
Merge "Fix ScopedArenaAllocator::Reset() for Create()d allocators."
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
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
Ian Rogers [Sun, 12 Oct 2014 15:34:28 +0000 (15:34 +0000)]
Merge "Switch 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
Ian Rogers [Sat, 11 Oct 2014 02:51:08 +0000 (02:51 +0000)]
Merge "ART: 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
Ian Rogers [Sat, 11 Oct 2014 01:24:47 +0000 (01:24 +0000)]
Merge "ART Runtime: Add movb $xx,yy fault handling"
Mathieu Chartier [Fri, 10 Oct 2014 22:47:08 +0000 (22:47 +0000)]
Merge "Hold 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
Ian Rogers [Fri, 10 Oct 2014 22:24:24 +0000 (22:24 +0000)]
Merge "Work 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
Ian Rogers [Fri, 10 Oct 2014 20:23:09 +0000 (20:23 +0000)]
Merge "Fix 2 new sets of clang compiler warnings."
Ian Rogers [Fri, 10 Oct 2014 19:48:22 +0000 (19:48 +0000)]
Merge "Disable 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
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
Vladimir Marko [Fri, 10 Oct 2014 14:39:11 +0000 (15:39 +0100)]
Fix ScopedArenaAllocator::Reset() for Create()d allocators.
Change-Id: I88cbb329911ed489768772218b49b6f1756ffd86
Nicolas Geoffray [Fri, 10 Oct 2014 11:36:33 +0000 (11:36 +0000)]
Merge "Cleanup 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
Nicolas Geoffray [Fri, 10 Oct 2014 11:22:50 +0000 (11:22 +0000)]
Merge "Fix code generation of materialized conditions."
Sebastien Hertz [Fri, 10 Oct 2014 08:22:18 +0000 (08:22 +0000)]
Merge "Only watch location for BREAKPOINT event"
Ian Rogers [Fri, 10 Oct 2014 05:23:50 +0000 (05:23 +0000)]
Merge "Enable -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
Ian Rogers [Thu, 9 Oct 2014 23:48:06 +0000 (23:48 +0000)]
Merge "Fix 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
Ian Rogers [Thu, 9 Oct 2014 23:07:50 +0000 (23:07 +0000)]
Merge "stdint 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
Ian Rogers [Thu, 9 Oct 2014 22:42:24 +0000 (22:42 +0000)]
Merge "Simplify 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
Mathieu Chartier [Thu, 9 Oct 2014 20:46:32 +0000 (20:46 +0000)]
Merge "Fix 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
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.
Ian Rogers [Thu, 9 Oct 2014 18:50:09 +0000 (11:50 -0700)]
Fix ARM64 build.
Change-Id: Ia0044523473d7a93ef3f0eed8e6c28602e767c17
Vladimir Marko [Thu, 9 Oct 2014 17:39:46 +0000 (17:39 +0000)]
Merge "Fix arm64 build: move macro usage after definition."
Bill Buzbee [Thu, 9 Oct 2014 17:37:21 +0000 (17:37 +0000)]
Merge "ART: X86: GenLongArith should handle overlapped VRs"
Vladimir Marko [Thu, 9 Oct 2014 17:34:28 +0000 (18:34 +0100)]
Fix arm64 build: move macro usage after definition.
The build was broken by
https://android-review.googlesource.com/110341
Change-Id: I137b4bc694af15465bf0db3ffe337950064d2a53
Brian Carlstrom [Thu, 9 Oct 2014 17:29:06 +0000 (17:29 +0000)]
Merge "Restore valgrind-test-art-host"
Brian Carlstrom [Thu, 9 Oct 2014 17:17:07 +0000 (10:17 -0700)]
Restore valgrind-test-art-host
Change-Id: I2586e16664dabfc543bc9d0dab471ec8d3810f34
Alexei Zavjalov [Wed, 8 Oct 2014 08:51:59 +0000 (15:51 +0700)]
ART: X86: GenLongArith should handle overlapped VRs
In a case, when src and dest VRs are overlapped when we called
GenLongArith it may cause the incorrect use of regs.
The solution is to map src to an physical reg and work with this
reg instead of mem.
Renamed BadOverlap() to PartiallyIntersects() for consistency.
Change-Id: Ia3fc7f741f0a92556e1b2a1b084506662ef04c9d
Signed-off-by: Katkov, Serguei I <serguei.i.katkov@intel.com>
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
Nicolas Geoffray [Thu, 9 Oct 2014 17:03:53 +0000 (17:03 +0000)]
Merge "Makefile cleanups."
Roland Levillain [Thu, 9 Oct 2014 16:51:36 +0000 (17:51 +0100)]
Use Is*() helpers to shorten code in the optimizing compiler.
Change-Id: I79f31833bc9a0aa2918381aa3fb0b05d45f75689
Nicolas Geoffray [Thu, 9 Oct 2014 16:34:45 +0000 (17:34 +0100)]
Makefile cleanups.
Also add the DEX2OAT_FLAGS to the generation of core.oat/core.art.
Change-Id: I5d113fad460b2e14fc652816069adba29ca744b8
Sebastien Hertz [Wed, 8 Oct 2014 11:54:55 +0000 (13:54 +0200)]
Only watch location for BREAKPOINT event
This CL ensures we watch a location for BREAKPOINT event only. Other
events (single-step, method entry/exit, ...) are handled differently
and LocationOnly modifier is used as an event filter in this case.
This prevents from failing a check when we need to deoptimize for
non-breakpoint event.
Bug:
17908144
Change-Id: Ib413d62fa31480fec8d750543c0605ba52188350
Alexandre Rames [Wed, 8 Oct 2014 17:41:21 +0000 (18:41 +0100)]
ARM64: Update code after the VIXL 1.6 release.
We now leave the assembler buffer management to VIXL.
Change-Id: Ieefe83cf5cf5e1ab8c924b0e7dc03af6a55053ae
Ian Rogers [Thu, 9 Oct 2014 15:52:50 +0000 (15:52 +0000)]
Merge "Tidy ELF builder."
Vladimir Marko [Thu, 9 Oct 2014 15:30:26 +0000 (15:30 +0000)]
Merge "Quick: Reduce memory usage and improve compile time."
Vladimir Marko [Thu, 9 Oct 2014 15:28:22 +0000 (15:28 +0000)]
Merge "Quick: Separate null check elimination and type inference."
Ian Rogers [Thu, 9 Oct 2014 00:27:48 +0000 (17:27 -0700)]
Tidy ELF builder.
Don't do "if (ptr)". Use const. Use DISALLOW_COPY_AND_ASSIGN. Avoid public
member variables.
Move ValueObject to base and use in ELF builder.
Tidy VectorOutputStream to not use non-const reference arguments.
Change-Id: I2c727c3fc61769c3726de7cfb68b2d6eb4477e53
Vladimir Marko [Thu, 9 Oct 2014 13:57:59 +0000 (14:57 +0100)]
Quick: Reduce memory usage and improve compile time.
Move the def-block-matrix from Arena to ScopedArena. Remove
BasicBlockDataFlow::ending_check_v and use a temporary bit
matrix instead. Remove unused BasicBlockDataFlow::phi_v.
Avoid some BitVector::Copy() at the end of null and clinit
check elimination passes when the contents of the source
BitVector is no longer needed.
Change-Id: I8111b2f8a51e63075aa124b528d61b79b6933274
Vladimir Marko [Thu, 9 Oct 2014 11:26:10 +0000 (12:26 +0100)]
Quick: Separate null check elimination and type inference.
Change-Id: I4566ae9354c91ca935481cb4f5b729bba05c1592
Nicolas Geoffray [Wed, 8 Oct 2014 20:07:48 +0000 (21:07 +0100)]
Fix code generation of materialized conditions.
Move the logic for knowing if a condition needs to be materialized
in an optimization pass (so that the information does not change
as a side effect of another optimization).
Also clean-up arm and x86_64 codegen:
- arm: ldr and str are for power-users when a constant is
in play. We should use LoadFromOffset and StoreToOffset.
- x86_64: fix misuses of movq instead of movl.
Change-Id: I01a03b91803624be2281a344a13ad5efbf4f3ef3
Nicolas Geoffray [Thu, 9 Oct 2014 13:55:05 +0000 (13:55 +0000)]
Merge "Stop converting from Location to ManagedRegister."
Nicolas Geoffray [Thu, 9 Oct 2014 10:47:51 +0000 (11:47 +0100)]
Stop converting from Location to ManagedRegister.
Now the source of truth is the Location object that knows
which register (core, pair, fpu) it needs to refer to.
Change-Id: I62401343d7479ecfb24b5ed161ec7829cda5a0b1
Brian Carlstrom [Thu, 9 Oct 2014 04:11:22 +0000 (04:11 +0000)]
Merge "Disable kEnableJavaStackTraceHandler"
Brian Carlstrom [Wed, 8 Oct 2014 20:56:25 +0000 (13:56 -0700)]
Disable kEnableJavaStackTraceHandler
Bug:
17890306
(cherry picked from commit
b6404fe0bb782cbbccda88903901fe0096a741d5)
Change-Id: Ie13d6af1d384c6ebf87e8f055120609e2bff3338
Ian Rogers [Wed, 8 Oct 2014 23:25:54 +0000 (23:25 +0000)]
Merge "Don't copy fill array data to quick literal pool."
Ian Rogers [Wed, 8 Oct 2014 22:35:22 +0000 (15:35 -0700)]
Don't copy fill array data to quick literal pool.
Currently quick copies the fill array data from the dex file to the literal
pool. It then has to go through hoops to pass this PC relative address down
to out-of-line code. Instead, pass the offset of the table to the out-of-line
code and use the CodeItem data associated with the ArtMethod. This reduces
the size of oat code while greatly simplifying it.
Unify the FillArrayData implementation in quick, portable and the interpreters.
Change-Id: I9c6971cf46285fbf197856627368c0185fdc98ca
Mathieu Chartier [Wed, 8 Oct 2014 22:41:05 +0000 (22:41 +0000)]
Merge "Dump mutator lock for thread suspend timeout"
Mathieu Chartier [Wed, 8 Oct 2014 21:26:23 +0000 (14:26 -0700)]
Dump mutator lock for thread suspend timeout
Should help us see if thread suspend timeouts are due to someone
holding on the mutator lock for too long or if it is a missed
futex wake.
(cherry picked from commit
f924d2381a5ea53967ba1e279766d601b9be05ea)
Bug:
17837911
Change-Id: I3417156a78f574076d5da17c86836c5a7c76084a
Nicolas Geoffray [Wed, 8 Oct 2014 20:13:53 +0000 (20:13 +0000)]
Merge "Really fix --gdb when running tests on target."
Ian Rogers [Wed, 8 Oct 2014 19:15:21 +0000 (19:15 +0000)]
Merge "Header file clean up."
Ian Rogers [Wed, 8 Oct 2014 18:47:24 +0000 (11:47 -0700)]
Header file clean up.
Remove runtime.h from object.h.
Move TypeStaticIf to its own header file to avoid bringing utils.h into
allocator.h.
Move Array::DataOffset into -inl.h as it now has a utils.h dependency.
Fix include issues arising from this.
Change-Id: I4605b1aa4ff5f8dc15706a0132e15df03c7c8ba0
Bill Buzbee [Wed, 8 Oct 2014 17:20:31 +0000 (17:20 +0000)]
Merge "ART: fix NullCheckElimination to preserve MIR_IGNORE_NULL_CHECK"