OSDN Git Service
Sebastien Hertz [Fri, 25 Apr 2014 07:37:49 +0000 (07:37 +0000)]
Merge "Support field watchpoint in interpreter"
Sebastien Hertz [Fri, 4 Apr 2014 15:51:34 +0000 (17:51 +0200)]
Support field watchpoint in interpreter
We report field read/write events to instrumentation from the interpreter. This
allows it to send JDWP field access and field modification events to debugger.
This completes CL https://android-review.googlesource.com/90390.
We also fix the JDWP FieldOnly modifier by introducing ModBasket.fieldTypeID.
We incorrectly used ModBasket.classId which is actually dedicated to ClassOnly
modifier based on thread's location's class id.
Finally, we now enable canWatchFieldModification and canWatchFieldAccess JDWP
capabilities so a debugger can request these events to be reported.
Bug:
8267708
Change-Id: I987852ad47abb27b2f7e78544a8189c7a4e2f462
Mathieu Chartier [Fri, 25 Apr 2014 00:33:57 +0000 (00:33 +0000)]
Merge "Use __FUNCTION__ in CHECK_NON_NULL_*ARGUMENT."
Mathieu Chartier [Fri, 25 Apr 2014 00:17:21 +0000 (17:17 -0700)]
Use __FUNCTION__ in CHECK_NON_NULL_*ARGUMENT.
Prevents naming errors and reduces code maintenance requirements.
Change-Id: I14aba05f0d5dab8009f472b3af0b698551ac2a7e
Jeff Hao [Thu, 24 Apr 2014 23:55:44 +0000 (23:55 +0000)]
Merge "Make unresolved exception types cause soft verification errors."
Jeff Hao [Thu, 24 Apr 2014 23:25:36 +0000 (16:25 -0700)]
Make unresolved exception types cause soft verification errors.
Before, the verifier would allow the first exception it finds
for a catch block to be unresolved, but this causes problems if
it merges other exceptions later. The verifier should soft fail
for any unresolved exception type it finds.
Bug:
14256107
Change-Id: I22563ebfe8c9680cc676b73516d5b48bc9c4ecf3
Mathieu Chartier [Thu, 24 Apr 2014 23:51:49 +0000 (23:51 +0000)]
Merge "Clean up ScopedThreadStateChange + Get/SetPrimtiveArrayRegion"
Mathieu Chartier [Thu, 24 Apr 2014 23:14:43 +0000 (16:14 -0700)]
Clean up ScopedThreadStateChange + Get/SetPrimtiveArrayRegion
Simplified code in ScopedThreadStateChange and fixed an incorrect
name in Get/SetPrimitiveArrayRegion.
Change-Id: Id71affec1d64911449d792911cd52104dd179840
Hiroshi Yamauchi [Thu, 24 Apr 2014 18:12:25 +0000 (18:12 +0000)]
Merge "More code for the read barrier support."
Andreas Gampe [Thu, 24 Apr 2014 17:30:53 +0000 (17:30 +0000)]
Merge "Revert "ART: Extracts an utility function of the duplicated code""
Andreas Gampe [Thu, 24 Apr 2014 17:30:35 +0000 (17:30 +0000)]
Revert "ART: Extracts an utility function of the duplicated code"
This reverts commit
973cc95da6fb617bab133bd7a693c1cb7eafd393.
Change-Id: I3883c74ba06116e89d89d9cf085f20cff5d15f77
Jeff Hao [Thu, 24 Apr 2014 16:06:14 +0000 (16:06 +0000)]
Merge "Add test that Class.newInstance does not wrap its exceptions."
Andreas Gampe [Thu, 24 Apr 2014 15:46:02 +0000 (15:46 +0000)]
Merge "ART: Extracts an utility function of the duplicated code"
Dmitry Petrochenko [Fri, 18 Apr 2014 07:53:09 +0000 (14:53 +0700)]
ART: Extracts an utility function of the duplicated code
This patch introduces an utility function 'DataOffsetOfType' in
'mirror::Array' class that calculates the data offset at given index
in an array of given type.
Change-Id: Idb19558653c70a129245f220f0fbb553f898865b
Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
Ian Rogers [Thu, 24 Apr 2014 06:20:29 +0000 (06:20 +0000)]
Merge "ART: Fixes an issue with REX prefix for instructions with no ModRM byte"
Jeff Hao [Wed, 23 Apr 2014 21:51:46 +0000 (14:51 -0700)]
Add test that Class.newInstance does not wrap its exceptions.
Unlike Constructor.newInstance, Class.newInstance should not wrap
exceptions it throws.
Bug: https://code.google.com/p/android/issues/detail?id=68620
Change-Id: I47d78904e72f299284d1382bc715ab120d3b1a7f
Mathieu Chartier [Thu, 24 Apr 2014 00:17:52 +0000 (00:17 +0000)]
Merge "Don't allow heap transitions if the runtime is shutting down."
Colin Cross [Wed, 23 Apr 2014 22:42:51 +0000 (22:42 +0000)]
Merge "art: fix dlopen error message"
Colin Cross [Wed, 23 Apr 2014 21:56:31 +0000 (14:56 -0700)]
art: fix dlopen error message
detail is a std::string *, dereference it when logging the error
message.
Change-Id: If73a5806445df17d91ff1a7f4f3a6d31f0e9f54e
Mingyao Yang [Wed, 23 Apr 2014 22:02:33 +0000 (22:02 +0000)]
Merge "Delete throw launchpads."
Mathieu Chartier [Wed, 23 Apr 2014 21:41:11 +0000 (14:41 -0700)]
Don't allow heap transitions if the runtime is shutting down.
Bug:
14254222
Change-Id: I97ac988a96b56a8dc1eec018bf3ef7a691f04745
Vladimir Marko [Wed, 23 Apr 2014 08:50:20 +0000 (08:50 +0000)]
Merge "Separate maps from code in oat file."
Jeff Hao [Wed, 23 Apr 2014 00:16:15 +0000 (00:16 +0000)]
Merge "Fix FindCatchBlock to work in -Xverify:none mode."
Jeff Hao [Tue, 22 Apr 2014 20:54:32 +0000 (13:54 -0700)]
Fix FindCatchBlock to work in -Xverify:none mode.
FindCatchBlock now uses ResolveType to get the exception type,
since it might not be able to find it in the dex cache.
Bug:
13948502
Change-Id: Ia6f1c7dc743206ae1c8551bf6239f48ee4d3a784
Ian Rogers [Tue, 22 Apr 2014 23:03:01 +0000 (23:03 +0000)]
Merge "Remove support for app JNI workarounds."
Ian Rogers [Tue, 22 Apr 2014 22:16:48 +0000 (22:16 +0000)]
Merge "Warn when thread state lookup fails."
Ian Rogers [Tue, 22 Apr 2014 18:42:59 +0000 (11:42 -0700)]
Remove support for app JNI workarounds.
Change-Id: I4396df7e93fcace4b5b19c2c387e5c30089182a6
Hiroshi Yamauchi [Tue, 22 Apr 2014 20:51:07 +0000 (13:51 -0700)]
More code for the read barrier support.
Make it possible to disable the RB in Object::SizeOf() (and the
functions it calls transitively) which the collector will need to call
to get the size of an object when copying.
Add Object::AtomicSetReadBarrierPointer() for atomic write of a RB
pointer.
Bug:
12687968
Change-Id: Ibedd252860ac7ccd17e4e7d71b377a8892b48ff0
buzbee [Tue, 22 Apr 2014 19:51:16 +0000 (19:51 +0000)]
Merge "Update load/store utilities for 64-bit backends"
buzbee [Sat, 19 Apr 2014 20:32:20 +0000 (13:32 -0700)]
Update load/store utilities for 64-bit backends
This CL replaces the typical use of LoadWord/StoreWord
utilities (which, in practice, were 32-bit load/store) in
favor of a new set that make the size explicit. We now have:
LoadWordDisp/StoreWordDisp:
32 or 64 depending on target. Load or store the natural
word size. Expect this to be used infrequently - generally
when we know we're dealing with a native pointer or flushed
register not holding a Dalvik value (Dalvik values will flush
to home location sizes based on Dalvik, rather than the target).
Load32Disp/Store32Disp:
Load or store 32 bits, regardless of target.
Load64Disp/Store64Disp:
Load or store 64 bits, regardless of target.
LoadRefDisp:
Load a 32-bit compressed reference, and expand it to the
natural word size in the target register.
StoreRefDisp:
Compress a reference held in a register of the natural word
size and store it as a 32-bit compressed reference.
Change-Id: I50fcbc8684476abd9527777ee7c152c61ba41c6f
Mathieu Chartier [Tue, 22 Apr 2014 18:12:32 +0000 (18:12 +0000)]
Merge "Return bytes freed from RosAlloc."
Mathieu Chartier [Sat, 12 Apr 2014 00:53:48 +0000 (17:53 -0700)]
Return bytes freed from RosAlloc.
There was a problem with how RosAlloc space sweeping worked caused by
using the object size in the FreeList call, this won't work well with
class unloading since the object's class may be freed before the
object.
Bug:
13989231
Change-Id: I3df439c312310720fd34249334dec85030166fe9
Ian Rogers [Tue, 22 Apr 2014 17:51:17 +0000 (10:51 -0700)]
Warn when thread state lookup fails.
Change-Id: I06781caddcade26148921bc225f28db8b3a63a35
Vladimir Marko [Tue, 8 Apr 2014 13:00:50 +0000 (14:00 +0100)]
Separate maps from code in oat file.
Write all GC maps first, then all mapping tables and then
all vmap tables and only then align the offset to page size
and write all method code chunks with headers.
Bug:
11767815
Change-Id: Ic83555c8303c5be119afc43e95e58c0a32ff2a4f
Vladimir Marko [Tue, 22 Apr 2014 13:25:20 +0000 (13:25 +0000)]
Merge "Avoid allocating OatFile::OatClass on the heap."
Sebastien Hertz [Tue, 22 Apr 2014 09:23:39 +0000 (09:23 +0000)]
Merge "Fix crash when debugging exception"
Nicolas Geoffray [Tue, 22 Apr 2014 08:30:46 +0000 (08:30 +0000)]
Merge "Revert "64bit changes to the stack walker for the Quick ABI.""
Nicolas Geoffray [Tue, 22 Apr 2014 08:30:19 +0000 (08:30 +0000)]
Revert "64bit changes to the stack walker for the Quick ABI."
This reverts commit
5cb328362a633302ca0fcdbaa0da7d94069df051.
Change-Id: Icc0ec1a9f15c2e4e9103e732d7ba75a4feb853b1
Nicolas Geoffray [Tue, 22 Apr 2014 07:48:56 +0000 (07:48 +0000)]
Merge "64bit changes to the stack walker for the Quick ABI."
Sebastien Hertz [Tue, 22 Apr 2014 07:05:52 +0000 (07:05 +0000)]
Merge "Speed up single-stepping"
Bill Buzbee [Tue, 22 Apr 2014 04:37:42 +0000 (04:37 +0000)]
Merge "GenArithOpInt should ensure that reg is in core"
Mingyao Yang [Mon, 21 Apr 2014 22:39:44 +0000 (15:39 -0700)]
Delete throw launchpads.
Bug:
13170824
Change-Id: I9d5834f5a66f5eb00f2ac80774e8c27dea99949e
Mingyao Yang [Mon, 21 Apr 2014 22:30:12 +0000 (22:30 +0000)]
Merge "Revert "Revert "Use LIRSlowPath for throwing ArrayOutOfBoundsException."""
Mingyao Yang [Mon, 21 Apr 2014 21:50:49 +0000 (21:50 +0000)]
Merge "Add an option to specify a list of methods for LIR dumping."
Andreas Gampe [Mon, 21 Apr 2014 17:45:40 +0000 (17:45 +0000)]
Merge "ART: GTest target tests missing "PASSED""
Andreas Gampe [Mon, 21 Apr 2014 16:51:07 +0000 (09:51 -0700)]
ART: GTest target tests missing "PASSED"
This seems to have gotten lost a while ago.
Change-Id: Ia0114d4fc0dfcf6e53339307cd556e168312fc53
Andreas Gampe [Mon, 21 Apr 2014 16:33:28 +0000 (16:33 +0000)]
Merge "Fix dependencies in the test suite for multi-target tests"
Andreas Gampe [Mon, 21 Apr 2014 14:50:39 +0000 (07:50 -0700)]
Fix dependencies in the test suite for multi-target tests
Change-Id: I94dd767490a7cd8cceddc158d90f56f5bd3fef26
Mingyao Yang [Fri, 18 Apr 2014 23:49:39 +0000 (16:49 -0700)]
Add an option to specify a list of methods for LIR dumping.
An example would be:
--runtime-arg -verbose-methods:Array.checkRange32,Array.checkRange64
or
"-verbose-methods:void Array.checkRange32,void Array.checkRange64"
Change-Id: I61c1eb3b2eb4b24126a9264261c27889d53cc6bd
Ian Rogers [Fri, 18 Apr 2014 23:23:04 +0000 (23:23 +0000)]
Merge "Get instruction-set/features from build/core/config.mk"
Ian Rogers [Fri, 18 Apr 2014 22:40:37 +0000 (15:40 -0700)]
Get instruction-set/features from build/core/config.mk
Depends upon https://android-review.googlesource.com/#/c/91524
Change-Id: Iad1a1b0499aac7acf7c4e42b62bb3fe4474e2f47
Christopher Ferris [Fri, 18 Apr 2014 22:44:14 +0000 (22:44 +0000)]
Merge "Modify unwind to comply with stack parser tools."
Christopher Ferris [Thu, 17 Apr 2014 02:13:59 +0000 (19:13 -0700)]
Modify unwind to comply with stack parser tools.
Bug:
14081592
Change-Id: I6906b2575c74d64f1c3ba7602779b3a789de1c69
Brian Carlstrom [Fri, 18 Apr 2014 22:05:59 +0000 (22:05 +0000)]
Merge "Fixing missing newlines in Usage calls"
Mingyao Yang [Fri, 18 Apr 2014 19:10:58 +0000 (12:10 -0700)]
Revert "Revert "Use LIRSlowPath for throwing ArrayOutOfBoundsException.""
This adds back using LIRSlowPath for ArrayIndexOutOfBoundsException.
And fix the host test crash.
Change-Id: Idbb602f4bb2c5ce59233feb480a0ff1b216e4887
Brian Carlstrom [Fri, 18 Apr 2014 21:18:41 +0000 (14:18 -0700)]
Fixing missing newlines in Usage calls
Change-Id: Ie5f1098dc7b3c485732bff929d36dbcc4b69511f
Mathieu Chartier [Fri, 18 Apr 2014 21:07:44 +0000 (21:07 +0000)]
Merge "Fix ForegroundHeapGrowthMultiplier and ParseDouble."
Mathieu Chartier [Fri, 18 Apr 2014 19:02:39 +0000 (12:02 -0700)]
Fix ForegroundHeapGrowthMultiplier and ParseDouble.
ForegroundHeapGrowthMultiplier had a bad range of allowed values.
The new range is 0.1 - 10.0 instead of 0.1 to 0.9. ParseDouble usage
had incorrect printing var args and caused segfaults.
Change-Id: I4573005ee9f888cc8140200543176d6a2e17fccc
Mathieu Chartier [Fri, 18 Apr 2014 18:27:49 +0000 (18:27 +0000)]
Merge "Replace ObjectSet with LargeObjectBitmap."
Andreas Gampe [Fri, 18 Apr 2014 17:11:36 +0000 (17:11 +0000)]
Merge "Fix elf_writer_test for 64b target"
Andreas Gampe [Fri, 18 Apr 2014 17:00:40 +0000 (10:00 -0700)]
Fix elf_writer_test for 64b target
The path to the core oat file is dependent on the bit-ness.
Change-Id: I725b9b0f760ae14d0c38d747ad31821da7445dec
Nicolas Geoffray [Thu, 17 Apr 2014 13:05:19 +0000 (14:05 +0100)]
64bit changes to the stack walker for the Quick ABI.
- Spill registers have different sizes.
- The ArtMethod at the bottom of the stack is always of kWordSize.
Change-Id: I92f67ff928477970c393c7146980255d08e8e6af
Sebastien Hertz [Fri, 18 Apr 2014 06:45:02 +0000 (06:45 +0000)]
Merge "Revert "Use LIRSlowPath for throwing ArrayOutOfBoundsException.""
Brian Carlstrom [Fri, 18 Apr 2014 06:11:17 +0000 (23:11 -0700)]
Revert "Use LIRSlowPath for throwing ArrayOutOfBoundsException."
This reverts commit
9d46314a309aff327f9913789b5f61200c162609.
Ian Rogers [Fri, 18 Apr 2014 05:50:59 +0000 (05:50 +0000)]
Merge "Fix a use of OpCondBranch that breaks the MIPS build."
Serguei Katkov [Tue, 15 Apr 2014 09:55:26 +0000 (16:55 +0700)]
GenArithOpInt should ensure that reg is in core
GenArithOpInt in two-addr case of add-int where destination is in
register should ensure that it is a core reg.
Change-Id: I5b5ca126773a2bb45f9b23ad892102b034d694b4
Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com>
Mathieu Chartier [Wed, 16 Apr 2014 16:48:48 +0000 (09:48 -0700)]
Replace ObjectSet with LargeObjectBitmap.
Speeds up large object marking since large objects no longer required
a lock. Changed the GCs to use the heap bitmap for marking objects
which aren't in the fast path. This eliminates the need for a
MarkLargeObject function.
Maps before (10 GC iterations):
Mean partial time: 180ms
Mean sticky time: 151ms
Maps after:
Mean partial time: 161ms
Mean sticky time: 101ms
Note: the GC durations are long due to recent ergonomic changes and
because the fast bulk free hasn't yet been enabled. Over 50% of the
GC time is spent in RosAllocSpace::FreeList.
Bug:
13571028
Change-Id: Id8f94718aeaa13052672ccbae1e8edf77d653f62
Mingyao Yang [Fri, 18 Apr 2014 01:46:24 +0000 (18:46 -0700)]
Fix a use of OpCondBranch that breaks the MIPS build.
Change-Id: I09e19cb00c1e3f4bc0b0293f58674c9160094f7f
Mingyao Yang [Fri, 18 Apr 2014 00:18:27 +0000 (00:18 +0000)]
Merge "Use LIRSlowPath for throwing ArrayOutOfBoundsException."
Ian Rogers [Fri, 18 Apr 2014 00:18:10 +0000 (00:18 +0000)]
Merge "Interpreter-only mode should cause dex-to-dex compilation."
Ian Rogers [Thu, 17 Apr 2014 23:40:01 +0000 (16:40 -0700)]
Interpreter-only mode should cause dex-to-dex compilation.
Also, fix quick iget/iput that had similar issues to:
https://android-review.googlesource.com/91423
Also, remove fall-back resolution code from quick invokes/igets/iputs as we
allow class loading for the exception throw and regular verification already
allows class loading.
Bug:
14133618
Change-Id: I51199e6e2392da0354f64b157e79af494c183778
Ian Rogers [Thu, 17 Apr 2014 23:38:39 +0000 (23:38 +0000)]
Merge "Comment disallow new monitors."
Ian Rogers [Thu, 17 Apr 2014 23:08:07 +0000 (16:08 -0700)]
Comment disallow new monitors.
Change-Id: Ie50424c73be051f9856ef9e86bdbf83fa76bbc48
Mathieu Chartier [Thu, 17 Apr 2014 23:06:26 +0000 (23:06 +0000)]
Merge "Use non volatile lock words in semispace collector."
Mathieu Chartier [Thu, 17 Apr 2014 21:43:39 +0000 (14:43 -0700)]
Use non volatile lock words in semispace collector.
GSS FormulaEvaluationActions.EvaluateAndApplyChanges:
Before GC time: 9.1s
After GC time: 7.98s
Fixed timing logger errors.
Change-Id: I4193c6ccbbbe7a7220dfaabbf3472a5dcebae616
Mingyao Yang [Thu, 17 Apr 2014 22:22:09 +0000 (15:22 -0700)]
Use LIRSlowPath for throwing ArrayOutOfBoundsException.
Get rid of launchpads for throwing ArrayOutOfBoundsException
and use LIRSlowPath instead.
Bug:
13170824
Change-Id: I0e27f7a261a6a7fb5c0645e6113a957e098f699e
Ian Rogers [Thu, 17 Apr 2014 21:57:26 +0000 (21:57 +0000)]
Merge "Add untested x86-64 downcall and exception assembly."
Andreas Gampe [Thu, 17 Apr 2014 21:10:52 +0000 (21:10 +0000)]
Merge "Fix a class-loading bug in the verifier when throwing NPE"
Andreas Gampe [Thu, 17 Apr 2014 19:28:43 +0000 (12:28 -0700)]
Fix a class-loading bug in the verifier when throwing NPE
When throwing an NPE for invocation, we try to resolve the class of
the method being called. When in the interpreter and having quickened
code, that failed.
Bug:
14133618
Change-Id: I4964b908bb26a82a12263fb86f5dc39c9042479b
Mingyao Yang [Thu, 17 Apr 2014 17:31:48 +0000 (17:31 +0000)]
Merge "Use LIRSlowPath for throwing NPE."
Ian Rogers [Thu, 17 Apr 2014 00:33:27 +0000 (17:33 -0700)]
Add untested x86-64 downcall and exception assembly.
Change-Id: Ic555f9f5af8c3a2110a92e55772ff6c0128e5c19
Bill Buzbee [Thu, 17 Apr 2014 17:10:45 +0000 (17:10 +0000)]
Merge "String.IndexOf method handles negative start index value in incorrect way"
Nicolas Geoffray [Thu, 17 Apr 2014 14:17:09 +0000 (14:17 +0000)]
Merge "Code cleanup in preparation for x64 backend."
Nicolas Geoffray [Thu, 17 Apr 2014 13:56:23 +0000 (14:56 +0100)]
Code cleanup in preparation for x64 backend.
- Use InvokeDexCallingConventionVisitor for setting
up HParameterValues
- Use kVregSize instead of kX86WordSize when dealing with
virtual registers.
Change-Id: Ia520223010194c70a3ff0ed659077f55cec4e7d8
Nicolas Geoffray [Thu, 17 Apr 2014 13:23:49 +0000 (13:23 +0000)]
Merge "Simplify HInvokeStatic code generation."
Nicolas Geoffray [Wed, 16 Apr 2014 16:38:32 +0000 (17:38 +0100)]
Simplify HInvokeStatic code generation.
HPushArgument is not needed for now (but might be when we start
optimizing). Also, calling convention for 64bits backend will
require to know more about the argument than the argument's
index. Therefore currently let HInvokeStatic setup the arguments,
which is possible because arguments of a calls are virtual registers
and not instructions.
Change-Id: I8753ed6083aa083c5180ab53b436dc8de4f1fe31
Alexei Zavjalov [Wed, 16 Apr 2014 18:55:43 +0000 (01:55 +0700)]
String.IndexOf method handles negative start index value in incorrect way
The standard implementation of String.IndexOf converts the negative value of
the start index to 0 and searching will start from the beginning of the string.
But current implementation may start searching from the incorrect memory
offset, that can lead to sigsegv or return incorrect result.
This patch adds the handler for cases when fromIndex is negative.
Change-Id: I3ac86290712789559eaf5e46bef0006872395bfa
Signed-off-by: Alexei Zavjalov <alexei.zavjalov@intel.com>
Vladimir Kostyukov [Tue, 15 Apr 2014 08:41:47 +0000 (15:41 +0700)]
ART: Fixes an issue with REX prefix for instructions with no ModRM byte
There are instructions (such as push, pop, mov) in the x86 ISA
that encode first operands in their opcodes (opcode + reg).
In order to enable an extended 64bit registers (R9-R15) a special
prefix REX.B should be emitted before such instructions.
This patch fixes the issue when REX.R prefix was emitted before
instructions with no MorRM byte. So, the REX-prefix was simply
ignored by CPU for those instructions whose operands are encoded
in their opcodes.
This patch makes the jni_compiler_test passed with JNI compiler
enabled for x86_64 target.
Change-Id: Ib84da1cf9f8ff96bd7afd4e0fc53078f3231f8ec
Signed-off-by: Vladimir Kostyukov <vladimir.kostyukov@intel.com>
Ian Rogers [Thu, 17 Apr 2014 00:13:27 +0000 (00:13 +0000)]
Merge "Preparation for transition to libc++."
Ian Rogers [Wed, 16 Apr 2014 23:34:44 +0000 (16:34 -0700)]
Preparation for transition to libc++.
Move the dependency on libc++ to its own makefile so that we can switch in a
single place between libc++ and stlport.
Change-Id: Ie61e7d054dcd049e36d5e7298c27d8a4abe6edf7
Brian Carlstrom [Wed, 16 Apr 2014 22:19:47 +0000 (22:19 +0000)]
Merge "Disable another timing sensitive test on dist builds"
Andreas Gampe [Wed, 16 Apr 2014 22:17:24 +0000 (22:17 +0000)]
Merge "Build dex2oat as 64b for the target when using zygote64"
Brian Carlstrom [Wed, 16 Apr 2014 22:12:45 +0000 (15:12 -0700)]
Disable another timing sensitive test on dist builds
Change-Id: I1c0dc16ff22b23dbd238cbeba3f4c078c3ffeaed
Ian Rogers [Wed, 16 Apr 2014 22:08:29 +0000 (22:08 +0000)]
Merge "Fix volatile wide put/get to be atomic on x86 arch"
Yevgeny Rouban [Wed, 16 Apr 2014 11:13:10 +0000 (18:13 +0700)]
Fix volatile wide put/get to be atomic on x86 arch
Current implementation puts memory barriers for volatile fields.
Volatile semantics needs atomicity, which are not guaranteed by memory barriers.
The patch forces all wide volatile fields to be loaded/stored using
xmm registers.
Change-Id: Ie78e186d13ffa237e6e93747b71d26651fa02866
Signed-off-by: Yevgeny Rouban <yevgeny.y.rouban@intel.com>
Andreas Gampe [Wed, 16 Apr 2014 22:03:11 +0000 (15:03 -0700)]
Build dex2oat as 64b for the target when using zygote64
In single-zygote 64b builds we should build dex2oat as 64b to
avoid installd issues
Change-Id: I5f281d90fbd44abbca4182e39162b184be9f1b35
Mathieu Chartier [Wed, 16 Apr 2014 22:01:38 +0000 (22:01 +0000)]
Merge "Decrease target utilization for foreground apps."
Mingyao Yang [Tue, 8 Apr 2014 18:02:52 +0000 (11:02 -0700)]
Use LIRSlowPath for throwing NPE.
Get rid of launchpads for throwing NPE and use LIRSlowPath instead.
Also clean up some code of using LIRSlowPath for checking div
by zero.
Bug:
13170824
Change-Id: I0c20a49c39feff3eb1f147755e557d9bc0ff15bb
Mathieu Chartier [Tue, 15 Apr 2014 22:37:02 +0000 (15:37 -0700)]
Decrease target utilization for foreground apps.
GC time in FormulaEvaluationActions.EvaluateAndApplyChanges goes from
26.1s to 23.2s. Benchmark score goes down ~50 in
FormulaEvaluationActions.EvaluateAndApplyChanges, and up ~50 in
GenericCalcActions.MemAllocTest.
Bug:
8788501
Change-Id: I412af1205f8b67e70a12237c990231ea62167bc0
Ian Rogers [Wed, 16 Apr 2014 19:14:21 +0000 (19:14 +0000)]
Merge "Fix thread join hangs"