OSDN Git Service
Roland Levillain [Fri, 23 Oct 2015 10:09:28 +0000 (10:09 +0000)]
Merge "Fix heap poisoning in UnsafeCASObject x86/x86-64 intrinsic."
Andreas Gampe [Fri, 23 Oct 2015 04:29:26 +0000 (04:29 +0000)]
Merge "MIPS64: Add tests for rotation, and shift instructions"
Richard Uhler [Thu, 22 Oct 2015 19:07:58 +0000 (19:07 +0000)]
Merge "Release ahat version 0.2."
Nicolas Geoffray [Thu, 22 Oct 2015 17:27:50 +0000 (17:27 +0000)]
Merge "MIPS: Initial version of optimizing compiler for MIPS32"
Goran Jakovljevic [Tue, 25 Aug 2015 14:11:42 +0000 (16:11 +0200)]
MIPS: Initial version of optimizing compiler for MIPS32
Change-Id: I370388e8d5de52c7001552b513877ef5833aa621
Nicolas Geoffray [Thu, 22 Oct 2015 13:49:37 +0000 (13:49 +0000)]
Merge "Do not run the verifier when deopting optimized frames."
Nicolas Geoffray [Tue, 20 Oct 2015 14:52:58 +0000 (15:52 +0100)]
Do not run the verifier when deopting optimized frames.
The stack maps contain all the required information.
Change-Id: I709e72b3de0d76a4203a3a004f093071e7865642
Yohann Roussel [Thu, 22 Oct 2015 10:46:36 +0000 (10:46 +0000)]
Merge "Fix art-run-tests dependencies"
Roland Levillain [Thu, 22 Oct 2015 10:38:49 +0000 (11:38 +0100)]
Fix heap poisoning in UnsafeCASObject x86/x86-64 intrinsic.
Properly handle the case when the same object is passed to
sun.misc.Unsafe.compareAndSwapObject for the `obj` and
`newValue` arguments (named `base` and `value` in the
intrinsic implementation) and re-enable this intrinsic.
Also convert some reinterpret_casts to down_casts.
Bug:
12687968
Change-Id: I82167cfa77840ae2cdb45b9f19f5f530858fe7e8
Mathieu Chartier [Wed, 21 Oct 2015 18:01:42 +0000 (18:01 +0000)]
Merge "Use binary search for FindDeclaredInstance/StaticField"
Vladimir Marko [Wed, 21 Oct 2015 16:53:55 +0000 (16:53 +0000)]
Merge "Fix destruction order in Dex2Oat."
Sebastien Hertz [Wed, 21 Oct 2015 16:28:32 +0000 (16:28 +0000)]
Merge "JDWP: fix possible JdwpEvent memory leak"
Calin Juravle [Wed, 21 Oct 2015 15:56:16 +0000 (15:56 +0000)]
Merge "Block signals before invoking special or user handlers"
Mathieu Chartier [Wed, 21 Oct 2015 01:30:03 +0000 (18:30 -0700)]
Use binary search for FindDeclaredInstance/StaticField
Before:
real 1m18.157s
user 1m8.167s
sys 0m8.071s
After:
real 1m12.943s
user 1m3.223s
sys 0m7.881s
Perf results:
FindDeclaredStaticField: 1.78% -> 0.11%
__GI___strncmp_ssse3: 2.45% -> 0.87%
Bug:
10921004
Change-Id: Ice7d3ce2635d6cd2de5574055375d9e20712d241
Yohann Roussel [Tue, 21 Jul 2015 14:25:44 +0000 (16:25 +0200)]
Fix art-run-tests dependencies
Their classpath dependency was missing
(cherry picked from commit
6c8d5962573e2df393594bbcee80d07f16edafe3)
Change-Id: Id4f489c140585c62b6c105533b97837612c6199c
Sebastien Hertz [Wed, 21 Oct 2015 14:18:58 +0000 (16:18 +0200)]
JDWP: fix possible JdwpEvent memory leak
Fixes possible memory leak when registering new JdwpEvent but the
Count modifier is invalid. This is done by using a std::unique_ptr
with a custom delete function. It also allows to easily introduce
more modifier checks in the future.
Bug:
14076832
Change-Id: I339ffb1297165ff85ab924e5e7618d336df5612b
Nicolas Geoffray [Wed, 21 Oct 2015 13:12:27 +0000 (13:12 +0000)]
Merge "Mark 2 libcore tests as failing."
Nicolas Geoffray [Wed, 21 Oct 2015 12:59:28 +0000 (13:59 +0100)]
Mark 2 libcore tests as failing.
bug:
25136848
Change-Id: If1cde2f3a0140a5eb9c138a462ecc9a30e73b8eb
Nicolas Geoffray [Wed, 21 Oct 2015 11:14:39 +0000 (11:14 +0000)]
Merge "Remove the magic 32 constant and ensure alignment."
Nicolas Geoffray [Wed, 21 Oct 2015 11:07:31 +0000 (12:07 +0100)]
Remove the magic 32 constant and ensure alignment.
Change-Id: I383315bf3cd5f0b8634e2982da55d5d864009a91
Calin Juravle [Wed, 21 Oct 2015 10:15:20 +0000 (10:15 +0000)]
Merge "Inliner: make sure the returned value is in the outer graph."
Nicolas Geoffray [Wed, 21 Oct 2015 10:00:34 +0000 (10:00 +0000)]
Merge "Use DlMallocSpace for the JIT code cache."
Nicolas Geoffray [Thu, 15 Oct 2015 12:53:04 +0000 (13:53 +0100)]
Use DlMallocSpace for the JIT code cache.
- Also tidy up some code in the JIT compiler.
- And mprotect code space to be writable only when allocating.
Change-Id: I46ea5c029aec489f2af63452de31db3736aebc20
Stephen Hines [Wed, 21 Oct 2015 06:34:26 +0000 (06:34 +0000)]
Merge "ART: Disable Clang for arm"
Andreas Gampe [Wed, 21 Oct 2015 05:10:26 +0000 (22:10 -0700)]
ART: Disable Clang for arm
Disable Clang for arm32 until a fix for the issue is found.
Bug:
25130937
Change-Id: Ia33f387b89ac8d1e8eac9a2782c45f038b9e8a1a
Andreas Gampe [Wed, 21 Oct 2015 04:54:04 +0000 (04:54 +0000)]
Merge "ART: Fix left-shift of negative numbers"
Andreas Gampe [Wed, 21 Oct 2015 04:08:52 +0000 (21:08 -0700)]
ART: Fix left-shift of negative numbers
Shifting negative numbers is undefined.
Change-Id: I0c32a3fcf372eae74507a5f2383edbfaf5c6830c
Alex Light [Tue, 20 Oct 2015 21:28:27 +0000 (21:28 +0000)]
Merge "Fix typos."
Richard Uhler [Tue, 20 Oct 2015 19:29:14 +0000 (19:29 +0000)]
Merge "Change dex_location_ from const char* to std::string."
Richard Uhler [Tue, 20 Oct 2015 19:26:52 +0000 (19:26 +0000)]
Merge "Switch ahat test to use core-optimizing-pic.art."
Calin Juravle [Tue, 20 Oct 2015 13:54:07 +0000 (14:54 +0100)]
Inliner: make sure the returned value is in the outer graph.
The returned value may be a constant or a parameter value. If so, it
will be in the inlined entry_block and (before this CL) we would not
update its block or graph. This CL fixes this and makes sure that the
returned value belongs to the outer graph.
Change-Id: Ie296f0d5a320c33f39eb187df6d328371ccf6500
Chris Larsen [Mon, 19 Oct 2015 21:17:16 +0000 (14:17 -0700)]
MIPS64: Add tests for rotation, and shift instructions
Change-Id: I5611cb5c638c6be193739cbe859cb4ff4074a5fa
Alex Light [Tue, 20 Oct 2015 17:49:48 +0000 (10:49 -0700)]
Fix typos.
Change-Id: Ie2198e3bb4b978c638de12db34547b4311d85eb5
Roland Levillain [Tue, 20 Oct 2015 17:48:04 +0000 (17:48 +0000)]
Merge "Disable the x86 & x86-64 UnsafeCASObject intrinsic with heap poisoning."
Alex Light [Tue, 20 Oct 2015 17:37:11 +0000 (17:37 +0000)]
Merge "Disable test 961-default-iface-resolution-generated with gcstress"
Andreas Gampe [Tue, 20 Oct 2015 17:23:45 +0000 (17:23 +0000)]
Merge "MIPS64: Disassembler support for rotate instructions."
Alex Light [Tue, 20 Oct 2015 17:23:32 +0000 (10:23 -0700)]
Disable test 961-default-iface-resolution-generated with gcstress
The test takes too long with gcstress and can cause timeouts.
Change-Id: I99d16e882650ea73d07f4292fcfba0869f5b7ed1
Richard Uhler [Tue, 20 Oct 2015 17:03:38 +0000 (10:03 -0700)]
Release ahat version 0.2.
* Update ahat to use perflib studio-1.4
* Add some help tips.
Change-Id: I5aeafb27ff9e55f2ad1a6316184b8d3838e1df7c
Roland Levillain [Tue, 20 Oct 2015 16:55:06 +0000 (17:55 +0100)]
Disable the x86 & x86-64 UnsafeCASObject intrinsic with heap poisoning.
The current heap poisoning instrumentation of this intrinsic
does not always work properly when heap poisoning in
enabled, hence this quick fix to let the build & test
infrastructure turn green again.
Bug:
12687968
Change-Id: I03702a057fb6f07134e926e2c1c2780f47e3a50a
Vladimir Marko [Tue, 20 Oct 2015 10:20:09 +0000 (11:20 +0100)]
Fix destruction order in Dex2Oat.
In case of a failure (say, --image= pointing to non-existent
directory), the image_writer_ may not be destroyed in
CreateImageFile() and it will be destroyed in Dex2Oat's
destructor instead. However, ImageWriter owns a MemMap, so
it must be destroyed before MemMap::Shutdown() called from
Runtime's destructor. In release builds without leak checks,
we intentionally leak the runtime, so we don't hit the
destruction order issue. However, debug build was crashing
on the DCHECK(maps_ != nullptr) in MemMap destructor.
This change cleans up the destruction order and deliberately
leaks even more owned data in release builds without leak
checks.
Change-Id: Ib7f305bb676589d0379ecaafe6a53eeae208beaa
Nicolas Geoffray [Tue, 20 Oct 2015 12:36:24 +0000 (12:36 +0000)]
Merge "New attempt at fixing mac build."
Nicolas Geoffray [Tue, 20 Oct 2015 12:35:38 +0000 (13:35 +0100)]
New attempt at fixing mac build.
Change-Id: I00e3df55e65eb5edb4e8dd244bb7f8918dd942d4
Nicolas Geoffray [Tue, 20 Oct 2015 11:56:02 +0000 (11:56 +0000)]
Merge "Fix mac build."
Nicolas Geoffray [Tue, 20 Oct 2015 11:55:20 +0000 (12:55 +0100)]
Fix mac build.
Change-Id: I7229a628a619164eea22735bcaed507428ab054a
Nicolas Geoffray [Tue, 20 Oct 2015 11:41:49 +0000 (11:41 +0000)]
Merge "Remove ArtCode."
Nicolas Geoffray [Fri, 16 Oct 2015 16:13:34 +0000 (17:13 +0100)]
Remove ArtCode.
- Instead use OatQuickMethodHeader.
- Various cleanups now that we don't have all those
ArtMethod -> ArtCode -> OatQuickMethodHeader indirections.
As a consequence of this cleanup, exception handling got a bit
faster.
ParserCombinators benchmark (exception intensive) on x64: (lower is better)
Before:
ParserCombinators(RunTime):
1062500.0 us.
After:
ParserCombinators(RunTime): 833000.0 us.
Change-Id: Idac917b6f1b0dc254ad68fb3781cd61bccadb0f3
Calin Juravle [Tue, 20 Oct 2015 10:32:22 +0000 (10:32 +0000)]
Merge "Fix induction_var_range_test."
Calin Juravle [Tue, 20 Oct 2015 10:29:36 +0000 (11:29 +0100)]
Fix induction_var_range_test.
Change-Id: I43101c5e35f4c516ea4ba3137631508f12703412
Calin Juravle [Tue, 20 Oct 2015 09:38:07 +0000 (09:38 +0000)]
Merge "Revert "Revert "optimizing: propagate type information of arguments"""
Chris Larsen [Mon, 19 Oct 2015 22:17:16 +0000 (15:17 -0700)]
MIPS64: Disassembler support for rotate instructions.
Also, tighten the tests for recognizing the various shift commands. The
tests, previously, would be unable to distinguish between "shift right
logical" and "rotate right" commands. In particular:
- SRLV vs. ROTRV
- DSRLV vs. DROTRV,
- DSRL vs. DROTR, and
- DSRL32 vs. DROTR32
Change-Id: I7a6df8ab0d76fd3d34b1207da9915369ad84fa97
Andreas Gampe [Mon, 19 Oct 2015 22:06:00 +0000 (22:06 +0000)]
Merge "MIPS64: Add intrinsic support for bit rotation"
Chris Larsen [Sat, 3 Oct 2015 00:25:58 +0000 (17:25 -0700)]
MIPS64: Add intrinsic support for bit rotation
- int java.lang.Integer.rotateLeft(int i, int distance)
- int java.lang.Long.rotateLeft(long i, int distance)
Change-Id: I048ebf310265c6b20a80108673a7931cbeee0513
Aart Bik [Mon, 19 Oct 2015 20:52:50 +0000 (20:52 +0000)]
Merge "Added ability to generate induction range code."
Mathieu Chartier [Mon, 19 Oct 2015 19:54:44 +0000 (19:54 +0000)]
Merge "Keep dex files live in class table"
Aart Bik [Thu, 15 Oct 2015 00:44:55 +0000 (17:44 -0700)]
Added ability to generate induction range code.
Rationale: used by dynamic BCE (done in another CL).
Change-Id: Ia6ce75da57b5298fba74622822ae0bae69c74188
Mathieu Chartier [Sat, 17 Oct 2015 19:46:42 +0000 (12:46 -0700)]
Keep dex files live in class table
The DexFile.loadClass API allows callers to load classes using a
dex file without having that dex file owned by the specified class
loader. We now add the dex file to the class table to make sure it
stays live until the class loader is unreachable.
Fixes interpreter gcstress test 087 with 64 bit.
Bug:
22720414
Change-Id: Ia4341149f45b6293312f8b275c7a68cea179f718
Aart Bik [Mon, 19 Oct 2015 18:42:59 +0000 (18:42 +0000)]
Merge "Generalize codegen and simplification of deopt."
Aart Bik [Mon, 19 Oct 2015 18:05:03 +0000 (11:05 -0700)]
Generalize codegen and simplification of deopt.
Rationale: the de-opt instruction is very similar to an if,
so the existing assumption that it always has a
conditional "under the hood" is very unsafe, since
optimizations may have replaced conditionals with
actual values; this CL generalizes handling of deopt.
Change-Id: I1c6cb71fdad2af869fa4714b38417dceed676459
Vladimir Marko [Mon, 19 Oct 2015 17:20:53 +0000 (17:20 +0000)]
Merge "ART: Replace an "ALWAYS_INLINE" with "inline" to fix build."
Vladimir Marko [Mon, 19 Oct 2015 17:18:27 +0000 (18:18 +0100)]
ART: Replace an "ALWAYS_INLINE" with "inline" to fix build.
Change-Id: I61e6806737589266b36ab7a33561da7e1f8c02ca
Vladimir Marko [Mon, 19 Oct 2015 16:57:22 +0000 (16:57 +0000)]
Merge "Clean up OatFile."
Andreas Gampe [Mon, 19 Oct 2015 15:45:55 +0000 (15:45 +0000)]
Merge "MIPS64: Add intrinsic support for bit rotation"
Vladimir Marko [Fri, 16 Oct 2015 10:23:41 +0000 (11:23 +0100)]
Clean up OatFile.
In Setup(), avoid reading beyond the end and use the %zu
format specifier instead of %zd for size_t output.
Make the .bss section pointers non-const.
Change-Id: Ic8f066effe8037b552d8e911c6a5d17370d79ff4
Chris Larsen [Wed, 23 Sep 2015 00:54:15 +0000 (17:54 -0700)]
MIPS64: Add intrinsic support for bit rotation
- int java.lang.Integer.rotateRight(int i, int distance)
- int java.lang.Long.rotateRight(long i, int distance)
Assembler tests for new MIPS instructions will be provided in a
separate patch.
Change-Id: I6dd4786e2d5f674bf56ff3d5afd321bb1bef589e
Andreas Gampe [Mon, 19 Oct 2015 15:12:57 +0000 (15:12 +0000)]
Merge "MIPS64: Add intrinsics support for trailing zeros"
Chris Larsen [Tue, 22 Sep 2015 23:02:40 +0000 (16:02 -0700)]
MIPS64: Add intrinsics support for trailing zeros
- int java.lang.Integer.numberOfTrailingZeros(int i)
- int java.lang.Long.numberOfTrailingZeros(long i)
Change-Id: I0fc1c2629738de9047313b6511b490639eef68f3
jgu21 [Tue, 22 Sep 2015 07:47:43 +0000 (03:47 -0400)]
Block signals before invoking special or user handlers
1. Block signals marked in sa_mask before invoking user handler
if not in old style.
2. Block all signals before invoking special signal handler.
Change-Id: Ie1283e97ed28ee3421df584352cd62cb107264bc
Signed-off-by: jgu21 <jinghui.gu@intel.com>
Andreas Gampe [Sat, 17 Oct 2015 00:17:20 +0000 (00:17 +0000)]
Merge "MIPS64: Implement intrinsics from sun.misc.Unsafe:"
Chris Larsen [Sat, 5 Sep 2015 06:38:16 +0000 (23:38 -0700)]
MIPS64: Implement intrinsics from sun.misc.Unsafe:
- int getInt(Object, long)
- int getIntVolatile(Object, long)
- long getLong(Object, long)
- long getLongVolatile(Object, long)
- Object getObject(Object, long)
- Object getObjectVolatile(Object, long)
- void putInt(Object, long, int)
- void putOrderedInt(Object, long, int)
- void putIntVolatile(Object, long, int)
- void putObject(Object, long, Object)
- void putOrderedObject(Object, long, Object)
- void putObjectVolatile(Object, long, Object)
- void putLong(Object, long, long)
- void putOrderedLong(Object, long, long)
- void putLongVolatile(Object, long, long)
The compareAndSwap*() functions will be delivered in a separate patch.
Change-Id: I94238254b2f9df017d58fa9a4bb38632f6479472
Alex Light [Sat, 17 Oct 2015 00:00:30 +0000 (00:00 +0000)]
Merge "Allow changing the optimization level of a build with env variable."
Andreas Gampe [Fri, 16 Oct 2015 22:17:56 +0000 (22:17 +0000)]
Merge "MIPS64: Additional assember tests:"
Andreas Gampe [Fri, 16 Oct 2015 21:42:10 +0000 (21:42 +0000)]
Merge "MIPS64: Implement intrinsics from java.lang.String:"
Richard Uhler [Thu, 15 Oct 2015 22:12:23 +0000 (15:12 -0700)]
Change dex_location_ from const char* to std::string.
Because we tend to use the dex_location_ as an std::string fairly
often.
Change-Id: Ida9624c9cb12c8ad30577146f1e6e97e25edc155
Hiroshi Yamauchi [Fri, 16 Oct 2015 17:18:53 +0000 (17:18 +0000)]
Merge "Revert "Revert "Implement rosalloc fast path in assembly for 32 bit arm."""
Mathieu Chartier [Fri, 16 Oct 2015 16:34:26 +0000 (16:34 +0000)]
Merge "Fix mips64 cfi test"
Mathieu Chartier [Fri, 16 Oct 2015 16:29:31 +0000 (09:29 -0700)]
Fix mips64 cfi test
Change-Id: I93224f29b23473fb9f2f6631a62949fdf2e8f888
Calin Juravle [Fri, 16 Oct 2015 16:29:23 +0000 (16:29 +0000)]
Merge "Fix in reference type propagation"
Calin Juravle [Fri, 16 Oct 2015 15:28:46 +0000 (16:28 +0100)]
Fix in reference type propagation
We miss updating the type of objects if their nullability gets updated
first.
Bug:
25008765
Change-Id: Id1a753d7d5b7b0d5ed708c325bd00a36240925fb
Vladimir Marko [Fri, 16 Oct 2015 16:13:34 +0000 (16:13 +0000)]
Merge "ART: Fix Mips64 JNI Calling Convention"
Mathieu Chartier [Fri, 16 Oct 2015 15:47:08 +0000 (15:47 +0000)]
Merge "Change hash table load factors"
Mathieu Chartier [Thu, 15 Oct 2015 16:19:15 +0000 (09:19 -0700)]
Change hash table load factors
Changed class table and intern table load factors to query the
runtime. The runtime returns load factors based on whether or not we
are a low ram device.
DescriptorEquals time for class linking goes from 10% -> 1.2% for
compiling GmsCore with interpret only.
Added test.
Bug:
24917584
Change-Id: Iaaf5d2eab1b0c2d188d299e4bc1852cdb3801173
Vladimir Marko [Wed, 2 Sep 2015 20:23:32 +0000 (21:23 +0100)]
ART: Fix Mips64 JNI Calling Convention
The frame size did not include RA. RA is part of the core spill
mask, and implicitly spilled in BuildFrame. Count this.
Change-Id: Iab7565c2496ee99660c7faa39a07a2c87be53756
Nicolas Geoffray [Fri, 16 Oct 2015 08:36:15 +0000 (08:36 +0000)]
Merge "ARM64: Better recognition of constants encodable as immediates."
Alexandre Rames [Fri, 16 Oct 2015 08:08:46 +0000 (09:08 +0100)]
ARM64: Better recognition of constants encodable as immediates.
When the right-hand side input is a constant, VIXL will automatically
switch between add and sub (or between similar pairs of instructions).
Change-Id: Icf05237b8653c409618f44e45049df87baf0f4c6
Andreas Gampe [Fri, 16 Oct 2015 02:56:15 +0000 (02:56 +0000)]
Merge "Parse runtime compiler options for JIT"
Mathieu Chartier [Fri, 16 Oct 2015 01:19:01 +0000 (18:19 -0700)]
Parse runtime compiler options for JIT
For the case where the CppDefines do not match the device the JIT is
running on.
Sample logcat output to prove it works:
JIT instruction set variant krait
JIT instruction set features default
Bug:
24982714
Change-Id: I1f4991a5d7cdc6101d1b0ecbcb39fb26dd20180a
Andreas Gampe [Fri, 16 Oct 2015 01:07:57 +0000 (01:07 +0000)]
Merge "Use ATTRIBUTE_UNUSED more."
Mathieu Chartier [Thu, 15 Oct 2015 23:47:03 +0000 (23:47 +0000)]
Merge "Fix race in ART 079-phantom"
Hiroshi Yamauchi [Thu, 15 Oct 2015 19:26:57 +0000 (12:26 -0700)]
Revert "Revert "Implement rosalloc fast path in assembly for 32 bit arm.""
With a heap poisoning fix.
This reverts commit
cf91c7d973f3b2f491abc61d47c141782c96d46e.
Bug:
9986565
Change-Id: Ia72edbde65ef6119e1931a77cc4c595a0b80ce31
Roland Levillain [Wed, 26 Aug 2015 17:34:03 +0000 (18:34 +0100)]
Use ATTRIBUTE_UNUSED more.
Use it in lieu of UNUSED(), which had some incorrect uses.
Change-Id: If247dce58b72056f6eea84968e7196f0b5bef4da
Andreas Gampe [Thu, 15 Oct 2015 17:32:36 +0000 (17:32 +0000)]
Merge "ART: Add simple null alias tracking for lock counting"
Andreas Gampe [Wed, 14 Oct 2015 19:55:48 +0000 (12:55 -0700)]
ART: Add simple null alias tracking for lock counting
Null is the only literal for objects, and one may lock and unlock
on different registers containing null, which is still balanced.
Bug:
23502994
Change-Id: Ibfbf1b8c2aa7d1409e3e426988d2d15efe1f2d0d
Aart Bik [Thu, 15 Oct 2015 16:18:05 +0000 (16:18 +0000)]
Merge "Added support for unsigned comparisons"
Vladimir Marko [Thu, 15 Oct 2015 16:01:16 +0000 (16:01 +0000)]
Merge "ART: Use .bss section for dex cache arrays."
Brian Carlstrom [Thu, 15 Oct 2015 15:55:56 +0000 (15:55 +0000)]
Merge "Fix monitor contention logging to support negative line numbers"
Vladimir Marko [Thu, 15 Oct 2015 15:53:39 +0000 (15:53 +0000)]
Merge "Fix a sign-extension bug in JValue."
Mathieu Chartier [Thu, 15 Oct 2015 15:52:53 +0000 (15:52 +0000)]
Merge "Allocate dex cache arrays in their class loader's linear alloc"
Vladimir Marko [Tue, 8 Sep 2015 12:47:48 +0000 (13:47 +0100)]
ART: Use .bss section for dex cache arrays.
Change-Id: I5fd507973b56f6a662a02a8c1dd9ac4493fb7b36
Mathieu Chartier [Wed, 14 Oct 2015 17:55:30 +0000 (10:55 -0700)]
Allocate dex cache arrays in their class loader's linear alloc
Fixes memory leak for class unloading where the dex cache arrays
used to be in the runtime linear alloc which never got freed.
TODO: Some of the callers like the compiler just use the runtime
linear alloc. We could clean this up if we want to have class
unloading during compilation for some reason.
Added regression test.
Bug:
22720414
Change-Id: Ia50333a06a339efbdaedb5ad94b7a1ae841124ec
Calin Juravle [Thu, 15 Oct 2015 12:35:37 +0000 (12:35 +0000)]
Merge "Move x86 constant area code to its own file"