OSDN Git Service
Vladimir Marko [Thu, 9 Apr 2015 13:13:13 +0000 (14:13 +0100)]
Avoid using dex cache array pointers in libart.
In preparation for making dex cache arrays native, avoid
using them in Java code.
This causes a performance regression for our reflection
benchmarks. Class_getDeclaredMethod and Class_getMethod
take an up to 30% hit, measured using the Quick compiler.
We accept this hit at this stage and we will tune the
performance after we're done with the larger effort.
Companion libcore/ change:
https://android-review.googlesource.com/146069
Bug:
20134538
Change-Id: Ibbef3b50043a1311cd40723ed42e1f1c609b8fc1
Vladimir Marko [Wed, 8 Apr 2015 17:08:04 +0000 (17:08 +0000)]
Merge "Quick: Clean up temp use counting."
Sebastien Hertz [Wed, 8 Apr 2015 16:42:38 +0000 (16:42 +0000)]
Merge "Fix JDWP race at runtime shutdown"
Andreas Gampe [Wed, 8 Apr 2015 16:07:41 +0000 (16:07 +0000)]
Merge "[optimizing] Implement more x86/x86_64 intrinsics"
Vladimir Marko [Wed, 8 Apr 2015 09:01:01 +0000 (10:01 +0100)]
Quick: Clean up temp use counting.
For the boot image on arm64 and x86-64 we're using true
PC-relative addressing, so pc_rel_temp_ is nullptr and
CanUsePcRelDexCacheArrayLoad() returns true, but we're not
actually using the ArtMethod* so fix the AnalyzeMIR() to
take it into account.
Also don't count intrinsic invokes towards ArtMethod* uses.
To avoid repeated method inliner inquiries about whether a
method is intrinsic or special (requiring lock acquisition),
cache that information in MirMethodLoweringInfo. As part of
that cleanup, take quickened invokes into account for
suspend check elimination.
Change-Id: I5b4ec124221c0db1314c8e72675976c110ebe7ca
David Srbecky [Wed, 8 Apr 2015 12:30:18 +0000 (12:30 +0000)]
Merge "Remove the old CFI infrastructure."
Roland Levillain [Wed, 8 Apr 2015 08:50:47 +0000 (08:50 +0000)]
Merge "Exercise art::arm::Thumb2Assembler::StoreToOffset for words."
Sebastien Hertz [Wed, 8 Apr 2015 08:49:19 +0000 (08:49 +0000)]
Merge "Ignore not yet loaded classes during hprof"
Andreas Gampe [Wed, 8 Apr 2015 03:06:26 +0000 (03:06 +0000)]
Merge "ART: Remove LLVM cruft"
Andreas Gampe [Wed, 8 Apr 2015 02:58:03 +0000 (19:58 -0700)]
ART: Remove LLVM cruft
Change-Id: I133ebed6101bf12a0642ed71e13f332c0c4f14e7
Andreas Gampe [Wed, 8 Apr 2015 00:37:23 +0000 (00:37 +0000)]
Merge "ART: Fix 64-bit ELF file support"
Andreas Gampe [Tue, 7 Apr 2015 23:09:30 +0000 (16:09 -0700)]
ART: Fix 64-bit ELF file support
The API wasn't cross-compile-safe, 32-bit patchoat would fail for
negative delta applied to a 64-bit ELF file.
Add 64-bit ELF file output to the compilers, behind a flag, currently
off by default (preserving current behavior).
Bug:
20095017
Change-Id: I2cde7b4c7cc83413c76692d7b745868d644a604c
Vladimir Marko [Tue, 7 Apr 2015 19:34:39 +0000 (19:34 +0000)]
Merge "Promote pointer to dex cache arrays on arm."
Vladimir Marko [Tue, 7 Apr 2015 19:34:01 +0000 (19:34 +0000)]
Merge "PC-relative loads from dex cache arrays for arm."
David Srbecky [Tue, 7 Apr 2015 18:46:22 +0000 (19:46 +0100)]
Remove the old CFI infrastructure.
Change-Id: I12a17a8a1c39ffccaa499c328ebac36e4d74dc4e
Vladimir Marko [Tue, 7 Apr 2015 19:01:32 +0000 (19:01 +0000)]
Merge "Quick: Use PC-relative dex cache array loads for SGET/SPUT."
Mathieu Chartier [Tue, 7 Apr 2015 18:24:13 +0000 (18:24 +0000)]
Merge "Fix CC root visiting bug"
Vladimir Marko [Tue, 7 Apr 2015 08:36:09 +0000 (09:36 +0100)]
Promote pointer to dex cache arrays on arm.
Do the use-count analysis on temps (ArtMethod* and the new
PC-relative temp) in Mir2Lir, rather than MIRGraph. MIRGraph
isn't really supposed to know how the ArtMethod* is used by
the backend.
Change-Id: Iaf56a46ae203eca86281b02b54f39a80fe5cc2dd
Vladimir Marko [Mon, 6 Apr 2015 11:10:19 +0000 (12:10 +0100)]
PC-relative loads from dex cache arrays for arm.
Change-Id: Ic25df4b51a901ff1d2ca356b5eec71d4acc5d9b7
Vladimir Marko [Tue, 7 Apr 2015 08:56:48 +0000 (09:56 +0100)]
Quick: Use PC-relative dex cache array loads for SGET/SPUT.
Change-Id: I890284b73f69120ada5cf9b9ef4a717af3273cd2
Mathieu Chartier [Tue, 7 Apr 2015 17:39:04 +0000 (10:39 -0700)]
Fix CC root visiting bug
Also some cleanup.
Change-Id: Ia3de8f2d409770be3619ec116e8b06ecd82338fe
David Brazdil [Tue, 7 Apr 2015 17:33:43 +0000 (17:33 +0000)]
Merge "ART: Print C1vis header only if visualizer enabled"
Andreas Gampe [Tue, 7 Apr 2015 17:29:21 +0000 (17:29 +0000)]
Merge "ART: Remove unused variables."
David Brazdil [Tue, 7 Apr 2015 17:09:37 +0000 (18:09 +0100)]
ART: Print C1vis header only if visualizer enabled
Setting kStringFilter currently suppresses graph dumps of non-matching
methods but their headers are still printed. This fixes the issue.
Change-Id: Ib33fb20fcca2bf409534a824e7f76f1feb85724d
Andreas Gampe [Tue, 7 Apr 2015 16:51:52 +0000 (09:51 -0700)]
ART: Remove unused variables.
Curious that neither Clang nor GCC flagged those.
Change-Id: Ie1866d8171651c768e378d829a669cc57cab1f09
Calin Juravle [Tue, 7 Apr 2015 16:03:19 +0000 (16:03 +0000)]
Merge "Remove fuzzer build-time dependency on core image."
Calin Juravle [Tue, 7 Apr 2015 11:31:39 +0000 (12:31 +0100)]
Remove fuzzer build-time dependency on core image.
Test if the image exists at runtime.
Forcing this dependency slows down development. For example, if after a
change dex2oat does not compile anymore you need to first revert to a
stable state and rebuild the core image to be able to move foreward.
Since this is a test tool, it is ok to assume that the core image has
already been built if host execution was selected.
Change-Id: Id61a960ba62bb8d1d21acb07114f72208fbc9720
Sebastien Hertz [Tue, 7 Apr 2015 15:16:13 +0000 (15:16 +0000)]
Merge "JDWP: clear exception when allocation fails"
David Srbecky [Tue, 7 Apr 2015 12:38:57 +0000 (12:38 +0000)]
Merge "Fix address formatting in Mips64 disassembler."
David Srbecky [Tue, 7 Apr 2015 12:38:16 +0000 (12:38 +0000)]
Merge "Build 32-bit version of the disassembler as well."
David Srbecky [Tue, 7 Apr 2015 12:36:40 +0000 (12:36 +0000)]
Merge "Proper fix for issue
20051601 - arm actually means thumb2."
Sebastien Hertz [Tue, 7 Apr 2015 08:28:53 +0000 (10:28 +0200)]
Ignore not yet loaded classes during hprof
Skips classes that are no yet loaded because we cannot access its
fields nor its superclass. This CL fixes a crash observed during the
run-test 130-hprof.
Bug:
20040824
Change-Id: Ia618b6c1579d35dfd726726ca6d2ff4258d8a841
Mark Mendell [Fri, 3 Apr 2015 18:52:31 +0000 (14:52 -0400)]
[optimizing] Implement more x86/x86_64 intrinsics
Implement CAS and bit reverse and byte reverse intrinsics that were
missing from x86 and x86_64 implementations.
Add assembler tests and compareAndSwapLong test.
Change-Id: Iabb2ff46036645df0a91f640288ef06090a64ee3
Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Andreas Gampe [Tue, 7 Apr 2015 03:00:11 +0000 (03:00 +0000)]
Merge "Revert "ART: Fix noreturn for Mac""
Andreas Gampe [Tue, 7 Apr 2015 02:53:04 +0000 (02:53 +0000)]
Revert "ART: Fix noreturn for Mac"
missing-noreturn was turned off for Mac for all the
other similar warnings. Restore the cleaner header
file.
This reverts commit
79dda4251d7e3a7888e326bc7a3f069d6190d194.
Change-Id: Ia25a47533ff7848ad96e0d76e7f0ea768a48f946
Andreas Gampe [Tue, 7 Apr 2015 02:51:52 +0000 (02:51 +0000)]
Merge "ART: Turn off missing-noreturn for Mac"
Andreas Gampe [Tue, 7 Apr 2015 02:50:46 +0000 (19:50 -0700)]
ART: Turn off missing-noreturn for Mac
Too much stuff unimplemented and causing warnings.
Change-Id: I43bae875f1eca3cc24e03b0e7d6fdfd2adae0cbd
Andreas Gampe [Tue, 7 Apr 2015 01:07:32 +0000 (01:07 +0000)]
Merge "ART: Add support for "silvermont" variant"
Andreas Gampe [Tue, 7 Apr 2015 00:22:38 +0000 (00:22 +0000)]
Merge "ART: Fix noreturn for Mac"
Andreas Gampe [Tue, 7 Apr 2015 00:17:34 +0000 (17:17 -0700)]
ART: Fix noreturn for Mac
Change-Id: I59b60340a90672a4de4d3bdf092fa504394d5892
Mathieu Chartier [Tue, 7 Apr 2015 00:13:31 +0000 (00:13 +0000)]
Merge "Add more logging for debugging possible deadlock"
Mathieu Chartier [Tue, 7 Apr 2015 00:10:58 +0000 (17:10 -0700)]
Add more logging for debugging possible deadlock
Change-Id: I4b2db54504d3ed8c2c33a110191488cab1fcb2d9
Jeff Hao [Mon, 6 Apr 2015 23:08:41 +0000 (23:08 +0000)]
Merge "Prevent verified method from being deleted by compiler driver."
Andreas Gampe [Mon, 6 Apr 2015 22:59:53 +0000 (22:59 +0000)]
Merge "Fix JNI compiler for mips64"
Jeff Hao [Mon, 6 Apr 2015 21:21:37 +0000 (14:21 -0700)]
Prevent verified method from being deleted by compiler driver.
The results of it will be needed by future optimizing compiler changes.
Change-Id: Ifbdf47e7564906b74193f80a4ba0459eed87c0f7
Goran Jakovljevic [Fri, 3 Apr 2015 13:45:21 +0000 (15:45 +0200)]
Fix JNI compiler for mips64
Fix assembly instructions in JNI stub to store the right size. Fix
callee-saves in JNI calling convention to reflect return registers.
Fix pointer size in mips64 assembler.
Change-Id: I4eccd1f56f62fa9119918192ec424e9073398bc7
Andreas Gampe [Mon, 6 Apr 2015 22:35:41 +0000 (22:35 +0000)]
Merge "ART: Fix gtests for missing-noreturn"
Andreas Gampe [Mon, 6 Apr 2015 22:35:02 +0000 (15:35 -0700)]
ART: Fix gtests for missing-noreturn
gtest.h isn't sufficiently annotated.
Change-Id: I3d5fac8bcdd645227bfd7886c3aa781b225fcc9c
Andreas Gampe [Mon, 6 Apr 2015 21:44:50 +0000 (21:44 +0000)]
Merge "ART: Make unknown variant "mips64r6" go away"
Andreas Gampe [Mon, 6 Apr 2015 21:40:36 +0000 (14:40 -0700)]
ART: Make unknown variant "mips64r6" go away
It's the standard variant, accept it just like "default."
Change-Id: I9b600345e3e1ebfb508ffe22ddde17757be2172e
Andreas Gampe [Mon, 6 Apr 2015 21:34:51 +0000 (21:34 +0000)]
Merge "ART: Fix no-return in sigchainlib"
Andreas Gampe [Mon, 6 Apr 2015 21:33:54 +0000 (14:33 -0700)]
ART: Fix no-return in sigchainlib
Ignore warning in sigchain_dummy.
Change-Id: I2c9ed93c0125d06b6a3d4011a794b062cf1c4093
Andreas Gampe [Mon, 6 Apr 2015 21:21:05 +0000 (21:21 +0000)]
Merge "ART: Enable more Clang warnings"
Andreas Gampe [Mon, 6 Apr 2015 16:35:22 +0000 (09:35 -0700)]
ART: Enable more Clang warnings
Change-Id: Ie6aba02f4223b1de02530e1515c63505f37e184c
Andreas Gampe [Mon, 6 Apr 2015 21:04:16 +0000 (21:04 +0000)]
Merge "ART: Enable Clang's -Wdeprecated"
Andreas Gampe [Sat, 4 Apr 2015 04:28:42 +0000 (21:28 -0700)]
ART: Enable Clang's -Wdeprecated
Replace throw() with noexcept.
Add default copy constructors and copy assignment constructors for
cases with destructors, as the implicit definition is deprecated.
Change-Id: Ice306a3f510b072b00bec4d4360f7c8055135c9d
Andreas Gampe [Mon, 6 Apr 2015 20:36:03 +0000 (20:36 +0000)]
Merge "ART: Add Clang's -Wused-but-marked-unused"
Mathieu Chartier [Mon, 6 Apr 2015 17:59:37 +0000 (17:59 +0000)]
Merge "Refactor and improve GC root handling"
David Srbecky [Mon, 6 Apr 2015 17:42:26 +0000 (18:42 +0100)]
Fix address formatting in Mips64 disassembler.
Use FormatInstructionPointer like all the other disassemblers.
This ensures that the 'absolute_addresses' option is honoured.
Change-Id: I5580319cc4fad40e00f3fbbde25b142f7c689390
Mathieu Chartier [Fri, 3 Apr 2015 18:21:55 +0000 (11:21 -0700)]
Refactor and improve GC root handling
Changed GcRoot to use compressed references. Changed root visiting to
use virtual functions instead of function pointers. Changed root visting
interface to be an array of roots instead of a single root at a time.
Added buffered root marking helper to avoid dispatch overhead.
Root marking seems a bit faster on EvaluateAndApplyChanges due to batch
marking. Pause times unaffected.
Mips64 is untested but might work, maybe.
Before:
MarkConcurrentRoots: Sum: 67.678ms 99% C.I. 2us-664.999us Avg: 161.138us Max: 671us
After:
MarkConcurrentRoots: Sum: 54.806ms 99% C.I. 2us-499.986us Avg: 136.333us Max: 602us
Bug:
19264997
Change-Id: I0a71ebb5928f205b9b3f7945b25db6489d5657ca
David Srbecky [Mon, 6 Apr 2015 17:36:59 +0000 (18:36 +0100)]
Build 32-bit version of the disassembler as well.
Change-Id: I22ecc2611c3b05b1031b42abdb5bf8c245220e03
Vladimir Marko [Mon, 6 Apr 2015 09:01:34 +0000 (09:01 +0000)]
Merge "Pass linker patches around as const."
Mathieu Chartier [Sun, 5 Apr 2015 20:21:11 +0000 (20:21 +0000)]
Merge "Delete missed ClampGrowthLimit CHECK"
David Srbecky [Sat, 4 Apr 2015 09:15:17 +0000 (10:15 +0100)]
Proper fix for issue
20051601 - arm actually means thumb2.
Change-Id: I38e81868cbebdccec6ecbba40494612f7c1d8092
Andreas Gampe [Sat, 4 Apr 2015 02:41:34 +0000 (19:41 -0700)]
ART: Add Clang's -Wused-but-marked-unused
Add detection of wrong unused annotations. Fix our codebase.
Change-Id: I85cc20f2eac71c1ec6c5c7cd6efb08454a629634
Mathieu Chartier [Sat, 4 Apr 2015 02:08:10 +0000 (19:08 -0700)]
Delete missed ClampGrowthLimit CHECK
Bug:
20043461
Change-Id: If4a0bb91c64571945756151be162f3626534781c
Mingyao Yang [Sat, 4 Apr 2015 01:27:19 +0000 (01:27 +0000)]
Merge "Add missing RecordPcInfo's for intrinsics_x86."
Mingyao Yang [Sat, 4 Apr 2015 00:56:54 +0000 (17:56 -0700)]
Add missing RecordPcInfo's for intrinsics_x86.
Change-Id: I5ad856e57f63e2bd350f62e7023911c276427edd
Andreas Gampe [Fri, 3 Apr 2015 21:42:06 +0000 (21:42 +0000)]
Merge "ART: Turn of native stack dump on x86 on-device"
Andreas Gampe [Fri, 3 Apr 2015 21:36:07 +0000 (14:36 -0700)]
ART: Turn of native stack dump on x86 on-device
Temporary workaround for bug.
Bug:
20040863
Change-Id: Ifdde68c66b94ebc2f13c7983f38700c8bcf41559
Andreas Gampe [Fri, 3 Apr 2015 20:46:54 +0000 (13:46 -0700)]
ART: Add support for "silvermont" variant
The variant is already supported in the build system and wired up
for the Nexus Player (fugu). The values are copied from the build
system and correspond to documentation in, e.g.,
http://www.intel.com/content/dam/www/public/us/en/documents/manuals/64-ia-32-architectures-optimization-manual.pdf
chapter 15, section 1.1.
Change-Id: I9facaa9d5b8bae3d98cf48f2969d02d11ebfe0e4
Hiroshi Yamauchi [Fri, 3 Apr 2015 21:06:51 +0000 (21:06 +0000)]
Merge "Fix the read barrier builds."
Hiroshi Yamauchi [Fri, 3 Apr 2015 20:35:16 +0000 (13:35 -0700)]
Fix the read barrier builds.
A check failure (!UseJit() in ArtMethod::Invoke()) in forced interpret
only mode in the eng build with JIT enabled by default on target.
A build failure (inl header file issues) in the USE_BAKER_READ_BARRIER
build.
Change-Id: Ib13632b10864ad8b4691b66971c0ab5d2ae1e675
Sebastien Hertz [Fri, 3 Apr 2015 18:12:22 +0000 (18:12 +0000)]
Merge "Use va_list argument to abort transaction"
Dmitriy Ivanov [Fri, 3 Apr 2015 17:49:53 +0000 (17:49 +0000)]
Merge "Delegate SIG_DFL on sigaction to libc."
Richard Uhler [Fri, 3 Apr 2015 17:47:14 +0000 (17:47 +0000)]
Merge "Store OatDexFile instead of OatFile in DexFile."
Dmitriy Ivanov [Fri, 3 Apr 2015 01:30:22 +0000 (18:30 -0700)]
Delegate SIG_DFL on sigaction to libc.
In the case when user registers SIG_DFL hanlder
sigchainlib's handler tends to go into infinite loop
because the function handling signals resets signal
using by calling to signchain's own implementation.
This cl fixes the problem by passing sigcations with
SIG_DFL to the next sigaction (usually libc's).
Bug:
19594886
Change-Id: I9eecf9afd1c7e6d1fe3cd1d4fc506383ecbebe04
Nicolas Geoffray [Fri, 3 Apr 2015 17:08:52 +0000 (17:08 +0000)]
Merge "Fix a bug when creating a HDeoptimization instruction."
Andreas Gampe [Fri, 3 Apr 2015 16:48:26 +0000 (16:48 +0000)]
Merge "ART: Avoid obvious segfault in arm & x86 fault handler"
Elliott Hughes [Fri, 3 Apr 2015 15:37:00 +0000 (15:37 +0000)]
Merge "Explicitly specify the C libraries that have mallinfo(3)."
Sebastien Hertz [Fri, 3 Apr 2015 14:07:05 +0000 (16:07 +0200)]
Use va_list argument to abort transaction
Creates AbortTransactionV taking a va_list argument and renames
AbortTransaction to AbortTransactionF which calls AbortTransactionV.
This fixes the compiler_driver_test under valgrind.
Change-Id: Ia1c57330091c055ae9e46585a944ce0b78864920
Nicolas Geoffray [Fri, 3 Apr 2015 10:02:38 +0000 (11:02 +0100)]
Fix a bug when creating a HDeoptimization instruction.
We need to copy the environment, instead of just pointing
to an existing one. Otherwise, if the instruction that initially
holds the environemnt gets removed from the graph, any update
to an instruction in that environment will not be reflected in it.
bug:
20058506
Change-Id: I2a62476d0851ecbc3707c0da395d8502ee437422
Andreas Gampe [Fri, 3 Apr 2015 09:17:06 +0000 (02:17 -0700)]
ART: Avoid obvious segfault in arm & x86 fault handler
These handlers need to read an instruction to determine where to
look for info. Don't try to read from pc=0.
Bug:
20040863
Change-Id: I38b56dc6dd806df22e608ee8d46c4091a738e4bc
Sebastien Hertz [Fri, 3 Apr 2015 08:00:37 +0000 (08:00 +0000)]
Merge "Revert "ART: Workaround for b/
20019689""
Sebastien Hertz [Thu, 2 Apr 2015 09:09:04 +0000 (09:09 +0000)]
Revert "ART: Workaround for b/
20019689"
This reverts commit
328dd4457632f59e67d08d9d086670b56141a4b1.
Bug:
20019689
Change-Id: Ia1087e45d1a1817b6ff4e45f8d74b84d34f078ee
Sebastien Hertz [Fri, 3 Apr 2015 07:49:44 +0000 (07:49 +0000)]
Merge "Use specific exception class to abort transaction"
Sebastien Hertz [Thu, 2 Apr 2015 09:11:19 +0000 (11:11 +0200)]
Use specific exception class to abort transaction
We used to throw a java.lang.InternalError when aborting a
transaction (when preinitializing image classes at compilation time).
We now use dedicated class dalvik.system.TransactionAbortError that
is only thrown by the compiler to abort a transaction. This class has
constructors taking a java.lang.Throwable "cause" so we can wrap
exceptions causing the transaction to abort (for instance class
java.lang.ClassNotFoundException) and give more information about the
cause of the transaction abort.
Bug:
20019689
Change-Id: I019a72a1c754d8bba6a7ad6bb0f02e4fd6668622
Elliott Hughes [Fri, 3 Apr 2015 03:55:07 +0000 (20:55 -0700)]
Explicitly specify the C libraries that have mallinfo(3).
Change-Id: Ib6d22134cb246e30452a7ed9acabbde42b3ef091
Andreas Gampe [Fri, 3 Apr 2015 02:03:34 +0000 (02:03 +0000)]
Merge "ART: Move trace options to a struct"
Andreas Gampe [Fri, 3 Apr 2015 01:51:05 +0000 (18:51 -0700)]
ART: Move trace options to a struct
Bundles the different options and moves them to a struct in the
implementation file. Will allow for easier change for streaming.
Change-Id: I486e0942614e714964eb233e2d6b4e3e12aa704f
Andreas Gampe [Thu, 2 Apr 2015 23:48:54 +0000 (23:48 +0000)]
Merge "Revert "ART: Valgrind hotfix for VIXL 1.9""
Andreas Gampe [Thu, 2 Apr 2015 23:10:46 +0000 (23:10 +0000)]
Merge "[optimizing] Implement x86/x86_64 math intrinsics"
Andreas Gampe [Thu, 2 Apr 2015 22:49:38 +0000 (22:49 +0000)]
Merge "Fix for issue
20051601 - ARM instruction alignment."
Dmitriy Ivanov [Thu, 2 Apr 2015 22:33:25 +0000 (22:33 +0000)]
Merge "Remove version-script option"
Dmitriy Ivanov [Wed, 1 Apr 2015 18:17:46 +0000 (11:17 -0700)]
Remove version-script option
Version script was used to limit number of symbols
exposed by main executable because of --export-dynamic
option. This was overthinking on my part which can
lead to unwanted side-effects like not working asan.
Change-Id: Iaab4d38f86ddf21357d26d21d35c9ed6e7ff989e
Vladimir Marko [Thu, 2 Apr 2015 20:25:21 +0000 (21:25 +0100)]
Pass linker patches around as const.
Change-Id: I0eabd713d29475db9eb6e186f331dbfb00e0cf6b
Vladimir Marko [Thu, 2 Apr 2015 19:51:49 +0000 (19:51 +0000)]
Merge "Split RelativePatcher::ReserveSpace() into two."
David Srbecky [Thu, 2 Apr 2015 19:38:40 +0000 (20:38 +0100)]
Fix for issue
20051601 - ARM instruction alignment.
The instructions do not have to be 4 byte aligned.
Change-Id: I58078a15190b835601094611ed01a599e2d99563
Vladimir Marko [Thu, 2 Apr 2015 18:45:06 +0000 (19:45 +0100)]
Split RelativePatcher::ReserveSpace() into two.
Instead of passing nullptr and MethodReference(nullptr, 0u)
to ReserveSpace() at the end, call a newly created function
ReserveSpaceEnd().
Change-Id: I38815fe9464b4e1a919878b6e8577614f1058d00
Vladimir Marko [Thu, 2 Apr 2015 19:07:17 +0000 (19:07 +0000)]
Merge "Add tests for Arm64RelativePatcher."