OSDN Git Service
Vladimir Marko [Tue, 6 Oct 2015 14:52:34 +0000 (15:52 +0100)]
Optimizing: Disable -Wframe-larger-than= for CompileOptimized().
Bug:
24698147
Change-Id: I360e9412d85afa83ef2152e4c16bcd3139b34f75
Nicolas Geoffray [Tue, 6 Oct 2015 14:50:48 +0000 (14:50 +0000)]
Merge "Fix another Makefile typo."
Vladimir Marko [Tue, 6 Oct 2015 12:53:41 +0000 (12:53 +0000)]
Merge "ART: Mark deallocated arena memory as inaccessible."
Calin Juravle [Tue, 6 Oct 2015 12:48:56 +0000 (12:48 +0000)]
Merge "Add support for unresolved classes in optimizing."
Calin Juravle [Fri, 2 Oct 2015 20:05:03 +0000 (21:05 +0100)]
Add support for unresolved classes in optimizing.
Change-Id: I0e299a81e560eb9cb0737ec46125dffc99333b54
Nicolas Geoffray [Tue, 6 Oct 2015 11:39:17 +0000 (12:39 +0100)]
Fix another Makefile typo.
Change-Id: I4a4a81255c3bef47c92c127e66c2ccd8b199e51d
Nicolas Geoffray [Tue, 6 Oct 2015 11:26:13 +0000 (11:26 +0000)]
Merge "Use optimizing's pic boot image in art script."
Nicolas Geoffray [Tue, 6 Oct 2015 11:00:47 +0000 (12:00 +0100)]
Use optimizing's pic boot image in art script.
Optimizing is the default compiler.
Change-Id: Ief961c2615f880425eeb348971e50583c3b6283d
Calin Juravle [Tue, 6 Oct 2015 10:48:21 +0000 (10:48 +0000)]
Merge "Fix style issue in stub_test."
Calin Juravle [Tue, 6 Oct 2015 10:46:58 +0000 (11:46 +0100)]
Fix style issue in stub_test.
Change-Id: I8c338d48f479337b176039c9398d6ee2b44fe6fd
Nicolas Geoffray [Tue, 6 Oct 2015 08:23:13 +0000 (08:23 +0000)]
Merge "Don't delegate to Quick anymore."
Andreas Gampe [Tue, 6 Oct 2015 01:15:07 +0000 (01:15 +0000)]
Merge "MIPS64r6 Assembler Tests"
Chris Larsen [Thu, 17 Sep 2015 20:34:00 +0000 (13:34 -0700)]
MIPS64r6 Assembler Tests
Assembler tests for:
- SQRT.fmt - ABS.fmt - ROUND.L.fmt - ROUND.W.fmt
- CEIL.L.fmt - CEIL.W.fmt - FLOOR.L.fmt - FLOOR.W.fmt
- SEL.fmt - RINT.fmt - CLASS.fmt - MIN.fmt
- MAX.fmt - cvt.d.l - BITSWAP - DBITSWAP
- DSBH - DSHD - WSBH - ROTR
- SELEQZ - SELNEZ - CLZ - CLO
- DCLZ - DCLO - SC - SCD
- LL - LLD
These are the assembler instructions which were added to support
intrinsic functions on MIPS64. Tests for additional assembler
instructions will follow.
Support added to the testing infrastructure for:
- Assembler instructions which use three registers; previously
instructions were limited to one, or two, registers.
- Immediate values which have their sizes specified by the number of
bits required to store them rather than the number of bytes, in both
signed and unsigned versions.
Change-Id: I38c07dcbf2539825b25bed13aac05a26fa594b0b
Mathieu Chartier [Tue, 6 Oct 2015 01:10:45 +0000 (01:10 +0000)]
Merge "Disable class unloading when tracing is active"
Mathieu Chartier [Mon, 5 Oct 2015 23:41:10 +0000 (16:41 -0700)]
Disable class unloading when tracing is active
Tracing keeps a lot of pointers to ArtMethods that could belong to
classes that we are going to unload. A quick fix for this is to
disable class unloading when tracing is active.
Bug:
24414774
Bug:
22720414
Change-Id: Ia5619cbd7c9fd558eaa2a5000871d287213c4a76
Mathieu Chartier [Mon, 5 Oct 2015 21:29:40 +0000 (21:29 +0000)]
Merge "Fix test 087 for interpreter"
Mathieu Chartier [Mon, 5 Oct 2015 21:26:32 +0000 (14:26 -0700)]
Fix test 087 for interpreter
Dex register was keeping BrokenDexLoader live. Fixes interpreter
tests.
Change-Id: I9d2d0907ad5d38dc40434dbde88a5e0cefbb5c80
Mathieu Chartier [Mon, 5 Oct 2015 19:57:21 +0000 (19:57 +0000)]
Merge "Delete DexFiles in closeDexFiles"
Mathieu Chartier [Mon, 5 Oct 2015 19:48:24 +0000 (19:48 +0000)]
Merge "Add exclusion between instrumentation and GC"
Mathieu Chartier [Fri, 25 Sep 2015 23:48:57 +0000 (16:48 -0700)]
Delete DexFiles in closeDexFiles
TODO: Also unmap oat code.
Bug:
22720414
Change-Id: I4d003d9b7f8c22890e7b40121a73081524e71f42
Mathieu Chartier [Fri, 2 Oct 2015 22:53:37 +0000 (15:53 -0700)]
Add exclusion between instrumentation and GC
Instrumentation calls VisitClasses while exclusive holding the
mutator lock. This can cause deadlocks since VisitClasses needs to
decode JNI weak globals. If the system weak slow path flag is set,
then we wait holding locks while exclusive holding the mutator lock.
This causes a deadlock since the GC cannot acquire the mutator lock
to sweep system weaks.
This fixes a deadlock seen in one of the tracing tests.
Change-Id: I580152118e068a70f309dcc19df4144afec835dd
Andreas Gampe [Mon, 5 Oct 2015 18:30:05 +0000 (18:30 +0000)]
Merge "MIPS64: Code cleanup."
Hiroshi Yamauchi [Mon, 5 Oct 2015 17:34:29 +0000 (17:34 +0000)]
Merge "Make it possible to change the read barrier type as build config."
Andreas Gampe [Mon, 5 Oct 2015 16:51:14 +0000 (16:51 +0000)]
Merge "ART: Add more deopt tests"
Andreas Gampe [Mon, 5 Oct 2015 15:59:06 +0000 (15:59 +0000)]
Merge "ART: Add CheckJNI lock checking"
Andreas Gampe [Mon, 28 Sep 2015 20:16:33 +0000 (13:16 -0700)]
ART: Add CheckJNI lock checking
JNI MonitorEnter and MonitorExit have similar rules to structured
locking. Count locks in CheckJNI mode.
Bug:
23502994
Change-Id: Ie3f53d3aa669a6bd0c7153c50c168116b43764d9
Andreas Gampe [Thu, 1 Oct 2015 00:13:59 +0000 (17:13 -0700)]
ART: Add more deopt tests
Extend libarttest with the ability to turn off asserts for method
state. Use this to put asserts into test functions, but turn them
off if the test wouldn't react as we want, e.g., when we're in
interpreter mode.
Extend run-test 449 by adding asserts for the method state for the
expected deopt cases. This tests both standard behavior, as well
as single-frame deoptimization.
Bug:
21611912
Change-Id: I27fa5e3e44d8c5eab57962d144c6aec96587bf45
Nicolas Geoffray [Mon, 5 Oct 2015 12:32:25 +0000 (12:32 +0000)]
Merge "Block callee save fp registers in debuggable."
Nicolas Geoffray [Mon, 5 Oct 2015 10:15:37 +0000 (11:15 +0100)]
Block callee save fp registers in debuggable.
This is a simple but conservative implementation. We could
extend it by using the registers but still saving them before
a call and at method entry.
bug:
21057237
Change-Id: Ia2e9e0e2efae0b01625e0f4165d0535c4bf9ba62
Nicolas Geoffray [Mon, 5 Oct 2015 09:12:14 +0000 (09:12 +0000)]
Merge "Fix typo from previous commit."
Nicolas Geoffray [Mon, 5 Oct 2015 08:51:36 +0000 (09:51 +0100)]
Fix typo from previous commit.
core_dex2oat_dependency has a '|' dependency, so we should do :=
instead of += to force recompilation of the image.
Change-Id: Ic59b86666fa69038a67459e7be11c57c20bf815b
Nicolas Geoffray [Mon, 5 Oct 2015 07:41:02 +0000 (07:41 +0000)]
Merge "Revert "Don't use floating point callee saves in debuggable.""
Nicolas Geoffray [Mon, 5 Oct 2015 07:40:35 +0000 (07:40 +0000)]
Revert "Don't use floating point callee saves in debuggable."
bug:
24602865
bug:
24605078
This reverts commit
88a95ba893fcda974d492917dd77a9b11693dbf2.
Change-Id: Iba97eeab5c2ba725f66cc138f740dac337344828
Nicolas Geoffray [Mon, 5 Oct 2015 07:38:17 +0000 (07:38 +0000)]
Merge "Change IllegalAccess/IncompatibleClassChange order."
Calin Juravle [Sat, 3 Oct 2015 02:45:06 +0000 (02:45 +0000)]
Merge "Add aarch64 and mips64 support for testing 64 bit field set."
Calin Juravle [Fri, 2 Oct 2015 22:56:06 +0000 (23:56 +0100)]
Add aarch64 and mips64 support for testing 64 bit field set.
Change-Id: Ibc4a9aecca19a7c8bee5404730d64fbeda9bb2e2
Alex Light [Fri, 2 Oct 2015 21:40:34 +0000 (21:40 +0000)]
Merge "Move getPublicFieldRecursive to native JNI"
Mathieu Chartier [Fri, 2 Oct 2015 20:53:48 +0000 (20:53 +0000)]
Merge "Perform write barrier on declaring class when adding instrumentation"
Mathieu Chartier [Fri, 2 Oct 2015 20:08:39 +0000 (13:08 -0700)]
Perform write barrier on declaring class when adding instrumentation
Since the instrumentation is marked from the declaring class we need
to mark the card so that mod-union tables and card rescanning know
about the update.
This fixes some moving GC crashes on eng builds.
Bug:
24133607
(cherry picked from commit
b5bba5966045258fd8b755fb65e381cd7fb9c311)
Change-Id: Ibe8430e32e161d33ce0a6782e8dc252e5c86c8da
Hiroshi Yamauchi [Fri, 2 Oct 2015 20:41:34 +0000 (13:41 -0700)]
Make it possible to change the read barrier type as build config.
Bug:
12687968
Change-Id: Ib43dab4d4e68a5a962347fcc2163c3100cb5b760
Richard Uhler [Fri, 2 Oct 2015 19:52:39 +0000 (19:52 +0000)]
Merge "Generate an hprof file to test ahat."
Mathieu Chartier [Fri, 2 Oct 2015 16:40:06 +0000 (16:40 +0000)]
Merge "Change DecodeWeakGlobal to DecodeJObject for class unloading"
Nicolas Geoffray [Fri, 2 Oct 2015 16:14:53 +0000 (17:14 +0100)]
Change IllegalAccess/IncompatibleClassChange order.
This is to have the same order as ClassLinker::ResolveMethod. In
a JIT environment, hitting the dex cache would not make it to the
expected IllegalAccessError and we would throw the wrong exception.
Change-Id: Ifc70f1a93260a24e952fa7a659be1be5bdc666de
Vladimir Marko [Fri, 2 Oct 2015 16:03:24 +0000 (16:03 +0000)]
Merge "ART: Use an iterative way in DoDFSPreOrderSSARename()"
Nicolas Geoffray [Fri, 2 Oct 2015 15:15:47 +0000 (15:15 +0000)]
Merge "KNOWN_BROKEN/FAILING does not work for gtests."
Nicolas Geoffray [Fri, 2 Oct 2015 13:41:18 +0000 (14:41 +0100)]
KNOWN_BROKEN/FAILING does not work for gtests.
Instead disable the test in the gtest file.
Change-Id: Iede5de7ca572c9454437981a5fa63cda444d0497
Nicolas Geoffray [Fri, 2 Oct 2015 10:56:50 +0000 (11:56 +0100)]
Don't delegate to Quick anymore.
Change-Id: I81ffd83daec7be03a796903f40b8bbdcd63c34c7
Nicolas Geoffray [Fri, 2 Oct 2015 11:39:37 +0000 (11:39 +0000)]
Merge "Fix lint error."
Nicolas Geoffray [Fri, 2 Oct 2015 11:38:40 +0000 (12:38 +0100)]
Fix lint error.
Change-Id: Icb10d23bdac6881b48d2025cac76dc130aefbf73
Nicolas Geoffray [Fri, 2 Oct 2015 10:36:22 +0000 (10:36 +0000)]
Merge "Test fails on mips."
Nicolas Geoffray [Fri, 2 Oct 2015 10:34:17 +0000 (10:34 +0000)]
Merge "Do more inlining when JITting."
Nicolas Geoffray [Fri, 2 Oct 2015 09:39:55 +0000 (10:39 +0100)]
Test fails on mips.
bug:
24596015
Change-Id: Iad6ab18b287b398af82b6a0574cb74204619755d
Nicolas Geoffray [Thu, 1 Oct 2015 13:34:20 +0000 (14:34 +0100)]
Do more inlining when JITting.
We now check the verification status of the class.
This triggered a bug when an inlined method was not compiled
(typically in a JIT configuration), and the path for deopting in
StackVisitor was using the wrong ArtMethod in order to know the
compiler that compiled the current frame.
Change-Id: I81d3ca0cf5cd3864b83b63dd954c58e1f2adaad4
Nicolas Geoffray [Fri, 2 Oct 2015 08:01:09 +0000 (08:01 +0000)]
Merge "Don't force the boot image to using quick."
Calin Juravle [Fri, 2 Oct 2015 06:40:57 +0000 (06:40 +0000)]
Merge "Fix x86_64 gtest."
Calin Juravle [Fri, 2 Oct 2015 06:27:51 +0000 (07:27 +0100)]
Fix x86_64 gtest.
Calling convention for setting a 64bit field changed.
The CL fixes the test for x86_64 and disable it for other arches.
Change-Id: Iea3df0965f65b10c59ed975f91ca8069fde6e13c
Calin Juravle [Fri, 2 Oct 2015 01:53:08 +0000 (01:53 +0000)]
Merge "Enable compilation of members with access check failures."
Calin Juravle [Fri, 2 Oct 2015 01:52:46 +0000 (01:52 +0000)]
Merge "Revert "Revert "Support unresolved fields in optimizing""
Calin Juravle [Thu, 17 Sep 2015 13:15:12 +0000 (14:15 +0100)]
Enable compilation of members with access check failures.
Change-Id: I0de73099b53612072c3e6f1235c22f96339fe440
Calin Juravle [Tue, 29 Sep 2015 03:52:17 +0000 (04:52 +0100)]
Revert "Revert "Support unresolved fields in optimizing"
The CL also changes the calling convetion for 64bit static field set
to use kArg2 instead of kArg1. This allows optimizing to keep
the asumptions:
- arm pairs are always of form (even_reg, odd_reg)
- ecx_edx is not used as a register on x86.
This reverts commit
e6f49b47b6a4dc9c7684e4483757872cfc7ff1a1.
Change-Id: I93159917565824084abc96775f31be1a4249f2f3
Mathieu Chartier [Fri, 2 Oct 2015 01:23:04 +0000 (01:23 +0000)]
Merge "Make SetStateUnsafe run checkpoints before going to suspended"
Mathieu Chartier [Thu, 1 Oct 2015 22:58:41 +0000 (15:58 -0700)]
Make SetStateUnsafe run checkpoints before going to suspended
This prevents cases where we can get a checkpoint request in runnable
and then unsafe set to suspended. This was bad behavior since the
checkpoint may not be run in a timely manner.
Bug:
24191051
Change-Id: I73605c1a1154f67699f3902141f3232ab064793f
Hiroshi Yamauchi [Fri, 2 Oct 2015 01:01:25 +0000 (01:01 +0000)]
Merge "Improvements for table lookup read barriers."
Hiroshi Yamauchi [Thu, 1 Oct 2015 03:12:11 +0000 (20:12 -0700)]
Improvements for table lookup read barriers.
- Implement fast paths for the GC root read barrier routines.
- Avoid unnecessary CAS operations.
Bug:
12687968
Change-Id: Iceef44e253062af5bf2295a521a9c64403deafe1
Mathieu Chartier [Fri, 2 Oct 2015 00:08:44 +0000 (17:08 -0700)]
Change DecodeWeakGlobal to DecodeJObject for class unloading
DecodeWeakGlobal returns the sentinel object for cleared JNI weak
globals. This was causing a memory leak since it wouldn't delete
class tables and linear allocs due to never returning null. The bug
was found by yamauchi.
Bug:
22720414
Change-Id: Iff4681495232b9a9756dbdb51d10ea72691a85dd
Alex Light [Thu, 1 Oct 2015 20:35:09 +0000 (13:35 -0700)]
Move getPublicFieldRecursive to native JNI
Benchmark: libcore/benchmarks/src/benchmarks/regression/ReflectionBenchmark.java
Previous benchmarks:
Class_getField 814.26 ns; σ=6.44 ns @ 3 trials
GetInterfaceStaticField 1552.28 ns; σ=38.22 ns @ 10 trials
GetSuperClassField 939.85 ns; σ=2.94 ns @ 3 trials
New benchmarks:
Class_getField 735.97 ns; σ=0.98 ns @ 3 trials
GetInterfaceStaticField 1178.98 ns; σ=6.14 ns @ 3 trials
GetSuperClassField 853.76 ns; σ=16.86 ns @ 10 trials
Bug:
24209213
Change-Id: I08073cb36b007ac33af010dab917a6f1e51107c0
Mathieu Chartier [Thu, 1 Oct 2015 22:08:56 +0000 (22:08 +0000)]
Merge "Add more error printing to TransitionFromSuspendedToRunnable"
Andreas Gampe [Thu, 1 Oct 2015 22:05:49 +0000 (22:05 +0000)]
Merge "Revert "Revert "ART: Remove unnecessary SHARED_REQUIRES in ArtMethod"""
Mathieu Chartier [Thu, 1 Oct 2015 21:46:29 +0000 (14:46 -0700)]
Add more error printing to TransitionFromSuspendedToRunnable
Bug:
24191051
Change-Id: I5c66ba5c76bf86e8d603110989b9da883ca4ca65
Andreas Gampe [Thu, 1 Oct 2015 20:29:43 +0000 (20:29 +0000)]
Merge "MIPS64: Implement intrinsic java.lang.Thread.currentThread()"
Chris Larsen [Thu, 1 Oct 2015 18:35:18 +0000 (11:35 -0700)]
MIPS64: Code cleanup.
1. Add comment to explain logic for GenMinMax in intrinsics code.
2. Declare enumerated type for class.s/class.d mask values.
3. Change intrinsics code to use the enumerated values described in
item 2.
4. Change "CLASS_MASK" to "kFPLeaveUnchanged" to match ART coding
standards.
Change-Id: Ib1fe4b01515595b46e5f101e0082bb9bbcf0c688
Nicolas Geoffray [Thu, 1 Oct 2015 17:41:27 +0000 (17:41 +0000)]
Merge "Fix another poisoning problem."
Nicolas Geoffray [Thu, 1 Oct 2015 14:50:27 +0000 (15:50 +0100)]
Fix another poisoning problem.
We were using the wrong temp.
Change-Id: Id79d5079cc85f61eb1a45d741a67f24d33e8fa03
Richard Uhler [Thu, 10 Sep 2015 23:45:54 +0000 (16:45 -0700)]
Generate an hprof file to test ahat.
This change sets up the infrastructure to write test cases for ahat
that make use of an hprof file automatically generated from a sample
program.
Change-Id: Id11f656afb69c96a26655cc4caeb745ad844f431
David Brazdil [Thu, 1 Oct 2015 14:16:40 +0000 (14:16 +0000)]
Merge "ART: Fix a static_cast int32_t -> uint64_t bug."
David Brazdil [Thu, 1 Oct 2015 13:32:56 +0000 (14:32 +0100)]
ART: Fix a static_cast int32_t -> uint64_t bug.
HConstant::GetValueAsUint64 is used by SsaChecker to verify that
equivalent phis are created only for untyped constants. The test
would fail because a static_cast would sign extend the value of the
IntConstant.
Bug:
24561315
Change-Id: I818ce6a2080994a7c4395d084c1df7fd615a246d
Nicolas Geoffray [Thu, 1 Oct 2015 10:47:57 +0000 (10:47 +0000)]
Merge "CUSTOM_TARGET_LINKER is set by the buildbot already."
Nicolas Geoffray [Thu, 1 Oct 2015 10:41:17 +0000 (10:41 +0000)]
Merge "Fix poisoining bug in arm64."
Nicolas Geoffray [Thu, 1 Oct 2015 09:32:19 +0000 (10:32 +0100)]
Don't force the boot image to using quick.
Instead, put the debuggable flag.
Also, remove obsolete ART_USE_OPTIMIZING_COMPILER environment
variable.
Change-Id: Idde00da0d063aa461faa0308134f3b420de9fe0a
Nicolas Geoffray [Thu, 1 Oct 2015 09:27:52 +0000 (10:27 +0100)]
Fix poisoining bug in arm64.
Change-Id: I30ca7f237009d81c9d83fabb6a4c76bf4c74d451
David Brazdil [Thu, 1 Oct 2015 08:57:17 +0000 (08:57 +0000)]
Merge "Mark one more Checker test broken for mips32"
David Brazdil [Thu, 1 Oct 2015 08:55:45 +0000 (09:55 +0100)]
Mark one more Checker test broken for mips32
Change-Id: I5289e91ff4b8bc530530eef000091c52f96fcc45
Nicolas Geoffray [Thu, 1 Oct 2015 07:34:40 +0000 (07:34 +0000)]
Merge "Optimize ArraySet for x86/x64/arm/arm64."
Andreas Gampe [Wed, 30 Sep 2015 20:05:24 +0000 (20:05 +0000)]
Revert "Revert "ART: Remove unnecessary SHARED_REQUIRES in ArtMethod""
This reverts commit
38b8287004770e4d20dcc0e0fe4697060917ec72.
Do not always use ScopedObjectAccess. The GC might call this during
sanity checking, at which point the state is not runnable, but the
mutator lock is still held.
Currently needs an ugly NO_THREAD_SAFETY_ANALYSIS helper, as the
assert isn't correctly handled (establishing the held mutator lock).
Change-Id: Ie79e85e2afedc9b989382d88155b09e426fe7f75
Andreas Gampe [Thu, 1 Oct 2015 00:30:40 +0000 (00:30 +0000)]
Merge "ART: Fix test"
Andreas Gampe [Thu, 1 Oct 2015 00:25:15 +0000 (17:25 -0700)]
ART: Fix test
Fix a missing rename after
89df7bfc41a4de9685f84e7db07f77db3fd485fc.
Change-Id: I67c8dfd45ff9d4d6b6b005df20c17ba4e453c378
Andreas Gampe [Wed, 30 Sep 2015 22:09:41 +0000 (22:09 +0000)]
Merge "ART: Refactor libarttest C++ code"
Kenny Root [Wed, 30 Sep 2015 21:42:02 +0000 (21:42 +0000)]
Merge "Tidy up spelling"
Hiroshi Yamauchi [Wed, 30 Sep 2015 21:33:53 +0000 (21:33 +0000)]
Merge "Use free lists instead of bitmaps within rosalloc runs."
Hiroshi Yamauchi [Thu, 24 Sep 2015 18:20:29 +0000 (11:20 -0700)]
Use free lists instead of bitmaps within rosalloc runs.
Speedups (CMS GC/N5)
BinaryTrees: 2008 -> 1694 ms (-16%)
MemAllocTest: 2303 -> 2076 ms (-10%)
TODO: Add assembly fast path code.
Bug:
9986565
Change-Id: I9dd7cbfd8e1ae083a399e70abaf2064a959f24fa
Andreas Gampe [Wed, 30 Sep 2015 20:13:21 +0000 (13:13 -0700)]
ART: Refactor libarttest C++ code
Refactor some libarttest JNI functions into a common directory, so
they can be easily used by multiple tests without code duplication.
This is preparation for better deoptimization state testing.
Change-Id: I43f7340b699b26930aabfd665c707e0485b17fc8
Kenny Root [Wed, 30 Sep 2015 20:09:51 +0000 (13:09 -0700)]
Tidy up spelling
To match the directory "compiler/optimizing" change the spelling of
comments.
Change-Id: I816da4836ce86f4a44ddd2754d8e788d77a27de3
Mathieu Chartier [Wed, 30 Sep 2015 18:34:18 +0000 (18:34 +0000)]
Merge "Revert "Revert "Keep internal stack trace methods declaring classes live"""
Nicolas Geoffray [Wed, 30 Sep 2015 17:48:51 +0000 (17:48 +0000)]
Merge "Don't use floating point callee saves in debuggable."
Vladimir Marko [Wed, 30 Sep 2015 17:46:01 +0000 (17:46 +0000)]
Merge "Optimizing: Tag even more arena allocations."
Nicolas Geoffray [Wed, 30 Sep 2015 16:18:14 +0000 (17:18 +0100)]
Don't use floating point callee saves in debuggable.
The runtime stubs don't save them, so GetVReg and SetVReg
won't work on them.
Not having callee saves will increase code size and reduce
performance of fp-heavy methods. But we need to do it for
propper debugging.
Change-Id: I40354c29718af49b6b3adf61d724d3bb93680107
Nicolas Geoffray [Fri, 25 Sep 2015 10:04:45 +0000 (11:04 +0100)]
Optimize ArraySet for x86/x64/arm/arm64.
Change-Id: I5bc8c6adf7f82f3b211f0c21067f5bb54dd0c040
Aart Bik [Wed, 30 Sep 2015 17:23:55 +0000 (17:23 +0000)]
Merge "Implemented trip-count safety information."
Mathieu Chartier [Wed, 30 Sep 2015 16:24:22 +0000 (09:24 -0700)]
Revert "Revert "Keep internal stack trace methods declaring classes live""
Fixed some code which used old stack trace representation in throwable.cc.
Bug:
22720414
This reverts commit
45a8522898702f6a725ae19d97bceedc8fc609a6.
Change-Id: I7385075caf649ce76da5d8866fd0031b9e8e5ef4
Aart Bik [Mon, 28 Sep 2015 23:25:56 +0000 (16:25 -0700)]
Implemented trip-count safety information.
As shown in the induction analysis presentation, trip-counts need to
deal with potential taken/not-taken situations (so that trip-count
is either valid in the full loop or just in the loop-body proper)
and potential finite/infinite situations (the latter can still be
analyzed but may need to run-time test later to guard against the
infinite conditions). This CL provides that information.
Change-Id: I0445d8e836b80a3614af217ce3e39d766e77b986