OSDN Git Service
Nicolas Geoffray [Mon, 15 Dec 2014 22:59:03 +0000 (22:59 +0000)]
Merge "Inlining support in optimizing."
Nicolas Geoffray [Mon, 1 Dec 2014 10:31:54 +0000 (10:31 +0000)]
Inlining support in optimizing.
Currently only inlines simple things that don't require an
environment, such as:
- Returning a constant.
- Returning a parameter.
- Returning an arithmetic operation.
Change-Id: Ie844950cb44f69e104774a3cf7a8dea66bc85661
Mathieu Chartier [Mon, 15 Dec 2014 19:56:57 +0000 (19:56 +0000)]
Merge "Clean up debugger"
Mathieu Chartier [Mon, 15 Dec 2014 01:01:31 +0000 (17:01 -0800)]
Clean up debugger
Separated logic for native vs java heap, cleaned up lock annotations.
Added missing end of space marker for bump pointer spaces.
Bug:
18730149
Change-Id: I5bc21f0cee83b9cfa357e8a59658885c12cae09c
Andreas Gampe [Mon, 15 Dec 2014 18:30:38 +0000 (18:30 +0000)]
Merge "ART: Do not inline elf writer debug symbols"
Andreas Gampe [Sat, 13 Dec 2014 05:41:29 +0000 (21:41 -0800)]
ART: Do not inline elf writer debug symbols
Using Clang, this pushes the frame size of the caller across our
limit. Thus forbid inlining. The function is only called once per
compile, impact is insignificant.
Bug:
18738594
Change-Id: I19c3f1168a5104ab508a8dbf9f2a8c035cb97e3c
Mathieu Chartier [Mon, 15 Dec 2014 17:37:59 +0000 (17:37 +0000)]
Merge "Use WaitHoldingLocks in ReferenceProcessor::MakeCircularListIfUnenqueued."
Andreas Gampe [Mon, 15 Dec 2014 16:17:27 +0000 (16:17 +0000)]
Merge "ART: Break up x86 disassembler main function"
Andreas Gampe [Sat, 13 Dec 2014 02:44:19 +0000 (18:44 -0800)]
ART: Break up x86 disassembler main function
The function leads to large stack frames with Clang. Break out
some parts and use four char* variables for opcode.
Bug:
18733806
Change-Id: I8bf6da6c763175d7081c4231fa5d3b6809316220
Andreas Gampe [Mon, 15 Dec 2014 16:14:53 +0000 (16:14 +0000)]
Merge "ART: Show invalid oat header cause in error message"
Andreas Gampe [Fri, 12 Dec 2014 23:25:14 +0000 (15:25 -0800)]
ART: Show invalid oat header cause in error message
Include the IsValid failure cause in the error message of opening
an oat file.
Make oat magic and version constexpr so we can have static_asserts
over the lengths.
Bug:
17187621
Change-Id: I8cef1c6cc9cb2faa052167a3437e81b4c2cbefa7
Calin Juravle [Mon, 15 Dec 2014 16:05:52 +0000 (16:05 +0000)]
Merge "Add more compilation stats to optimizing"
Nicolas Geoffray [Mon, 15 Dec 2014 15:30:41 +0000 (15:30 +0000)]
Merge "Save all registers in native to Java stubs."
Pavel Vyssotski [Mon, 15 Dec 2014 12:00:17 +0000 (18:00 +0600)]
Use WaitHoldingLocks in ReferenceProcessor::MakeCircularListIfUnenqueued.
The caller may be holding mutator_lock_, so we must use WaitHoldingLocks.
Otherwise we get 'bad_mutexes_held' error with debug build.
See also https://android-review.googlesource.com/#/c/93892.
Change-Id: I87b1119e22a9934fdc622c4c4e2690b8b552b539
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
Hiroshi Yamauchi [Sat, 13 Dec 2014 01:28:36 +0000 (01:28 +0000)]
Merge "Disable HomogeneousSpaceCompact for GSS collector"
Mathieu Chartier [Sat, 13 Dec 2014 00:46:56 +0000 (00:46 +0000)]
Merge "Add regression test for deadlock caused by Thread.getAllStackTraces"
Mathieu Chartier [Fri, 12 Dec 2014 21:05:33 +0000 (13:05 -0800)]
Add regression test for deadlock caused by Thread.getAllStackTraces
Also added stress test for Thread.getAllStackTraces. The test calls
Thread.getAllStackTraces from multiple threads to stress race
conditions which can cause deadlocks.
Bug:
18661622
Change-Id: Ideee7073fdcce784414808d08eca9ea310240073
Elliott Hughes [Fri, 12 Dec 2014 23:50:59 +0000 (23:50 +0000)]
Merge "Remove a dependency on AndroidConfig.h."
Elliott Hughes [Fri, 12 Dec 2014 23:49:56 +0000 (15:49 -0800)]
Remove a dependency on AndroidConfig.h.
Change-Id: I3fad347d49eb51f7a0f6d0ba9223d096a23f74a0
Mathieu Chartier [Fri, 12 Dec 2014 21:04:39 +0000 (21:04 +0000)]
Merge "Add ReferenceQueue test"
Mathieu Chartier [Fri, 12 Dec 2014 02:43:48 +0000 (18:43 -0800)]
Add ReferenceQueue test
Also cleaned up reference queue.
TODO: Add tests for missing functionality.
Bug:
10808403
Change-Id: I182f9cb69022fe542ea9e53d4c6d35cff90af332
Andreas Gampe [Fri, 12 Dec 2014 19:14:18 +0000 (19:14 +0000)]
Merge "ART: More logging on GetAccessFlags failure"
Mingyao Yang [Fri, 12 Dec 2014 19:07:41 +0000 (19:07 +0000)]
Merge "Some enhancements on BCE."
Andreas Gampe [Fri, 12 Dec 2014 19:06:00 +0000 (11:06 -0800)]
ART: More logging on GetAccessFlags failure
Bug:
18732531
Change-Id: I803d0dcd8c5e142b57dbdc40051fecbf71dd351d
Mingyao Yang [Fri, 5 Dec 2014 23:56:23 +0000 (15:56 -0800)]
Some enhancements on BCE.
1) Better format detection when creating ValueBound.
2) Some code cleanup on returning bool for overflow_or_underflow.
Change-Id: I03e8bd0d756652da021ccb5b2a62075648d39cc2
Elliott Hughes [Fri, 12 Dec 2014 18:18:42 +0000 (18:18 +0000)]
Merge "Remove portable."
Mathieu Chartier [Fri, 12 Dec 2014 17:51:59 +0000 (17:51 +0000)]
Merge "Remove proxy logic from GetCodeItem"
Elliott Hughes [Thu, 11 Dec 2014 22:34:28 +0000 (14:34 -0800)]
Remove portable.
Change-Id: I3bf3250fa866fd2265f1b115d52fa5dedc48a7fc
Sebastien Hertz [Fri, 12 Dec 2014 16:20:32 +0000 (16:20 +0000)]
Merge "ART: Fix DDM client hang transmitting native heap dump with MALLOC_IMPL=dlmalloc"
Vladimir Marko [Fri, 12 Dec 2014 14:01:10 +0000 (14:01 +0000)]
Merge "AArch64: Fix incorrect use of preceding LIR."
Lin Zang [Fri, 12 Dec 2014 13:54:47 +0000 (21:54 +0800)]
Disable HomogeneousSpaceCompact for GSS collector
HomogeneousSpaceCompact is not suitable when GSS is forground collector.
This will fix issue that device can not boot with GSS collecor.
Change-Id: Iafdf431c207351571f41bbc9196dff02ba674ab4
Signed-off-by: Lin Zang <lin.zang@intel.com>
Nicolas Geoffray [Fri, 12 Dec 2014 13:54:19 +0000 (13:54 +0000)]
Merge "Un-break --perf option to the art art script."
Nicolas Geoffray [Fri, 12 Dec 2014 13:52:00 +0000 (13:52 +0000)]
Un-break --perf option to the art art script.
Change-Id: I5446751982cc33f27aa6785359b3eb3ba969f93e
Nicolas Geoffray [Fri, 12 Dec 2014 10:29:38 +0000 (10:29 +0000)]
Save all registers in native to Java stubs.
This will make things more friendly when experimenting with the
number of callee saves in optimizing.
Change-Id: Iefd9a2da329a420eb69fc2fa9e91c06bbda30cdb
Ningsheng Jian [Wed, 10 Dec 2014 07:13:22 +0000 (15:13 +0800)]
AArch64: Fix incorrect use of preceding LIR.
In Cortex-A53 erratum 835769 fixup, we should check the LIR for
previous emitted instruction, skipping pseudo LIRs and other
non-emitting LIRs.
Change-Id: I908f4c638650d7ad9c91112b74095bba2d81612e
Dan Albert [Thu, 11 Dec 2014 23:39:59 +0000 (23:39 +0000)]
Merge "Fix alloc-dealloc-mismatch failures in dex2oat."
Mathieu Chartier [Thu, 11 Dec 2014 21:25:33 +0000 (13:25 -0800)]
Remove proxy logic from GetCodeItem
TODO: Fix places where this doesn't work. Seems maybe in debugger,
etc.
Bug:
17939199
Change-Id: I1dd3c1b071dc37aa1d0a6c187848978588248617
Dan Albert [Thu, 11 Dec 2014 22:09:51 +0000 (14:09 -0800)]
Fix alloc-dealloc-mismatch failures in dex2oat.
These errors are for calling `delete` on something allocated with
`new[]`.
Bug:
18202869
Change-Id: I8032664dd0819740e83a04cd5a0d56e2c097aacf
Mathieu Chartier [Thu, 11 Dec 2014 20:50:47 +0000 (20:50 +0000)]
Merge "Increase default allocation stack size"
Mathieu Chartier [Thu, 11 Dec 2014 02:45:30 +0000 (18:45 -0800)]
Increase default allocation stack size
Prevents some GC for alloc which can occur if the allocation stack
overflows.
Bug:
18707404
(cherry picked from commit
4911153db37264de407b2a08c2e4c9bb6aef3545)
Change-Id: I4748485dd495526ab1a313f366d93dbb3ee8112b
Dan Albert [Thu, 11 Dec 2014 19:33:59 +0000 (19:33 +0000)]
Merge "Don't use the version script for executables."
Andreas Gampe [Thu, 11 Dec 2014 19:25:43 +0000 (19:25 +0000)]
Merge "Revert "Revert "Ensure void type is resolved when running without image"""
Mathieu Chartier [Thu, 11 Dec 2014 19:19:40 +0000 (19:19 +0000)]
Merge "Add verifier support for dequickening"
Andreas Gampe [Thu, 11 Dec 2014 19:16:39 +0000 (19:16 +0000)]
Merge "ART: More ELF and oat file safety measures"
Mathieu Chartier [Wed, 10 Dec 2014 20:06:45 +0000 (12:06 -0800)]
Add verifier support for dequickening
Also some cleanup.
Bug:
17950037
Change-Id: I1f50fe07f1558e9c4f78953b7afa639d7f310b3c
Andreas Gampe [Thu, 11 Dec 2014 04:51:45 +0000 (20:51 -0800)]
ART: More ELF and oat file safety measures
In an ELF file, look for a shstrtab section when loading in
program-header-only mode. If the section is outside the file size,
it strongly indicates a broken compile.
When compiling oat files in the class linker, explicitly unlink
on failure. This should catch cases when dex2oat is killed or
crashes and doesn't have a chance to delete its (partial) output.
Bug:
15567083
(cherry picked from commit
ad00fed942a9a04cf3f46784bbd04a5f00dd4ab8)
Change-Id: Ia0c75f151d91c6f26a71696967255d6d409ca882
Nicolas Geoffray [Thu, 11 Dec 2014 15:35:28 +0000 (15:35 +0000)]
Merge "Add another failing test."
Nicolas Geoffray [Thu, 11 Dec 2014 15:34:38 +0000 (15:34 +0000)]
Add another failing test.
Change-Id: I19050efdf57a06d6391be319b96bcf62536dd189
Vladimir Marko [Thu, 11 Dec 2014 14:29:53 +0000 (14:29 +0000)]
Merge "ARM: Combine multiply accumulate operations."
Nicolas Geoffray [Thu, 11 Dec 2014 13:47:54 +0000 (13:47 +0000)]
Merge "Update expectation file from what is runnin on the bot."
Nicolas Geoffray [Thu, 11 Dec 2014 13:33:12 +0000 (13:33 +0000)]
Update expectation file from what is runnin on the bot.
The bots are runinng a stock L release, and not latest AOSP.
Change-Id: I48f0dcf2570c0d718e4e725cd48c0d7b33cb3627
Andreas Gampe [Thu, 11 Dec 2014 00:43:58 +0000 (16:43 -0800)]
Revert "Revert "Ensure void type is resolved when running without image""
Accept the verification status of image classes out of oat files even
when the image could not be loaded. This is necessary as the dex files
might be quickened and the verifier can't work on them when the runtime
is not started.
This reverts commit
fe382b5296ef132316d8883a0bdf8cb00d40d16b.
Bug:
18338511
Bug:
18705942
Change-Id: I3516acaaa65f05395c14da0701d1049ba80acb12
Ningsheng Jian [Tue, 25 Nov 2014 08:48:07 +0000 (16:48 +0800)]
ARM: Combine multiply accumulate operations.
Try to combine integer multiply and add(sub) into a MAC operation.
For AArch64, also try to combine long type multiply and add(sub).
Change-Id: Ic85812e941eb5a66abc355cab81a4dd16de1b66e
Andreas Gampe [Thu, 11 Dec 2014 00:58:13 +0000 (00:58 +0000)]
Merge "ART: Extend run-test 015"
Andreas Gampe [Fri, 5 Dec 2014 00:58:36 +0000 (16:58 -0800)]
ART: Extend run-test 015
Add some more tests to 015-switch.
Change-Id: I10bd61d68ce961ae2e2dcf936ed9321014b56d05
Dan Albert [Wed, 10 Dec 2014 23:50:45 +0000 (15:50 -0800)]
Don't use the version script for executables.
The version script was forcing all the ASAN symbols to be hidden,
which caused any ASAN instrumented shared libraries used by these
executables (such as libc++) to be unable to find these symbols.
Bug:
18671691
Change-Id: I7839a10041d5f75ce43b59920675b2eff0837606
Nicolas Geoffray [Wed, 10 Dec 2014 22:33:21 +0000 (22:33 +0000)]
Merge "Revert "Ensure void type is resolved when running without image""
Nicolas Geoffray [Wed, 10 Dec 2014 22:32:58 +0000 (22:32 +0000)]
Revert "Ensure void type is resolved when running without image"
Reverting to stop tests breakage.
This reverts commit
3138584a720b86f2f542160425d3a922920760c0.
Change-Id: Idd30d458cef67839416ffeae4d558da2affd29d0
Mathieu Chartier [Wed, 10 Dec 2014 22:22:14 +0000 (22:22 +0000)]
Merge "Stop daemon threads in runtime shutdown"
Sebastien Hertz [Wed, 10 Dec 2014 20:19:38 +0000 (20:19 +0000)]
Merge "Ensure void type is resolved when running without image"
Mathieu Chartier [Wed, 10 Dec 2014 19:52:03 +0000 (19:52 +0000)]
Merge "Add missing iget quick for bool, byte, char, short"
Mathieu Chartier [Wed, 10 Dec 2014 18:35:44 +0000 (10:35 -0800)]
Add missing iget quick for bool, byte, char, short
Bug:
17791557
Bug:
17671806
Change-Id: Ifac4fbfba6c3a3f97131e85914b24756fb7f9722
Sebastien Hertz [Tue, 9 Dec 2014 18:08:15 +0000 (19:08 +0100)]
Ensure void type is resolved when running without image
To initialize java.lang.Void correctly, we need to ensure the 'void'
class is initialized in the dex cache of core-libart (because Java
code relies on it). However, if we run without image, the dex cache
may not contain the void class before we initialize java.lang.Void
class.
This CL fixes this by forcing the resolution of 'void' class when
initializing the runtime without image.
We also generalize that to other types by not skipping verification
when running with preopted oat files without image. By verifying
all classes, we ensure all resolved types are in the dex caches.
Bug:
18338511
(cherry picked from commit
cad417c72cc879ae8b6a8b2fff26f05a770f2051)
Change-Id: I65e345da47be6eda1ee55897c01a9a4cc1444915
Mathieu Chartier [Wed, 10 Dec 2014 01:38:52 +0000 (17:38 -0800)]
Stop daemon threads in runtime shutdown
Ensure that daemons are stopped and joins before bringing down the
runtime. This fixes bugs related to native code still running when
we shutdown the runtime.
Also changed the mutex destructor to allow contenders if we are
deleting a monitor lock level mutex.
Bug:
18577101
Change-Id: I6457b35fd69c6997b9003b5f15f39861749843a9
Roland Levillain [Wed, 10 Dec 2014 17:08:37 +0000 (17:08 +0000)]
Merge "ARM64: Enable Optimizing compiler image generation."
Calin Juravle [Tue, 9 Dec 2014 18:11:36 +0000 (18:11 +0000)]
Add more compilation stats to optimizing
Optimizing is getting closer to have full coverage and this provides a
nice overview on why certain methods are not compiled/optimized.
Also, clean up some of the builder methods.
Change-Id: Id2f31441a788b797b0efea7ec78bee27bb654186
Serban Constantinescu [Thu, 4 Dec 2014 18:12:21 +0000 (18:12 +0000)]
ARM64: Enable Optimizing compiler image generation.
Enable Optimizing Compiler image generation for ARM64.
Change-Id: If28426920f8887a3f78cb8c69bc8c1293131b85d
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Roland Levillain [Wed, 10 Dec 2014 15:52:37 +0000 (15:52 +0000)]
Merge "Opt compiler: Add arm64 support for register allocation."
Alexandre Rames [Wed, 10 Dec 2014 10:36:50 +0000 (10:36 +0000)]
Opt compiler: Add arm64 support for register allocation.
Change-Id: Idc6e84eee66170de4a9c0a5844c3da038c083aa7
Nicolas Geoffray [Wed, 10 Dec 2014 08:41:47 +0000 (08:41 +0000)]
Merge "Ensure stack maps are 4 byte aligned."
Brian Carlstrom [Wed, 10 Dec 2014 06:59:33 +0000 (06:59 +0000)]
Merge "Fix verifier bug caused by confusing ArtMethod::IsDirect vs ArtMethod::IsStatic semantics."
Brian Carlstrom [Wed, 10 Dec 2014 04:15:42 +0000 (20:15 -0800)]
Fix verifier bug caused by confusing ArtMethod::IsDirect vs ArtMethod::IsStatic semantics.
Bug:
18485243
Change-Id: I011872446490628b51fb38a353abd1d499cc1290
Nicolas Geoffray [Tue, 9 Dec 2014 14:26:32 +0000 (14:26 +0000)]
Ensure stack maps are 4 byte aligned.
With the recent move to gcc 4.9, we are hitting alignment
SIGBUS on ARM. The reason is that gcc will optimize two consecutive
32bits loads into one 64bits load, and the instruction (ldrd)
will fail if the data is not aligned.
Also removed the emission of mapping table when a method is optimized.
The information can be found in the StackMap itself.
Change-Id: Icf79406c18a3f4db3c05d52fc2c0dd2e35bf0f8f
Sebastien Hertz [Tue, 9 Dec 2014 13:43:28 +0000 (13:43 +0000)]
Merge "Support proxy method in StackVisitor::GetThisObject"
Nicolas Geoffray [Tue, 9 Dec 2014 13:34:09 +0000 (13:34 +0000)]
Merge "Revert "Tidy gAborting.""
Nicolas Geoffray [Tue, 9 Dec 2014 13:33:38 +0000 (13:33 +0000)]
Revert "Tidy gAborting."
Creates infinite loop: b/
18674776.
This reverts commit
015b137efb434528173779bc3ec8d72494456254.
Change-Id: I67fe310d2e95ee2ec37bec842be06fb1123b6f4e
Sebastien Hertz [Tue, 25 Nov 2014 15:30:53 +0000 (16:30 +0100)]
Support proxy method in StackVisitor::GetThisObject
Adds function artQuickGetProxyThisObject which returns the 'this'
object of the proxy method using the QuickArgumentVisitor. Since
proxy methods have the same layout than the kRefsAndArgs runtime
method and 'this' is the 1st method argument, it is located in the
first GPR.
Bug:
17965861
Change-Id: Ic6ef6c83b9a549c25f9929d5e00ffe1d3a9a36f0
Nicolas Geoffray [Tue, 9 Dec 2014 11:49:14 +0000 (11:49 +0000)]
Merge "Test now fails on amr64/optimizing after float rem changes."
Nicolas Geoffray [Tue, 9 Dec 2014 11:40:22 +0000 (11:40 +0000)]
Test now fails on amr64/optimizing after float rem changes.
Change-Id: I0b5d7303e3d337b2195c3810069213b1530ab474
Vladimir Marko [Tue, 9 Dec 2014 11:09:39 +0000 (11:09 +0000)]
Merge "Quick: Redefine the notion of back-egdes."
Sebastien Hertz [Tue, 9 Dec 2014 10:42:01 +0000 (10:42 +0000)]
Merge "JDWP: avoid crash on unsupported modifier"
Sebastien Hertz [Fri, 5 Dec 2014 09:52:15 +0000 (10:52 +0100)]
JDWP: avoid crash on unsupported modifier
Returns NOT_IMPLEMENTED error if we receive an event request with an
unsupported modifier.
Bug: https://code.google.com/p/android/issues/detail?id=81037
Bug:
18617787
(cherry picked from commit
0fb33e7b7b0b86fb9c7b556e4a052874ec269bb0)
Change-Id: I97729e2f98af3a75d24604926a89860255d4acae
Nicolas Geoffray [Tue, 9 Dec 2014 10:19:05 +0000 (10:19 +0000)]
Merge "Explicitly mask constants in shift operations."
Nicolas Geoffray [Mon, 8 Dec 2014 18:00:55 +0000 (18:00 +0000)]
Explicitly mask constants in shift operations.
The assemblers expect an int8, so we mask ahead of calling them.
Change-Id: Id668cda6853fa365ac02531bf7aae288cad20fcd
Vladimir Marko [Thu, 27 Nov 2014 14:52:37 +0000 (14:52 +0000)]
Quick: Redefine the notion of back-egdes.
Redefine a back-edge to really mean an edge to a loop head
instead of comparing instruction offsets. Generate suspend
checks also on fall-through to a loop head; insert an extra
GOTO for these edges.
Add suspend checks to fused cmp instructions.
Rewrite suspend check elimination to track whether there is
an invoke on each path from the loop head to a given back
edge, instead of using domination info to look for a basic
block with invoke that must be on each path. Ignore invokes
to intrinsics and move the optimization to a its own pass.
The new loops in 109-suspend-check should prevent intrinsics
and fused cmp-related regressions.
Bug:
18522004
Change-Id: I96ac818f76ccf9419a6e70e9ec00555f9d487a9e
Brian Carlstrom [Tue, 9 Dec 2014 07:02:53 +0000 (07:02 +0000)]
Merge "Fix reference table sorting"
Brian Carlstrom [Tue, 9 Dec 2014 00:22:06 +0000 (16:22 -0800)]
Fix reference table sorting
Bug:
18638116
(cherry picked from commit
16abc5f28ac9792fd1ba2c82f123cfd871cddbdb)
Change-Id: I15478306b3c2e2bd4f0a1d4307c001f64c0652af
Hiroshi Yamauchi [Tue, 9 Dec 2014 01:25:31 +0000 (01:25 +0000)]
Merge "Make it possible to enable heap poisoning via make variable."
Hiroshi Yamauchi [Mon, 8 Dec 2014 20:08:46 +0000 (12:08 -0800)]
Make it possible to enable heap poisoning via make variable.
If ART_HEAP_POISONING=true, build with heap poisoning enabled.
Bug:
8367515
Change-Id: I818e86047e6dd99b5bc9920713ef943a65b677e6
Mathieu Chartier [Mon, 8 Dec 2014 21:42:02 +0000 (21:42 +0000)]
Merge "Re-add missing read barriers"
Mathieu Chartier [Mon, 8 Dec 2014 20:59:27 +0000 (12:59 -0800)]
Re-add missing read barriers
Also added DCHECKS
Change-Id: Ie4c43432479e0e8db197f7a6568a33126e38ccdb
Mathieu Chartier [Mon, 8 Dec 2014 20:06:54 +0000 (20:06 +0000)]
Merge "Clean up ReferenceTable::Dump"
Mathieu Chartier [Mon, 8 Dec 2014 19:50:36 +0000 (11:50 -0800)]
Clean up ReferenceTable::Dump
Make sure that we never have nulls and cleared weak globals in the
sorted table. Cleaned up comparator.
Bug:
18597401
Change-Id: I5f437dfa29c813e17cdde411175abc927283716d
Vladimir Marko [Mon, 8 Dec 2014 19:03:05 +0000 (19:03 +0000)]
Merge "Quick: Kill unreachable blocks instead of just hiding them."
Vladimir Marko [Mon, 8 Dec 2014 18:38:42 +0000 (18:38 +0000)]
Merge "Re-factor Quick ABI support"
Calin Juravle [Mon, 8 Dec 2014 18:07:32 +0000 (18:07 +0000)]
Merge "[optimizing compiler] Add REM_FLOAT and REM_DOUBLE"
Calin Juravle [Mon, 8 Dec 2014 14:24:46 +0000 (14:24 +0000)]
[optimizing compiler] Add REM_FLOAT and REM_DOUBLE
- for arm, x86, x86_64 backends
- reinstated fmod quick entry points for x86. This is a partial revert
of
bd3682eada753de52975ae2b4a712bd87dc139a6 which added inline assembly
for floting point rem on x86. Note that Quick still uses the inline
version.
- fix rem tests for longs
Change-Id: I73be19a9f2f2bcf3f718d9ca636e67bdd72b5440
Vladimir Marko [Mon, 8 Dec 2014 15:16:54 +0000 (15:16 +0000)]
Quick: Kill unreachable blocks instead of just hiding them.
This changes the block type from kDalvikByteCode to kDead
and properly cleans up predecessors and MIRGraph::catches_.
Bug:
18626174
Change-Id: I268bf68f7947604bcb82caf95ee79c6831ee6e2a
Nicolas Geoffray [Mon, 8 Dec 2014 14:00:55 +0000 (14:00 +0000)]
Merge "Test has been updated, does not fail anymore."
Nicolas Geoffray [Mon, 8 Dec 2014 14:00:02 +0000 (14:00 +0000)]
Test has been updated, does not fail anymore.
Change-Id: Ie0506d048eb9dd7f356ba29ce8b58f9bec336ea0