OSDN Git Service
Calin Juravle [Thu, 6 Aug 2015 17:58:12 +0000 (17:58 +0000)]
am
7fbaa22e: Merge "ART: Fix the simplifier for add/sub"
* commit '
7fbaa22e10979cf17b8c1c0c96bef4919e9d4163':
ART: Fix the simplifier for add/sub
Calin Juravle [Thu, 6 Aug 2015 17:49:55 +0000 (17:49 +0000)]
Merge "ART: Fix the simplifier for add/sub"
Serguei Katkov [Wed, 5 Aug 2015 11:03:30 +0000 (17:03 +0600)]
ART: Fix the simplifier for add/sub
Instruction simplifier for add/sub should not proceed with floats
because that might cause the incorrect behavior with signed zero.
Change-Id: If0c9bf3931bcbf96b0814f8605a86997aea37145
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Sebastien Hertz [Thu, 6 Aug 2015 14:52:47 +0000 (14:52 +0000)]
am
a27a67c9: Merge "Fix image loading in interpeter-only mode"
* commit '
a27a67c98e12cd1a90431704a6d7bcbd546667fd':
Fix image loading in interpeter-only mode
Sebastien Hertz [Thu, 6 Aug 2015 14:48:55 +0000 (14:48 +0000)]
am
bc7db535: Merge "Fix DDM reply buffer deallocation"
* commit '
bc7db5356a68cf44d6497f6956e8a97dc9355b80':
Fix DDM reply buffer deallocation
Sebastien Hertz [Thu, 6 Aug 2015 14:46:41 +0000 (14:46 +0000)]
Merge "Fix image loading in interpeter-only mode"
Sebastien Hertz [Thu, 6 Aug 2015 14:43:58 +0000 (14:43 +0000)]
Merge "Fix DDM reply buffer deallocation"
Sebastien Hertz [Thu, 6 Aug 2015 10:52:43 +0000 (12:52 +0200)]
Fix image loading in interpeter-only mode
Follow-up https://android-review.googlesource.com/162935. We now need
an ArtMethodVisitor to update entrypoints of methods in the image.
Bug:
22832610
Change-Id: I30ca9c369a73c3372694b446e73afa2e37890a65
Mathieu Chartier [Thu, 6 Aug 2015 12:33:35 +0000 (12:33 +0000)]
am
1f3f766d: Merge "Move ArtFields and ArtMethods to be a length prefixed array"
* commit '
1f3f766d3b365d01f36b85dc19d40f754fa48533':
Move ArtFields and ArtMethods to be a length prefixed array
Sebastien Hertz [Thu, 6 Aug 2015 09:37:02 +0000 (11:37 +0200)]
Fix DDM reply buffer deallocation
Reply buffer is an uint8_t* allocated with new uint8_t[...] so it
must be deallocated with delete[], not free.
Change-Id: Ib5d6387aa63f1e0393113f82602f661bbada4aa2
Mathieu Chartier [Thu, 6 Aug 2015 03:12:39 +0000 (03:12 +0000)]
Merge "Move ArtFields and ArtMethods to be a length prefixed array"
Mathieu Chartier [Thu, 30 Jul 2015 23:20:06 +0000 (16:20 -0700)]
Move ArtFields and ArtMethods to be a length prefixed array
Fixes race conditions between changing method and fields arrays
being seen in the wrong order by the GC.
Bug:
22832610
Change-Id: Ia21d6698f73ba207a6392c3d6b9be2658933073f
Andreas Gampe [Wed, 5 Aug 2015 23:38:50 +0000 (23:38 +0000)]
am
275bc5e5: Merge "ART: Extend ISA features option for (host) run tests"
* commit '
275bc5e5f318ba6ea1bad6c89c2924d1248b7523':
ART: Extend ISA features option for (host) run tests
Andreas Gampe [Wed, 5 Aug 2015 23:06:02 +0000 (23:06 +0000)]
Merge "ART: Extend ISA features option for (host) run tests"
Andreas Gampe [Wed, 5 Aug 2015 16:24:45 +0000 (09:24 -0700)]
ART: Extend ISA features option for (host) run tests
To allow to test advanced intrinsics only available on (fairly)
modern processors, and because our build requirements are still
too low to enable them in the build system, pipe through the
existing make variables to the run-tests to allow to override
the dex2oat autodetection scheme.
Usage (standalone run-test): use the new --instruction-set-features
command line parameter to set the value for dex2oat (in the prebuild
configuration) or as an -Xcompiler-option (for no-prebuild). Note:
this is general and also works for target tests.
Usage (through make): set DEX2OAT_HOST_INSTRUCTION_SET_FEATURES and
2ND_DEX2OAT_HOST_INSTRUCTION_SET_FEATURES to set instruction set
features, as was possible before for the compilation of core files.
This option is now forwarded to host run-tests.
Change-Id: I9d89c82b6a5c8853748e5d1c153dde5d4050757a
Andreas Gampe [Wed, 5 Aug 2015 19:06:54 +0000 (19:06 +0000)]
am
d8406781: Merge "ART: Wire up DexToDexCompiler without extern"
* commit '
d8406781fdb8917ae0c45c1e2194f9a5ab874e78':
ART: Wire up DexToDexCompiler without extern
Andreas Gampe [Wed, 5 Aug 2015 18:59:25 +0000 (18:59 +0000)]
Merge "ART: Wire up DexToDexCompiler without extern"
Andreas Gampe [Thu, 23 Jul 2015 08:19:26 +0000 (01:19 -0700)]
ART: Wire up DexToDexCompiler without extern
The extern declaration actually had the wrong signature, a parameter
was missing, and we never noticed.
Remove the function field and extern. Add a header for the compiler.
Use the header file.
Change-Id: Ia4d4dd86211da6045709a45c7bf8430471d1b62b
Igor Murashkin [Wed, 5 Aug 2015 18:23:03 +0000 (18:23 +0000)]
am
02f0771b: Merge "Revert "cleanup: Replace pointers with out-parameters and fix-up formatting""
* commit '
02f0771bba69edd34b0b112902bb9132ed099c75':
Revert "cleanup: Replace pointers with out-parameters and fix-up formatting"
Igor Murashkin [Wed, 5 Aug 2015 18:18:59 +0000 (18:18 +0000)]
Merge "Revert "cleanup: Replace pointers with out-parameters and fix-up formatting""
Mathieu Chartier [Wed, 5 Aug 2015 18:08:39 +0000 (18:08 +0000)]
am
94800f46: Merge "Address some comments and clean up"
* commit '
94800f46da0aded5152545322ad842f89e8a21d8':
Address some comments and clean up
Mathieu Chartier [Wed, 5 Aug 2015 18:02:53 +0000 (18:02 +0000)]
Merge "Address some comments and clean up"
Mathieu Chartier [Wed, 5 Aug 2015 17:49:05 +0000 (17:49 +0000)]
am
46e0f460: Merge "Fix mod-union logic for native roots"
* commit '
46e0f460aa233a4a0ac161bfafde164357fe2b26':
Fix mod-union logic for native roots
Mathieu Chartier [Wed, 5 Aug 2015 17:42:56 +0000 (17:42 +0000)]
Merge "Fix mod-union logic for native roots"
Mathieu Chartier [Wed, 5 Aug 2015 17:10:07 +0000 (10:10 -0700)]
Fix mod-union logic for native roots
Bug:
22949217
Change-Id: I9e4631870160d5a9412df1eec2a7b79c65668542
Roland Levillain [Wed, 5 Aug 2015 12:57:11 +0000 (12:57 +0000)]
am
13394093: Merge "Have constant folding be more flexible."
* commit '
1339409345cc8b46d64570430ca3197408fda159':
Have constant folding be more flexible.
Roland Levillain [Wed, 5 Aug 2015 12:52:12 +0000 (12:52 +0000)]
Merge "Have constant folding be more flexible."
Roland Levillain [Wed, 5 Aug 2015 10:11:10 +0000 (10:11 +0000)]
am
902ec264: Merge "Add constant folding for long unary operations in opt. compiler."
* commit '
902ec264e1040cbfd783c44809ed10b261bd78ee':
Add constant folding for long unary operations in opt. compiler.
Roland Levillain [Wed, 5 Aug 2015 10:03:46 +0000 (10:03 +0000)]
Merge "Add constant folding for long unary operations in opt. compiler."
Roland Levillain [Wed, 5 Aug 2015 09:21:34 +0000 (10:21 +0100)]
Have constant folding be more flexible.
- Have Evaluate methods take as argument(s) and return value
instances of HConstant (instead of built-in 32- or 64-bit
integer values), to let the evaluated instruction choose
the type of the statically evaluated node; for instance,
art::HEqual::Evaluate shall return a HIntConstant
node (as implementation of a Boolean constant) whatever
the type of its inputs (a pair of HIntConstant or a pair
of HLongConstant).
- Split the evaluation job from the operation logic: the
former is addressed by Evaluate methods, while the latter
is done by a generic Compute method.
- Adress valid BinOp(int, long) and BinOp(long, int) cases.
- Add a constructor to art::HIntConstant to build an integer
constant from a `bool` value.
Change-Id: If84b6fe8406bb94ddb1aa8b02e36628dff526db3
Roland Levillain [Thu, 11 Dec 2014 12:14:33 +0000 (12:14 +0000)]
Add constant folding for long unary operations in opt. compiler.
Add tests to exercise the constant folding of these
instructions.
Also, prevent Java methods from run-tests exercising the
code generation of these instruction from being inlined,
so that they continue to check the generated code (and
not the code produced by the constant folding pass).
Change-Id: I28efca7cdb5142ac2b6d158ba296fb9136d62481
David Brazdil [Wed, 5 Aug 2015 09:54:44 +0000 (09:54 +0000)]
am
d4fd5914: Merge "ART: Move exception clearing into own instruction"
* commit '
d4fd591406f356dcb8feaa262c19983cacb9116d':
ART: Move exception clearing into own instruction
David Brazdil [Wed, 5 Aug 2015 08:34:24 +0000 (08:34 +0000)]
Merge "ART: Move exception clearing into own instruction"
Andreas Gampe [Wed, 5 Aug 2015 03:02:58 +0000 (03:02 +0000)]
am
8bfc949a: Merge "Revert "Revert "ART: Use bionic TLS slot for thread-self"""
* commit '
8bfc949ae075d66d1d6fbf36d7ed774b6da1f62a':
Revert "Revert "ART: Use bionic TLS slot for thread-self""
Andreas Gampe [Wed, 5 Aug 2015 02:55:46 +0000 (02:55 +0000)]
Merge "Revert "Revert "ART: Use bionic TLS slot for thread-self"""
Nicolas Geoffray [Wed, 5 Aug 2015 02:20:42 +0000 (02:20 +0000)]
am
10569198: Merge "ART: x86_64 RoundDouble/Float intrinsics should initialize out value."
* commit '
1056919800f5db8d7a9607835fa34254eae51ec3':
ART: x86_64 RoundDouble/Float intrinsics should initialize out value.
Andreas Gampe [Wed, 5 Aug 2015 01:08:53 +0000 (01:08 +0000)]
Revert "Revert "ART: Use bionic TLS slot for thread-self""
This reverts commit
50832b6804d15ea5ddfe99a2753a09111b5bfe37.
Fix clearing the TLS on detach.
Change-Id: I75ed5ccccb4f31800e5f893055e96067a9695258
Nicolas Geoffray [Wed, 5 Aug 2015 02:11:01 +0000 (02:11 +0000)]
Merge "ART: x86_64 RoundDouble/Float intrinsics should initialize out value."
Mathieu Chartier [Tue, 4 Aug 2015 22:19:41 +0000 (15:19 -0700)]
Address some comments and clean up
Change-Id: I538cf204f1c89d5fc81f8fc5e5800fcf1cf87359
Andreas Gampe [Wed, 5 Aug 2015 00:42:41 +0000 (00:42 +0000)]
am
1cf85515: Merge "Revert "ART: Use bionic TLS slot for thread-self""
* commit '
1cf85515600d298a2c9e4de137c0926949205097':
Revert "ART: Use bionic TLS slot for thread-self"
Andreas Gampe [Wed, 5 Aug 2015 00:36:05 +0000 (00:36 +0000)]
Merge "Revert "ART: Use bionic TLS slot for thread-self""
Andreas Gampe [Wed, 5 Aug 2015 00:31:02 +0000 (00:31 +0000)]
Revert "ART: Use bionic TLS slot for thread-self"
This reverts commit
b81535875ff46d1630c76091fe969a9eb7fc4d16.
Breaking tests, need to investigate.
Change-Id: Iab8c4f6136e6cb9bd6cf3c3495aa33962ef890ee
Nicolas Geoffray [Wed, 5 Aug 2015 00:17:12 +0000 (00:17 +0000)]
am
d2606b1b: Merge "Parallel Move Resolver: Perform Stack/Stack first"
* commit '
d2606b1b922573d45707931bc387cbf990771238':
Parallel Move Resolver: Perform Stack/Stack first
Nicolas Geoffray [Wed, 5 Aug 2015 00:10:01 +0000 (00:10 +0000)]
Merge "Parallel Move Resolver: Perform Stack/Stack first"
Andreas Gampe [Tue, 4 Aug 2015 22:44:31 +0000 (22:44 +0000)]
am
bab71e2a: Merge "ART: Use bionic TLS slot for thread-self"
* commit '
bab71e2a51834dd6986f2166d332f540824687f9':
ART: Use bionic TLS slot for thread-self
Andreas Gampe [Tue, 4 Aug 2015 22:35:34 +0000 (22:35 +0000)]
Merge "ART: Use bionic TLS slot for thread-self"
Nicolas Geoffray [Tue, 4 Aug 2015 19:11:56 +0000 (19:11 +0000)]
am
fd38927d: Merge "Update expectation."
* commit '
fd38927d03a5fdf4ccfce8b9e0ffb1a99c4f0b37':
Update expectation.
Nicolas Geoffray [Tue, 4 Aug 2015 19:06:16 +0000 (19:06 +0000)]
Merge "Update expectation."
Igor Murashkin [Tue, 4 Aug 2015 18:18:43 +0000 (11:18 -0700)]
Revert "cleanup: Replace pointers with out-parameters and fix-up formatting"
This reverts commit
a315f5c546b796f55f4872bb6efc15eb858d9639.
--
Revert "runtime: cleanup class_linker out-parameters and formatting"
This reverts commit
bc1d78daa463572c5a770cdca858a3b51d8e1b7b.
--
Revert "base: replace raw pointers for out-parameters with safer out<T>"
This reverts commit
fb326cffc679cab8eb873b9e44795706f023cb3c.
Nicolas Geoffray [Tue, 4 Aug 2015 17:16:43 +0000 (18:16 +0100)]
Update expectation.
Vogar wants # between class and method.
Change-Id: I3e4d54e2cc22bac6b73fe611fcbfcbe39095159c
Andreas Gampe [Tue, 4 Aug 2015 16:55:32 +0000 (16:55 +0000)]
am
1d558db0: Merge "ART: Use Clang default integrated assembler."
* commit '
1d558db0bcd841140f6fe1c6ba2e9a6de131649d':
ART: Use Clang default integrated assembler.
Andreas Gampe [Tue, 4 Aug 2015 16:47:39 +0000 (16:47 +0000)]
Merge "ART: Use Clang default integrated assembler."
Chih-Hung Hsieh [Mon, 27 Jul 2015 17:10:44 +0000 (10:10 -0700)]
ART: Use Clang default integrated assembler.
Issues with x86, arm32 and arm64 have been fixed.
Allow the use of the integrated assembler.
Bug:
22874917
Change-Id: Iacfffda29d57bfc931da568a9436c2e34cb38df6
David Brazdil [Tue, 4 Aug 2015 15:22:25 +0000 (16:22 +0100)]
ART: Move exception clearing into own instruction
Runtime delivers exceptions only to catch blocks which begin with a
MOVE_EXCEPTION instruction (in DEX). In that case, the catch block is
expected to clear the thread-local exception storage after having
read the exception reference.
This patch changes Optimizing to represent MOVE_EXCEPTION with two
instructions - HLoadException and HClearException - instead of one.
If the exception reference is not used, HLoadException can be safely
removed, saving a memory load without breaking the runtime behaviour.
Change-Id: Idad8a714467bf9d9d5fccefbc43c0bd8ae13ddba
Andreas Gampe [Tue, 4 Aug 2015 15:22:47 +0000 (15:22 +0000)]
am
28a94765: Merge "ART: Fix arm32 assembly for Clang"
* commit '
28a94765b4188faf51eb20d9a400273cf12136d0':
ART: Fix arm32 assembly for Clang
Andreas Gampe [Tue, 4 Aug 2015 15:16:33 +0000 (15:16 +0000)]
Merge "ART: Fix arm32 assembly for Clang"
Chih-Hung Hsieh [Mon, 27 Jul 2015 17:10:44 +0000 (10:10 -0700)]
ART: Fix arm32 assembly for Clang
Clang ignores .thumb_func and requires an explicit
.thumb directive, as given by the ARM Unified Assembler
Language. Conditionally add .thumb to thumb2 functions.
Bug:
22762844
Change-Id: I08abdb5f4e0ba5135d4ed850ca3e284203f95a03
Pavel Vyssotski [Fri, 31 Jul 2015 07:03:17 +0000 (13:03 +0600)]
ART: x86_64 RoundDouble/Float intrinsics should initialize out value.
x86_64 RoundDouble intrinsic should initialize output register for the case of
"inPlusPointFive >= maxLong" as expected. The same for the RoundFloat intrinsic.
Fixed also the out register type in CreateSSE41FPToIntLocations provoking
a DCHECK failure.
Change-Id: I0a910682e2917214861683c678ffba8e0f4bfed8
Signed-off-by: Pavel Vyssotski <pavel.n.vyssotski@intel.com>
Vladimir Marko [Tue, 4 Aug 2015 11:28:43 +0000 (11:28 +0000)]
am
fe092ab1: Merge "Added repe_cmpsq instruction to x86_64 assembler"
* commit '
fe092ab1e3cfc106216aa5518393a55786f9ab0b':
Added repe_cmpsq instruction to x86_64 assembler
Vladimir Marko [Tue, 4 Aug 2015 11:20:31 +0000 (11:20 +0000)]
Merge "Added repe_cmpsq instruction to x86_64 assembler"
Vladimir Marko [Tue, 4 Aug 2015 09:51:57 +0000 (09:51 +0000)]
am
718a2451: Merge "ARM/ARM64: Implement numberOfLeadingZeros intrinsic."
* commit '
718a24514b736c3db49eac9f5b39a097a6c74856':
ARM/ARM64: Implement numberOfLeadingZeros intrinsic.
Vladimir Marko [Tue, 4 Aug 2015 09:05:51 +0000 (09:05 +0000)]
Merge "ARM/ARM64: Implement numberOfLeadingZeros intrinsic."
Scott Wakeling [Fri, 10 Jul 2015 10:42:06 +0000 (11:42 +0100)]
ARM/ARM64: Implement numberOfLeadingZeros intrinsic.
Change-Id: I4042fb7a0b75140475dcfca23e8f79d310f5333b
agicsaki [Tue, 4 Aug 2015 03:14:29 +0000 (20:14 -0700)]
Added repe_cmpsq instruction to x86_64 assembler
Change-Id: I9085694fd3313581b2775a8267ccda58fec19a1a
Andreas Gampe [Mon, 3 Aug 2015 22:15:50 +0000 (22:15 +0000)]
am
0c9c5bbd: Merge "ART: Fix stub_test"
* commit '
0c9c5bbdd6976c21602b92d9b455e6fe5d769fb0':
ART: Fix stub_test
Andreas Gampe [Mon, 3 Aug 2015 22:07:15 +0000 (22:07 +0000)]
Merge "ART: Fix stub_test"
Igor Murashkin [Mon, 3 Aug 2015 21:33:49 +0000 (21:33 +0000)]
am
e3d598e2: Merge "cleanup: Replace pointers with out-parameters and fix-up formatting"
* commit '
e3d598e240dd9ac26b4894dbb1312f42c4047fb3':
cleanup: Replace pointers with out-parameters and fix-up formatting
Igor Murashkin [Mon, 3 Aug 2015 21:27:27 +0000 (21:27 +0000)]
Merge "cleanup: Replace pointers with out-parameters and fix-up formatting"
Aart Bik [Mon, 3 Aug 2015 17:59:44 +0000 (17:59 +0000)]
am
743e9625: Merge "Optimizing: Add Non Temporal Move support for x86"
* commit '
743e9625bd4b9bddc8752170e647660986c53f08':
Optimizing: Add Non Temporal Move support for x86
Aart Bik [Mon, 3 Aug 2015 17:48:11 +0000 (17:48 +0000)]
Merge "Optimizing: Add Non Temporal Move support for x86"
Andreas Gampe [Mon, 3 Aug 2015 17:25:06 +0000 (10:25 -0700)]
ART: Fix stub_test
Clobber another register on arm32.
Change-Id: I0d355f69dfa7e6d86cb7c211f6ac2cb56f995d9d
Roland Levillain [Mon, 3 Aug 2015 15:04:32 +0000 (15:04 +0000)]
am
e238414e: Merge "Optimizing: Use more X86 3 operand multiplies"
* commit '
e238414eee3ec933a4ceb1894666c9ef331ace0c':
Optimizing: Use more X86 3 operand multiplies
Roland Levillain [Mon, 3 Aug 2015 15:04:30 +0000 (15:04 +0000)]
am
bc576cfd: Merge "Revert "Optimizing String.Equals as an intrinsic (x86)""
* commit '
bc576cfd9c85a285f15b8c33a2cc7f947d999f49':
Revert "Optimizing String.Equals as an intrinsic (x86)"
Roland Levillain [Mon, 3 Aug 2015 14:57:38 +0000 (14:57 +0000)]
Merge "Optimizing: Use more X86 3 operand multiplies"
Roland Levillain [Mon, 3 Aug 2015 14:55:11 +0000 (14:55 +0000)]
Merge "Revert "Optimizing String.Equals as an intrinsic (x86)""
Roland Levillain [Mon, 3 Aug 2015 14:54:45 +0000 (14:54 +0000)]
Revert "Optimizing String.Equals as an intrinsic (x86)"
Reverted as it breaks the compilation of boot.{oat,art} on x86 (although this CL may not be the culprit, as the issue seems to come from Optimizing's register allocator).
This reverts commit
8ab7bd6c8b10ad58758c33a1dc9326212bd200e9.
Change-Id: If7c8b6258d1e690f4d2a06bcc82c92563ac6cdef
Roland Levillain [Mon, 3 Aug 2015 14:42:46 +0000 (14:42 +0000)]
am
855223fa: Merge "Fix ambiguous phrasing in tests comments regarding $."
* commit '
855223fa12fc1efc926c068ea5c536663f30030d':
Fix ambiguous phrasing in tests comments regarding $opt$.
Roland Levillain [Mon, 3 Aug 2015 14:34:42 +0000 (14:34 +0000)]
Merge "Fix ambiguous phrasing in tests comments regarding $opt$."
Roland Levillain [Mon, 3 Aug 2015 14:20:02 +0000 (15:20 +0100)]
Fix ambiguous phrasing in tests comments regarding $opt$.
Change-Id: I78e6bccbe35288df5de30700d3877bbcdef37d65
Roland Levillain [Mon, 3 Aug 2015 09:45:20 +0000 (09:45 +0000)]
am
7a58566d: Merge "Optimizing String.Equals as an intrinsic (x86)"
* commit '
7a58566d2b0ad051b8ccaf5614ad986979af8ef4':
Optimizing String.Equals as an intrinsic (x86)
Roland Levillain [Mon, 3 Aug 2015 08:48:11 +0000 (08:48 +0000)]
Merge "Optimizing String.Equals as an intrinsic (x86)"
Andreas Gampe [Sat, 1 Aug 2015 04:20:08 +0000 (04:20 +0000)]
am
7879f711: Merge "ART: Check a RETURN_VOID_NO_BARRIER like a RETURN_VOID"
* commit '
7879f7119d7a88a71f6c31c9b8eac27cdba8a123':
ART: Check a RETURN_VOID_NO_BARRIER like a RETURN_VOID
Andreas Gampe [Sat, 1 Aug 2015 04:14:14 +0000 (04:14 +0000)]
Merge "ART: Check a RETURN_VOID_NO_BARRIER like a RETURN_VOID"
Andreas Gampe [Fri, 31 Jul 2015 20:36:10 +0000 (13:36 -0700)]
ART: Check a RETURN_VOID_NO_BARRIER like a RETURN_VOID
RETURN_VOID_NO_BARRIER is used in all methods with return-void,
as long as they're not a constructor and have been quickened. As
such, do the regular checking of the return type.
Bug: https://code.google.com/p/android/issues/detail?id=181700
Bug:
22871329
Change-Id: I11bcf7bffd91fc01995b703a99e603ddb370016e
Igor Murashkin [Sat, 1 Aug 2015 00:35:52 +0000 (17:35 -0700)]
cleanup: Replace pointers with out-parameters and fix-up formatting
Cleans all of oat_file.h/.cc, parsed_options.h./cc, runtime.h/.cc
Other files are touched only incidentally to use outof(x) instead of &x.
Change-Id: I0bb15111149d53bb21aac2199ef33bd35333b0ca
Igor Murashkin [Fri, 31 Jul 2015 23:07:30 +0000 (23:07 +0000)]
am
66c50ccc: Merge "runtime: cleanup class_linker out-parameters and formatting"
* commit '
66c50cccd9dda431b2017ad04dc72b0c0f17d74e':
runtime: cleanup class_linker out-parameters and formatting
Igor Murashkin [Fri, 31 Jul 2015 23:07:28 +0000 (23:07 +0000)]
am
5cdee205: Merge "Revert "runtime: cleanup class_linker out-parameters and formatting""
* commit '
5cdee205231993c5f3a5f815f614d9d460448615':
Revert "runtime: cleanup class_linker out-parameters and formatting"
Igor Murashkin [Fri, 31 Jul 2015 23:07:27 +0000 (23:07 +0000)]
am
9c977b92: Merge "runtime: cleanup class_linker out-parameters and formatting"
* commit '
9c977b9260927d14c6d6c5bbdd7d16e1aebbf2fa':
runtime: cleanup class_linker out-parameters and formatting
Igor Murashkin [Fri, 31 Jul 2015 23:03:58 +0000 (23:03 +0000)]
Merge "runtime: cleanup class_linker out-parameters and formatting"
Igor Murashkin [Thu, 30 Jul 2015 23:39:45 +0000 (16:39 -0700)]
runtime: cleanup class_linker out-parameters and formatting
* Use out<T> instead of parameters
* Fixes up some other signatures to be more correct
* Reformat parameters to be one per line if they can't fit on one line
* Reformat locks to be one per line if they can't fit on the decl line
Change-Id: Ib71b08707d3ed0bb85299406c0b23a1de4e92a1c
Igor Murashkin [Fri, 31 Jul 2015 23:02:50 +0000 (23:02 +0000)]
Merge "Revert "runtime: cleanup class_linker out-parameters and formatting""
Igor Murashkin [Fri, 31 Jul 2015 23:02:30 +0000 (23:02 +0000)]
Revert "runtime: cleanup class_linker out-parameters and formatting"
This reverts commit
0de694ed3efe8412b83622a24074831edcc7e384.
Change-Id: I4b185584d6e47918179b16d76709cc3366872f3c
Igor Murashkin [Fri, 31 Jul 2015 23:02:04 +0000 (23:02 +0000)]
Merge "runtime: cleanup class_linker out-parameters and formatting"
agicsaki [Mon, 27 Jul 2015 17:25:10 +0000 (10:25 -0700)]
Optimizing String.Equals as an intrinsic (x86)
The third implementation of String.Equals. I added an intrinsic
in x86 which is similar to the original java implementation of
String.equals: an instanceof check, null check, length check, and
reference equality check followed by a loop comparing strings
character by character.
Interesting Benchmarking Values:
Optimizing Compiler on Nexus Player
Intrinsic 15-30 Character Strings: 177 ns
Original 15-30 Character Strings: 275 ns
Intrinsic Null Argument: 59 ns
Original Null Argument: 137 ns
Intrinsic 100-1000 Character Strings: 1812 ns
Original 100-1000 Character Strings: 6334 ns
Bug:
21481923
Change-Id: Ia386e19b9dbfe0dac688b20ec93d8f90f67af47e
Igor Murashkin [Thu, 30 Jul 2015 23:39:45 +0000 (16:39 -0700)]
runtime: cleanup class_linker out-parameters and formatting
* Use out<T> instead of parameters
* Fixes up some other signatures to be more correct
* Reformat parameters to be one per line if they can't fit on one line
* Reformat locks to be one per line if they can't fit on the decl line
Change-Id: I1031cf4edc41f95b89edb343d43ef93e15384206
Andreas Gampe [Fri, 31 Jul 2015 20:35:29 +0000 (20:35 +0000)]
am
0d72ce0b: Merge "Revert "ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors""
* commit '
0d72ce0b4f9eaf0f60c70a2901198099086795e0':
Revert "ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors"
Andreas Gampe [Fri, 31 Jul 2015 20:31:40 +0000 (20:31 +0000)]
Merge "Revert "ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors""
Andreas Gampe [Fri, 31 Jul 2015 20:31:24 +0000 (20:31 +0000)]
Revert "ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors"
This reverts commit
e93505f599682a2e95c4dac1c8633dec79c602bc.
This isn't the right thing to do, actually.
Bug:
22871329
Change-Id: I0a0a5a86c7c8d8afdf417444ca7d73e56e040515
Andreas Gampe [Fri, 31 Jul 2015 19:11:46 +0000 (19:11 +0000)]
am
7423f0b6: Merge "ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors"
* commit '
7423f0b66060711cddcdbc7ba5b0dd3f2df36718':
ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors
Andreas Gampe [Fri, 31 Jul 2015 19:04:29 +0000 (19:04 +0000)]
Merge "ART: Do not allow RETURN_VOID_NO_BARRIER outside constructors"