OSDN Git Service
Mathieu Chartier [Tue, 18 Nov 2014 23:39:24 +0000 (23:39 +0000)]
Merge "Fix no relocate host tests"
Mathieu Chartier [Tue, 18 Nov 2014 23:34:09 +0000 (15:34 -0800)]
Fix no relocate host tests
Change-Id: I905bf0327685d2119a2a5d157795e0e3f16286a7
Andreas Gampe [Tue, 18 Nov 2014 21:49:52 +0000 (21:49 +0000)]
Merge "ART: Build fix"
Andreas Gampe [Tue, 18 Nov 2014 21:48:34 +0000 (13:48 -0800)]
ART: Build fix
Change-Id: I0c4d1c2981bdfb95e12c8c624826349281ada0cf
Mathieu Chartier [Tue, 18 Nov 2014 21:05:53 +0000 (21:05 +0000)]
Merge "Change 64 bit ArtMethod fields to be pointer sized"
Mathieu Chartier [Mon, 10 Nov 2014 19:08:06 +0000 (11:08 -0800)]
Change 64 bit ArtMethod fields to be pointer sized
Changed the 64 bit entrypoint and gc map fields in ArtMethod to be
pointer sized. This saves a large amount of memory on 32 bit systems.
Reduces ArtMethod size by 16 bytes on 32 bit.
Total number of ArtMethod on low memory mako: 169957
Image size: 49203 methods -> 787248 image size reduction.
Zygote space size: 1070 methods -> 17120 size reduction.
App methods: ~120k -> 2 MB savings.
Savings per app on low memory mako: 125K+ per app
(less active apps -> more image methods per app).
Savings depend on how often the shared methods are on dirty pages vs
shared.
TODO in another CL, delete gc map field from ArtMethod since we
should be able to get it from the Oat method header.
Bug:
17643507
Change-Id: Ie9508f05907a9f693882d4d32a564460bf273ee8
(cherry picked from commit
e832e64a7e82d7f72aedbd7d798fb929d458ee8f)
Vladimir Marko [Tue, 18 Nov 2014 18:14:07 +0000 (18:14 +0000)]
Merge "Do not try to sharpen super calls to abstract methods."
Vladimir Marko [Tue, 18 Nov 2014 14:47:31 +0000 (14:47 +0000)]
Do not try to sharpen super calls to abstract methods.
Bug:
18380491
(cherry picked from commit
474123dccc5aa9a0dfe566d332174877fd5b7040)
Change-Id: I6637aaa562115f6b07d8637f0cc6658f1a6739bb
Nicolas Geoffray [Tue, 18 Nov 2014 15:56:18 +0000 (15:56 +0000)]
Merge "Fix typo."
Nicolas Geoffray [Tue, 18 Nov 2014 15:55:32 +0000 (15:55 +0000)]
Fix typo.
Change-Id: Iac3b6b2206bfacf5133775b706893fc80dcad5ec
Nicolas Geoffray [Tue, 18 Nov 2014 15:37:50 +0000 (15:37 +0000)]
Merge "Opt compiler: Add support for more IRs on arm64."
Alexandre Rames [Tue, 18 Nov 2014 10:55:16 +0000 (10:55 +0000)]
Opt compiler: Add support for more IRs on arm64.
Change-Id: I4b6425135d1af74912a206411288081d2516f8bf
Nicolas Geoffray [Tue, 18 Nov 2014 10:15:18 +0000 (10:15 +0000)]
Merge "Fix a bug in the type propagation phase of optimizing."
Roland Levillain [Tue, 18 Nov 2014 09:59:13 +0000 (09:59 +0000)]
Merge "Add support for int-to-float & int-to-double in optimizing."
Hiroshi Yamauchi [Tue, 18 Nov 2014 02:22:09 +0000 (02:22 +0000)]
Merge "Enable the hspace compaction on OOM by default."
Hiroshi Yamauchi [Tue, 18 Nov 2014 02:05:44 +0000 (18:05 -0800)]
Enable the hspace compaction on OOM by default.
(cherrypick commit
d3f228062a1d71ce6ace2f31ecf369ae247633c2)
Bug:
18377775
Change-Id: I4a0998c7f35b6418004e92bc07926abc9b74962a
Ian Rogers [Tue, 18 Nov 2014 01:40:22 +0000 (01:40 +0000)]
Merge "Add denver64 as a known ARM64 variant."
Ian Rogers [Tue, 18 Nov 2014 00:43:15 +0000 (16:43 -0800)]
Add denver64 as a known ARM64 variant.
Other bits of instruction_set_features_test clean up.
Bug:
18385422
Change-Id: Ic48cfa0564b41ea140805a700de7c1e51addf49d
Mathieu Chartier [Mon, 17 Nov 2014 23:37:34 +0000 (23:37 +0000)]
Merge "Change IsZygote test to !IsCompiler"
Mathieu Chartier [Mon, 17 Nov 2014 22:52:44 +0000 (14:52 -0800)]
Change IsZygote test to !IsCompiler
Enables test coverage through run test 118.
Change-Id: I21ce32e83629eb507b8440cebdd721d29171a984
Mathieu Chartier [Mon, 17 Nov 2014 22:44:16 +0000 (22:44 +0000)]
Merge "Combine image string char arrays into single array"
Mathieu Chartier [Sat, 15 Nov 2014 03:34:18 +0000 (19:34 -0800)]
Combine image string char arrays into single array
Having one giant char array shared between all the strings saves memory
since it avoids the 12 bytes of array overhead per image string. Also
added substring finding based on prefixes, strings are added into the
array in reverse sorted length.
Image size goes from
11767808 ->
11100160.
Bug:
17643507
Change-Id: I2a7f177b40d0458d5c50640643d8f16b0030bdce
(cherry picked from commit
23c1d0ca7ab63f4adad88631bddefb769d0dcc2c)
Mathieu Chartier [Mon, 17 Nov 2014 21:55:28 +0000 (21:55 +0000)]
Merge "Don't call AddImageStringsToTable or MoveImageClassesToClassTable if running imageless"
Mathieu Chartier [Mon, 17 Nov 2014 20:36:24 +0000 (12:36 -0800)]
Don't call AddImageStringsToTable or MoveImageClassesToClassTable if running imageless
If we fail to create the image we use imageless running, this was
breaking AddImageStringsToTable since we didn't check for this
case. Added a check which avoids calling AddImageStringsToTable and
MoveImageClassesToClassTable if we don't have an image.
Bug:
18412472
(cherry picked from commit
ab1953f35880f94752e1fcde3f6b3f0d3532125b)
Change-Id: Ida18e1fcd04d752d55923e65c3122c0ac0bde728
Bill Buzbee [Mon, 17 Nov 2014 21:15:57 +0000 (21:15 +0000)]
Merge "ART: copy dalvikInsn back on throw instruction processing"
Vladimir Marko [Mon, 17 Nov 2014 20:50:41 +0000 (20:50 +0000)]
Merge "Add stress test for field offset assignment sorting."
Vladimir Marko [Mon, 17 Nov 2014 20:22:16 +0000 (20:22 +0000)]
Add stress test for field offset assignment sorting.
Bug:
18211592
Change-Id: If6303a9d2b16b7242a90ffc11f5e87b5b4003267
Mathieu Chartier [Mon, 17 Nov 2014 19:28:27 +0000 (19:28 +0000)]
Merge "Change 512 to kLocalsMax."
Nicolas Geoffray [Mon, 17 Nov 2014 17:50:33 +0000 (17:50 +0000)]
Fix a bug in the type propagation phase of optimizing.
The compiler was placing phis (and their floating point equivalent),
in a way that it did not expect.
Change-Id: I974be1ee4aae5d27d68c6bba171db0ed25377b70
Mathieu Chartier [Mon, 17 Nov 2014 18:24:04 +0000 (10:24 -0800)]
Change 512 to kLocalsMax.
Clean up after cherry pick.
Change-Id: I39308ed1497a94b2a47bba8806e494d066d5f6fc
Vladimir Marko [Mon, 17 Nov 2014 18:24:08 +0000 (18:24 +0000)]
Merge "Fix ordering of fields with the same name."
Mathieu Chartier [Mon, 17 Nov 2014 18:23:51 +0000 (18:23 +0000)]
Merge "Fix reference leaks in ToReflectedMethod and ToReflectedField"
Mathieu Chartier [Sat, 15 Nov 2014 21:07:39 +0000 (13:07 -0800)]
Fix reference leaks in ToReflectedMethod and ToReflectedField
Used ScopedLocalRef to fix, added regression tests.
Bug:
18396311
(cherry picked from commit
8c41753e5eda8322b4d992fe88855058f4c0c2e1)
Change-Id: I0ddfc20ac2384c90ff18586242c1f1d9a6d6eb6d
Nicolas Geoffray [Mon, 17 Nov 2014 18:16:20 +0000 (18:16 +0000)]
Merge "Don't fall back to Quick in optimizing."
Nicolas Geoffray [Mon, 17 Nov 2014 12:55:12 +0000 (12:55 +0000)]
Don't fall back to Quick in optimizing.
The compiler can now have a life of its own.
Change-Id: I804638c574d1a37299fa8427a3fd10d627d2844e
Vladimir Marko [Mon, 17 Nov 2014 15:13:34 +0000 (15:13 +0000)]
Fix ordering of fields with the same name.
While the Java language doesn't allow multiple fields with
the same name in a single class (excluding fields from super
classes), the bytecode specification permits it and tools
such as proguard actually generate them. Define the order of
these fields by their dex file index and relax the check of
field ordering to permit identical names.
Bug:
18211592
Change-Id: I1dee9b2b669a6ea180a2d3a41030efb2aed53950
Roland Levillain [Mon, 17 Nov 2014 14:32:17 +0000 (14:32 +0000)]
Add support for int-to-float & int-to-double in optimizing.
- Add support for the int-to-float and int-to-double Dex
instructions in the optimizing compiler.
- Generate x86, x86-64 and ARM (but not ARM64) code for
byte to float, short to float, int to float, char to
float, byte to double, short to double, int to double and
char to double HTypeConversion nodes.
- Add related tests to test/422-type-conversion.
Change-Id: I963f9d0184a5d3721af2d8f593f133d5af7aa6a3
Sebastien Hertz [Mon, 17 Nov 2014 16:25:20 +0000 (16:25 +0000)]
Merge "Fix art_quick_instrumentation_entry stub for x86/x86_64"
Sebastien Hertz [Mon, 17 Nov 2014 11:46:27 +0000 (12:46 +0100)]
Fix art_quick_instrumentation_entry stub for x86/x86_64
Fixes bad stack offset for x86 where we read the return pc from an
incorrect location.
Fixes bad register for x86_64. The return pc is the 4th argument of
the called C function. It must be passed in rcx instead of r8 (which
is used for 5th argument).
Bug:
18170596
Change-Id: Idb521d2f6da415448fa61acf8b7d21076822830f
Sebastien Hertz [Mon, 17 Nov 2014 16:08:01 +0000 (16:08 +0000)]
Merge "Fix DCHECK in artInstrumentationMethodEntryFromCode"
Sebastien Hertz [Mon, 17 Nov 2014 15:10:44 +0000 (16:10 +0100)]
Fix DCHECK in artInstrumentationMethodEntryFromCode
We do use the quick to interpreter bridge for deoptimized method. So
move the DCHECK only in the else case.
Bug:
18170596
Change-Id: Ife83fd71da7490196ada694a4227b43a9ecbf577
Nicolas Geoffray [Mon, 17 Nov 2014 13:53:37 +0000 (13:53 +0000)]
Merge "Revert "Revert "Unfortunately, the test still hits too many run failures."""
Nicolas Geoffray [Mon, 17 Nov 2014 13:52:16 +0000 (13:52 +0000)]
Revert "Revert "Unfortunately, the test still hits too many run failures.""
This reverts commit
f8069a217312e486d034cb850e41639580b7385f.
Change-Id: I6359908ef1a2a7927b52d1fd993ef1b5873aa172
Calin Juravle [Mon, 17 Nov 2014 11:55:59 +0000 (11:55 +0000)]
Merge "[optimizing compiler] Add REM_INT, REM_LONG"
Calin Juravle [Fri, 14 Nov 2014 15:54:36 +0000 (15:54 +0000)]
[optimizing compiler] Add REM_INT, REM_LONG
- for arm, x86, x86_64
- minor cleanup/fix in div tests
Change-Id: I240874010206a5a9b3aaffbc81a885b94c248f93
Roland Levillain [Mon, 17 Nov 2014 10:24:03 +0000 (10:24 +0000)]
Merge "Add support for int-to-short in the optimizing compiler."
Nicolas Geoffray [Mon, 17 Nov 2014 10:22:54 +0000 (10:22 +0000)]
Merge "Revert "Arm64: Use the debug version of VIXL for debug builds.""
Nicolas Geoffray [Mon, 17 Nov 2014 10:22:02 +0000 (10:22 +0000)]
Revert "Arm64: Use the debug version of VIXL for debug builds."
This reverts commit
195c576fbff290d4c313b67ed24ca36f2531acc4.
Change-Id: Id992a43ae346bb4c38a6c47639b02aea838d974a
Nicolas Geoffray [Mon, 17 Nov 2014 09:51:59 +0000 (09:51 +0000)]
Merge "Fix lint error."
Nicolas Geoffray [Mon, 17 Nov 2014 09:51:16 +0000 (09:51 +0000)]
Fix lint error.
Change-Id: Ia0fa12f2208507b6bec0581edf4345025b877580
Nicolas Geoffray [Mon, 17 Nov 2014 09:47:52 +0000 (09:47 +0000)]
Merge "Arm64: Use the debug version of VIXL for debug builds."
Nicolas Geoffray [Mon, 17 Nov 2014 09:42:23 +0000 (09:42 +0000)]
Merge "Minor object store optimizations."
Nicolas Geoffray [Mon, 17 Nov 2014 09:21:54 +0000 (09:21 +0000)]
Merge "Fix failure in --no-dex2oat invocation of 425-invokesuper."
Nicolas Geoffray [Thu, 13 Nov 2014 15:15:39 +0000 (15:15 +0000)]
Fix failure in --no-dex2oat invocation of 425-invokesuper.
We had two issues:
- dexmerger is broken and sometimes produces invalid dex files,
thus the test was always failing. b/
18051191.
- The reason only no-dex2oat caught it is because it doesn't prebuild,
and our scripts just do not report an error when the prebuild failed.
I also gave up trying to emit the dex2oat error output in the console.
I clearly don't speak bash.
Change-Id: I34c40902855452ea0f3e0d4733e4149c87236cfe
Dan Albert [Sat, 15 Nov 2014 23:42:09 +0000 (23:42 +0000)]
Merge "The libc++ gtest is being renamed to libgtest."
Dan Albert [Sat, 15 Nov 2014 07:04:19 +0000 (07:04 +0000)]
Merge "Up the stack size limit for SANITIZE_HOST."
Dan Albert [Sat, 15 Nov 2014 03:56:21 +0000 (19:56 -0800)]
Up the stack size limit for SANITIZE_HOST.
Change-Id: I7c507a6a2e8de534f0e09e961d13db0223eee891
Ian Rogers [Sat, 15 Nov 2014 00:19:56 +0000 (00:19 +0000)]
Merge "Avoid abort in malformed dex code."
Bill Buzbee [Fri, 14 Nov 2014 23:51:16 +0000 (23:51 +0000)]
Merge "AArch64: Small improvements."
Ian Rogers [Wed, 5 Nov 2014 19:07:30 +0000 (11:07 -0800)]
Avoid abort in malformed dex code.
Don't allow a perceived double monitor-enter on a register
to abort libartd.
Allow expected verifier errors in the smali tests.
Tidy includes in the method verifier.
Bug:
17978759
Change-Id: Ic44924c788cd2334f91a047fb41b459b89a1843b
Serban Constantinescu [Thu, 13 Nov 2014 11:14:25 +0000 (11:14 +0000)]
Arm64: Use the debug version of VIXL for debug builds.
This patch builds the debug version of ART against VIXL debug. In this
way VIXL will assert misuses of the assembler and disassembler.
Change-Id: Ic4654eb20e420f23b40e96a69be452dc50770c1c
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
Vladimir Marko [Fri, 14 Nov 2014 19:02:32 +0000 (19:02 +0000)]
Merge "Fix LinkFieldsComparator."
Vladimir Marko [Wed, 12 Nov 2014 17:02:02 +0000 (17:02 +0000)]
Fix LinkFieldsComparator.
Define order for primitive types with the same sizes.
Previously, the comparator would consider the fields equal
so the order would depend on std::sort() implementation.
Changing the STL implementation could silently change the
field offsets. (And, unlike std::stable_sort(), the
std::sort() doesn't even need to be deterministic.)
Change-Id: I91fa562f82447606aced64643bea8c70784766b5
Matteo Franchin [Wed, 12 Nov 2014 18:06:14 +0000 (18:06 +0000)]
AArch64: Small improvements.
Remove useless branches (branch to the next instruction).
Change the implicit stack overflow check to do a 32-bit rather than a
64-bit load. Also put the result in wzr, as we do not need it.
Change-Id: I2d29fc62cb757ac5443fdd09282871f734deeef9
Roland Levillain [Fri, 14 Nov 2014 16:27:39 +0000 (16:27 +0000)]
Add support for int-to-short in the optimizing compiler.
- Add support for the int-to-short Dex instruction in the
optimizing compiler.
- Generate x86, x86-64 and ARM (but not ARM64) code for
byte to short, int to short and char to short
HTypeConversion nodes.
- Add related tests to test/422-type-conversion.
Change-Id: If1829549708d9c3473efaa641f7f0bcfa6080ae9
Roland Levillain [Fri, 14 Nov 2014 15:21:32 +0000 (15:21 +0000)]
Merge "Add support for int-to-char in the optimizing compiler."
Vladimir Marko [Fri, 14 Nov 2014 14:36:43 +0000 (14:36 +0000)]
Merge "Keep original order of fields in Class."
Nicolas Geoffray [Wed, 12 Nov 2014 18:08:09 +0000 (18:08 +0000)]
Minor object store optimizations.
- Avoid emitting write barrier when the value is null.
- Do not do a typecheck on an arraystore when storing something that
was loaded from the same array.
Change-Id: I902492928692e4553b5af0fc99cce3c2186c442a
Roland Levillain [Fri, 14 Nov 2014 11:47:14 +0000 (11:47 +0000)]
Add support for int-to-char in the optimizing compiler.
- Add support for the int-to-char Dex instruction in the
optimizing compiler.
- Implement the ARM and Thumb-2 UBFX instructions and add
tests for them.
- Generate x86, x86-64 and ARM (but not ARM64) code for
byte to char, short to char, int to char (and char to
char!) HTypeConversion nodes.
- Add related tests to test/422-type-conversion.
Change-Id: I5cd4c6d86f0f6a966c059715b98db35cc8f9de76
Vladimir Marko [Mon, 10 Nov 2014 18:32:59 +0000 (18:32 +0000)]
Keep original order of fields in Class.
The fields of a class are ordered alphabetically in the dex
file. Keep the same order in the field arrays so that we can
do binary search lookups by name. Those lookups will be
implemented in a subsequent change in libcore/.
Bug:
18211592
(cherry picked from commit
bfa3ed0ad988e1da13626ddbaf6dcae0c58ea79e)
Change-Id: I8f979de62ffe37d1c7d5c721717d2f3501e7c9e6
Vladimir Marko [Fri, 14 Nov 2014 10:51:40 +0000 (10:51 +0000)]
Merge "Quick: Fix arm64 AGET/APUT to use 32-bit index."
Andreas Gampe [Fri, 14 Nov 2014 03:31:25 +0000 (03:31 +0000)]
Merge "ART: Fix last lpae occurrence, Arm64 generic"
Andreas Gampe [Fri, 14 Nov 2014 03:10:33 +0000 (19:10 -0800)]
ART: Fix last lpae occurrence, Arm64 generic
Fix the last occurrence of an lpae string in the default
instruction-set-feature strings (should be removed).
Allow "generic" Arm64 variant (same as "default").
Change-Id: I8bdd9fc7f596245e6541469664db01b3e781c51c
Andreas Gampe [Fri, 14 Nov 2014 00:47:35 +0000 (00:47 +0000)]
Merge "ART: Multiview assembler_test, fix x86-64 assembler"
Andreas Gampe [Wed, 12 Nov 2014 22:05:46 +0000 (14:05 -0800)]
ART: Multiview assembler_test, fix x86-64 assembler
Expose "secondary" names for registers so it is possible to test
32b views for 64b architectures.
Add floating-point register testing.
Refactor assembler_test for better code reuse (and simpler adding
of combination drivers).
Fix movss, movsd (MR instead of RM encoding), xchgl, xchgq,
both versions of EmitGenericShift.
Tighten imull(Reg,Imm), imulq(Reg,Imm), xchgl and xchgq encoding.
Clarify cv*** variants with a comment.
Add tests for movl, addl, imull, imuli, mull, subl, cmpqi, cmpl,
xorq (regs), xorl, movss, movsd, addss, addsd, subss, subsd, mulss,
mulsd, divss, divsd, cvtsi2ss, cvtsi2sd, cvtss2si, cvtss2sd, cvtsd2si,
cvttss2si, cvttsd2si, cvtsd2ss, cvtdq2pd, comiss, comisd, sqrtss,
sqrtsd, xorps, xorpd, fincstp, fsin, fcos, fptan, xchgl (disabled,
see code comment), xchgq, testl, andl, andq, orl, orq, shll, shrl,
sarl, negq, negl, notq, notl, enter and leave, call, ret, and jmp,
and make some older ones more exhaustive.
Follow-up TODOs:
1) Support memory (Address).
2) Support tertiary and quaternary register views.
Bug:
18117217
Change-Id: I1d583a3bec552e3cc7c315925e1e006f393ab687
Ian Rogers [Fri, 14 Nov 2014 00:21:21 +0000 (00:21 +0000)]
Merge "Instruction set features for ARM64, MIPS and X86."
Ian Rogers [Thu, 6 Nov 2014 07:46:43 +0000 (23:46 -0800)]
Instruction set features for ARM64, MIPS and X86.
Also, refactor how feature strings are handled so they are additive or
subtractive.
Make MIPS have features for FPU 32-bit and MIPS v2. Use in the quick compiler
rather than #ifdefs that wouldn't have worked in cross-compilation.
Add SIMD features for x86/x86-64 proposed in:
https://android-review.googlesource.com/#/c/112370/
Bug:
18056890
Change-Id: Ic88ff84a714926bd277beb74a430c5c7d5ed7666
Bill Buzbee [Thu, 13 Nov 2014 23:41:14 +0000 (23:41 +0000)]
Merge "ART: Implicit null check should break def tracking"
Andreas Gampe [Thu, 13 Nov 2014 21:26:09 +0000 (21:26 +0000)]
Merge "ART: Compiled-classes list for compiler-driver"
Andreas Gampe [Tue, 11 Nov 2014 21:28:29 +0000 (13:28 -0800)]
ART: Compiled-classes list for compiler-driver
Similar to the image-classes list, introduce a list of class names
that are to be compiled when creating a boot image. This defaults
to all classes.
Bug:
18336591
(cherry picked from commit
26318f722958ac1cba6a812026a1377f37c54941)
Change-Id: I95f69afdb500a9defb6795803d4040bbe67c5a01
Yabin Cui [Thu, 13 Nov 2014 19:09:36 +0000 (19:09 +0000)]
Merge "kill HAVE_GETHOSTBYNAME_R"
Ian Rogers [Thu, 13 Nov 2014 18:56:03 +0000 (18:56 +0000)]
Merge "Disable DumpNativeStack."
Roland Levillain [Thu, 13 Nov 2014 18:44:47 +0000 (18:44 +0000)]
Merge "Exercise the generation of SBFX on ARM32 & Thumb-2."
Roland Levillain [Thu, 13 Nov 2014 18:44:19 +0000 (18:44 +0000)]
Merge "Add support for int-to-byte in the optimizing compiler."
Ian Rogers [Thu, 13 Nov 2014 18:34:29 +0000 (10:34 -0800)]
Disable DumpNativeStack.
Causes crashes on 004-ThreadStress, already was a no-op on the target.
Bug:
15446488
Change-Id: I9a1541b894087337dafa3fdde00d845f3542b141
Yabin Cui [Thu, 13 Nov 2014 18:29:25 +0000 (10:29 -0800)]
kill HAVE_GETHOSTBYNAME_R
Bug:
18363225
Change-Id: I71a62235db14412d2471f20ea663beb7df7326cd
Ian Rogers [Thu, 13 Nov 2014 18:25:02 +0000 (18:25 +0000)]
Merge "Revert "Unfortunately, the test still hits too many run failures.""
Ian Rogers [Thu, 13 Nov 2014 18:24:52 +0000 (18:24 +0000)]
Revert "Unfortunately, the test still hits too many run failures."
This reverts commit
05b6570eb63d1236d38b1bb8b4ebeb8d36a76c31.
Change-Id: I8e0143e59e4e2f66930f04ecf295ed01418a7135
Roland Levillain [Thu, 13 Nov 2014 18:03:06 +0000 (18:03 +0000)]
Exercise the generation of SBFX on ARM32 & Thumb-2.
Exercise the generation of the ARM SBFX intruction in
compiler/utils/arm/assembler_arm32_test.cc (ARM
instruction set encoding) and in
compiler/utils/arm/assembler_thumb2_test.cc (Thumb
instruction set encoding).
Change-Id: Ic72683aac6dd6628e227523e352c395e1a63b52e
Calin Juravle [Thu, 13 Nov 2014 17:33:20 +0000 (17:33 +0000)]
Merge "[optimizing compiler] Add 014-math3 to the list of arm64 broken tests"
Calin Juravle [Thu, 13 Nov 2014 17:32:29 +0000 (17:32 +0000)]
Merge "[optimizing compiler] Rename dex_offset to dex_pc in the builder"
Calin Juravle [Thu, 13 Nov 2014 17:31:59 +0000 (17:31 +0000)]
[optimizing compiler] Add 014-math3 to the list of arm64 broken tests
Change-Id: I71f48c55eaf86113c1b19c490939bb1518f8dd9e
Roland Levillain [Thu, 13 Nov 2014 14:11:42 +0000 (14:11 +0000)]
Add support for int-to-byte in the optimizing compiler.
- Add support for the int-to-byte Dex instruction in the
optimizing compiler.
- Implement the ARM and Thumb-2 SBFX instructions.
- Generate x86, x86-64 and ARM (but not ARM64) code for
char to byte, short to byte and int to byte
HTypeConversion nodes.
- Add related tests to test/422-type-conversion.
Change-Id: Ic8b8911b90d4b5281fad15bcee96bc3ee85dc577
Calin Juravle [Thu, 13 Nov 2014 16:46:39 +0000 (16:46 +0000)]
[optimizing compiler] Rename dex_offset to dex_pc in the builder
The term dex offset comes from Dalvik where these were addresses in
memory. Currently these should be dex PCs, namely offsets from the start
of code items. Quick lacks this clean up but there's no need to bring
over the convention to optimizing.
(thanks to irogers for the commit message text)
Change-Id: If86c0cf021a06f04a21462053e9d5f31bba7f65d
Calin Juravle [Thu, 13 Nov 2014 16:28:16 +0000 (16:28 +0000)]
Merge "[optimizing compiler] Fix Move for instruction with constant output"
Calin Juravle [Thu, 13 Nov 2014 15:53:04 +0000 (15:53 +0000)]
[optimizing compiler] Fix Move for instruction with constant output
Change-Id: I15d89292dc62f8dd8643530f95ace2e8be034411
Vladimir Marko [Thu, 13 Nov 2014 14:27:54 +0000 (14:27 +0000)]
Merge "Use correct register class for refs"
Pavel Vyssotski [Thu, 13 Nov 2014 12:25:23 +0000 (18:25 +0600)]
ART: Implicit null check should break def tracking
Implicit null check can provoke exception that needs to be sure all VRs are saved on stack.
The fix is to reset the def tracking system at the moment of adding an implicit null check.
Change-Id: Ie8a32b727086438e04e745d4a3f87f096ff36cac
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
Vladimir Marko [Fri, 7 Nov 2014 16:11:00 +0000 (16:11 +0000)]
Quick: Fix arm64 AGET/APUT to use 32-bit index.
Change-Id: Iaa230024c934fc0ff7e45dcbebeb6c0e94e1af63
Calin Juravle [Thu, 13 Nov 2014 11:16:37 +0000 (11:16 +0000)]
Merge "[optimizing compiler] Add DIV_LONG"