OSDN Git Service

android-x86/art.git
9 years agoMerge "ART: Add entries_ lock for race condition"
Mathieu Chartier [Fri, 13 Mar 2015 17:56:45 +0000 (17:56 +0000)]
Merge "ART: Add entries_ lock for race condition"

9 years agoART: Add entries_ lock for race condition
bowen_lai [Fri, 13 Mar 2015 06:34:40 +0000 (14:34 +0800)]
ART: Add entries_ lock for race condition

GCDaemon thread would visit incorrect RegType content when there is
another thread initializing classes.
Add a lock to protect entries_.

https://code.google.com/p/android/issues/detail?id=159849

Change-Id: Iabaa1c7f5cc5106b60a6e3856152e0797e8a5d6d

9 years agoMerge "Refactor code in preparation of correct stack maps in slow path."
Nicolas Geoffray [Fri, 13 Mar 2015 17:04:29 +0000 (17:04 +0000)]
Merge "Refactor code in preparation of correct stack maps in slow path."

9 years agoRefactor code in preparation of correct stack maps in slow path.
Nicolas Geoffray [Fri, 13 Mar 2015 16:36:36 +0000 (16:36 +0000)]
Refactor code in preparation of correct stack maps in slow path.

Move the logic of saving/restoring live registers in slow path
in the SlowPathCode method. Also add a RecordPcInfo helper to
SlowPathCode, that will act as the placeholder of saving correct
stack maps.

Change-Id: I25c2bc7a642ef854bbc8a3eb570e5c8c8d2d030c

9 years agoMerge "ART: Fix arraycopy in Unstarted Runtime"
Andreas Gampe [Fri, 13 Mar 2015 16:20:19 +0000 (16:20 +0000)]
Merge "ART: Fix arraycopy in Unstarted Runtime"

9 years agoART: Fix arraycopy in Unstarted Runtime
Andreas Gampe [Thu, 12 Mar 2015 01:34:44 +0000 (18:34 -0700)]
ART: Fix arraycopy in Unstarted Runtime

Add null and bounds checks. Add type checks. Implement correct
copy in case of overlap.

The emulation is not complete. Object arrays with different types
are not supported to simplify the implementation.

Change-Id: I107bed1ce884ca632de3fa648fa7a1c5f592e2a4

9 years agoMerge "Align CodeInfo regions instead of their inner subregions."
Roland Levillain [Fri, 13 Mar 2015 13:54:27 +0000 (13:54 +0000)]
Merge "Align CodeInfo regions instead of their inner subregions."

9 years agoAlign CodeInfo regions instead of their inner subregions.
Roland Levillain [Fri, 13 Mar 2015 12:23:04 +0000 (12:23 +0000)]
Align CodeInfo regions instead of their inner subregions.

Instead of word-aligning every stack map region, as well as
the Dex register maps region of a CodeInfo object, just
align the whole CodeInfo region itself.

Change-Id: Ia35d213d2bd184729aa0d048874c76f7bc6da0f6

9 years agoMerge "Fix the computation of the size of the stack maps region."
Roland Levillain [Fri, 13 Mar 2015 12:40:16 +0000 (12:40 +0000)]
Merge "Fix the computation of the size of the stack maps region."

9 years agoFix the computation of the size of the stack maps region.
Roland Levillain [Fri, 13 Mar 2015 11:45:07 +0000 (11:45 +0000)]
Fix the computation of the size of the stack maps region.

In art::StackMapStream::ComputeStackMapSize, compute the
size of a CodeInfo's stack maps region using the stack
mask size, not the maximum element of the stack mask.
Also, rename this method as
art::StackMapStream::ComputeStackMapsSize to make it clear
it that it covers all the stack maps of the CodeInfo item,
not just one stack map.

Change-Id: Icad21946dbca6e1ade2b82c9c2c535fdfed110a9

9 years agoMerge "Disable inlining in Optimizing when --debuggable is set."
Nicolas Geoffray [Fri, 13 Mar 2015 10:37:33 +0000 (10:37 +0000)]
Merge "Disable inlining in Optimizing when --debuggable is set."

9 years agoMerge "API change in StackVisitor::GetVReg*."
Nicolas Geoffray [Fri, 13 Mar 2015 10:32:31 +0000 (10:32 +0000)]
Merge "API change in StackVisitor::GetVReg*."

9 years agoAPI change in StackVisitor::GetVReg*.
Nicolas Geoffray [Thu, 12 Mar 2015 15:05:13 +0000 (15:05 +0000)]
API change in StackVisitor::GetVReg*.

- Remove GetVReg() and SetVReg() that were expecting to always succeed.
- Change Quick-only methods to take a FromQuickCode suffix.
- Change deopt to use dead values when GetVReg does not succeed:
  the optimizing compiler will not have a location for uninitialized
  Dex registers and potentially dead registers.

Change-Id: Ida05773a97aff8aa69e0caf42ea961f80f854b77

9 years agoDisable inlining in Optimizing when --debuggable is set.
Nicolas Geoffray [Fri, 13 Mar 2015 08:57:42 +0000 (08:57 +0000)]
Disable inlining in Optimizing when --debuggable is set.

Change-Id: I6365269e606e0c176e518c06719ebdaf6a4c4b88

9 years agoMerge "art/test/100-reflect2: change incorrect expectations."
Sergio Giro [Fri, 13 Mar 2015 09:53:39 +0000 (09:53 +0000)]
Merge "art/test/100-reflect2: change incorrect expectations."

9 years agoMerge "Fix build breakage."
Nicolas Geoffray [Fri, 13 Mar 2015 08:55:51 +0000 (08:55 +0000)]
Merge "Fix build breakage."

9 years agoFix build breakage.
Nicolas Geoffray [Fri, 13 Mar 2015 08:55:09 +0000 (08:55 +0000)]
Fix build breakage.

Change-Id: I86959eca5d8f5458ff75c78776b0af9db9c26800

9 years agoMerge "Tweak liveness when instructions are used in environments."
Nicolas Geoffray [Fri, 13 Mar 2015 08:45:10 +0000 (08:45 +0000)]
Merge "Tweak liveness when instructions are used in environments."

9 years agoMerge "Fix copy/paste documentation error."
Dan Albert [Fri, 13 Mar 2015 00:49:22 +0000 (00:49 +0000)]
Merge "Fix copy/paste documentation error."

9 years agoFix copy/paste documentation error.
Dan Albert [Fri, 13 Mar 2015 00:26:05 +0000 (17:26 -0700)]
Fix copy/paste documentation error.

Change-Id: I153a8fdb3644c7178895ce0cc6c1c3f6ce3c6876

9 years agoMerge "ART: More cutouts for unstarted runtime"
Andreas Gampe [Thu, 12 Mar 2015 23:17:12 +0000 (23:17 +0000)]
Merge "ART: More cutouts for unstarted runtime"

9 years agoART: More cutouts for unstarted runtime
Andreas Gampe [Mon, 9 Mar 2015 19:57:41 +0000 (12:57 -0700)]
ART: More cutouts for unstarted runtime

Dex objects keep byte buffers to mapped dex files. For annotation
access we create them when compiling, but they must be cleared before
writing an image.

Add some Memory functions.

Bug: 19542228
Change-Id: I995791b43f2b09192d88645821d9e55b45f1b606

9 years agoMerge "Improve 080-oom-throw-with-finalizer."
Hiroshi Yamauchi [Thu, 12 Mar 2015 22:56:46 +0000 (22:56 +0000)]
Merge "Improve 080-oom-throw-with-finalizer."

9 years agoMerge "ART: Save work-line for pending runtime failure"
Andreas Gampe [Thu, 12 Mar 2015 22:37:14 +0000 (22:37 +0000)]
Merge "ART: Save work-line for pending runtime failure"

9 years agoImprove 080-oom-throw-with-finalizer.
Hiroshi Yamauchi [Thu, 12 Mar 2015 20:12:53 +0000 (13:12 -0700)]
Improve 080-oom-throw-with-finalizer.

Avoid potential OOME that may be thrown during System.out.println or
System.runFinalization.

Bug: 19677738
Change-Id: I60c678000e965899cc876e746e72dc9cc0c6ebf9

9 years agoMerge "Add missing patchoatd dependency for oat_file_assistant_test."
Richard Uhler [Thu, 12 Mar 2015 20:07:59 +0000 (20:07 +0000)]
Merge "Add missing patchoatd dependency for oat_file_assistant_test."

9 years agoMerge "ART: Allow multiple invoke-with for art script"
Andreas Gampe [Thu, 12 Mar 2015 20:00:20 +0000 (20:00 +0000)]
Merge "ART: Allow multiple invoke-with for art script"

9 years agoAdd missing patchoatd dependency for oat_file_assistant_test.
Richard Uhler [Thu, 12 Mar 2015 19:35:43 +0000 (12:35 -0700)]
Add missing patchoatd dependency for oat_file_assistant_test.

Change-Id: I11c64401d0b0c75ef4cc7fbdabf3fcc7d6fd048b

9 years agoMerge "Force word alignment of Dex register maps."
Roland Levillain [Thu, 12 Mar 2015 18:35:45 +0000 (18:35 +0000)]
Merge "Force word alignment of Dex register maps."

9 years agoForce word alignment of Dex register maps.
Roland Levillain [Thu, 12 Mar 2015 18:33:05 +0000 (18:33 +0000)]
Force word alignment of Dex register maps.

Plus some cosmetic changes.

Change-Id: I45e805aa87c2ef8fe8907eaae726cd2188b54897

9 years agoMerge "Add way to select arena type at runtime"
Mathieu Chartier [Thu, 12 Mar 2015 18:09:49 +0000 (18:09 +0000)]
Merge "Add way to select arena type at runtime"

9 years agoART: Save work-line for pending runtime failure
Andreas Gampe [Thu, 12 Mar 2015 18:05:47 +0000 (11:05 -0700)]
ART: Save work-line for pending runtime failure

When we detect a pending runtime failure, we'll handle it as a
generic throw, no matter the instruction type. But we won't have
saved the work-line, which means we'll try to merge garbage into
the handler's line.

Copy the work-line when we set the failure.

Bug: 19634276
Change-Id: I54df9e9492cd48802f93e2f1938adaadc55c9bd5

9 years agoAdd way to select arena type at runtime
Mathieu Chartier [Thu, 12 Mar 2015 17:06:33 +0000 (10:06 -0700)]
Add way to select arena type at runtime

We now use MemMap for JIT, and malloc for everything else. This
should help fix the allegedly regressed compile times.

Change-Id: I6a6552738933f9d7ee3bd23f45e310818b19b70d

9 years agoTweak liveness when instructions are used in environments.
Nicolas Geoffray [Wed, 11 Mar 2015 15:11:19 +0000 (15:11 +0000)]
Tweak liveness when instructions are used in environments.

Instructions remain live when debuggable, but only instructions
with object types remain live when non-debuggable.

Enable StackVisitor::GetThisObject for optimizing.

Change-Id: Id87b2cbf33a02450059acc9993995782e5f28987

9 years agoMerge "ART: correct native bytes allocated in RegisterNativeAllocation"
Mathieu Chartier [Thu, 12 Mar 2015 17:25:21 +0000 (17:25 +0000)]
Merge "ART: correct native bytes allocated in RegisterNativeAllocation"

9 years agoMerge "Opt compiler: Basic simplification for arithmetic operations."
Roland Levillain [Thu, 12 Mar 2015 17:00:14 +0000 (17:00 +0000)]
Merge "Opt compiler: Basic simplification for arithmetic operations."

9 years agoART: Allow multiple invoke-with for art script
Andreas Gampe [Thu, 12 Mar 2015 16:58:53 +0000 (09:58 -0700)]
ART: Allow multiple invoke-with for art script

Just like run-test, allow multiple invoke-with arguments that are
chained together.

Change-Id: I9f0d2d23fbff1cef32f0bb69e1bb803e157cfb73

9 years agoMerge "Fix CC collector boot."
Hiroshi Yamauchi [Thu, 12 Mar 2015 16:56:20 +0000 (16:56 +0000)]
Merge "Fix CC collector boot."

9 years agoMerge "Fix style error in runtime/memory_region_test.cc."
Roland Levillain [Thu, 12 Mar 2015 16:16:26 +0000 (16:16 +0000)]
Merge "Fix style error in runtime/memory_region_test.cc."

9 years agoFix style error in runtime/memory_region_test.cc.
Roland Levillain [Thu, 12 Mar 2015 16:15:32 +0000 (16:15 +0000)]
Fix style error in runtime/memory_region_test.cc.

Change-Id: I0a34675c71e3ecb65566aa425ac30f5a52837cbb

9 years agoMerge "Compress the Dex register maps built by the optimizing compiler."
Roland Levillain [Thu, 12 Mar 2015 15:44:09 +0000 (15:44 +0000)]
Merge "Compress the Dex register maps built by the optimizing compiler."

9 years agoCompress the Dex register maps built by the optimizing compiler.
Roland Levillain [Thu, 12 Mar 2015 15:25:29 +0000 (15:25 +0000)]
Compress the Dex register maps built by the optimizing compiler.

- Replace the current list-based (fixed-size) Dex register
  encoding in stack maps emitted by the optimizing compiler
  with another list-based variable-size Dex register
  encoding compressing short locations on 1 byte (3 bits for
  the location kind, 5 bits for the value); other (large)
  values remain encoded on 5 bytes.
- In addition, use slot offsets instead of byte offsets to
  encode the location of Dex registers placed in stack
  slots at small offsets, as it enables more values to use
  the short (1-byte wide) encoding instead of the large
  (5-byte wide) one.
- Rename art::DexRegisterMap::LocationKind as
  art::DexRegisterLocation::Kind, turn it into a
  strongly-typed enum based on a uint8_t, and extend it to
  support new kinds (kInStackLargeOffset and
  kConstantLargeValue).
- Move art::DexRegisterEntry from
  compiler/optimizing/stack_map_stream.h to
  runtime/stack_map.h and rename it as
  art::DexRegisterLocation.
- Adjust art::StackMapStream,
  art::CodeGenerator::RecordPcInfo,
  art::CheckReferenceMapVisitor::CheckOptimizedMethod,
  art::StackVisitor::GetVRegFromOptimizedCode, and
  art::StackVisitor::SetVRegFromOptimizedCode.
- Implement unaligned memory accesses in art::MemoryRegion.
- Use them to manipulate data in Dex register maps.
- Adjust oatdump to support the new Dex register encoding.
- Update compiler/optimizing/stack_map_test.cc.

Change-Id: Icefaa2e2b36b3c80bb1b882fe7ea2f77ba85c505

9 years agoMerge "Fix art_quick_instrumentation_exit stub for x86_64"
Sebastien Hertz [Thu, 12 Mar 2015 14:30:08 +0000 (14:30 +0000)]
Merge "Fix art_quick_instrumentation_exit stub for x86_64"

9 years agoFix art_quick_instrumentation_exit stub for x86_64
Sebastien Hertz [Thu, 12 Mar 2015 14:10:50 +0000 (15:10 +0100)]
Fix art_quick_instrumentation_exit stub for x86_64

Restores callee-saved registers.

Bug: 19708384
Change-Id: I1cb47b1cc616af613816c4ee041bdfc975bf9f20

9 years agoMerge "Run the natural loop recognizer before building SSA."
Nicolas Geoffray [Thu, 12 Mar 2015 11:35:29 +0000 (11:35 +0000)]
Merge "Run the natural loop recognizer before building SSA."

9 years agoRun the natural loop recognizer before building SSA.
Nicolas Geoffray [Thu, 12 Mar 2015 11:16:23 +0000 (11:16 +0000)]
Run the natural loop recognizer before building SSA.

SSA building checks the consistency of the graph when dealing
with dead phis.

Fixes continuous AOSP builds with optimizing.

Change-Id: Ia9a0f0adc24a8e144e54444e090ad828b9b40040

9 years agoMerge "Revert "Opt Compiler: Materialise constants that cannot be encoded""
Nicolas Geoffray [Thu, 12 Mar 2015 11:06:25 +0000 (11:06 +0000)]
Merge "Revert "Opt Compiler: Materialise constants that cannot be encoded""

9 years agoRevert "Opt Compiler: Materialise constants that cannot be encoded"
Nicolas Geoffray [Thu, 12 Mar 2015 11:06:03 +0000 (11:06 +0000)]
Revert "Opt Compiler: Materialise constants that cannot be encoded"

Fails building the core image.

This reverts commit 758c2f65805564e0c51cccaacf8307e52a9e312b.

Change-Id: Ic3ebd8a08a3d17a513d820035b430f6de4125866

9 years agoMerge "Give an expected type to phis created for multiple returns."
Nicolas Geoffray [Thu, 12 Mar 2015 11:01:55 +0000 (11:01 +0000)]
Merge "Give an expected type to phis created for multiple returns."

9 years agoGive an expected type to phis created for multiple returns.
Nicolas Geoffray [Thu, 12 Mar 2015 10:34:11 +0000 (10:34 +0000)]
Give an expected type to phis created for multiple returns.

When inlining, we used to take the type of the inlined method
for the phi in case of multiple returns. I recently changed the
logic of phi types to only be of int/float/double/ref, so we
need to call ToPhiType when creating the phi.

Change-Id: I960067ca8a8814509c2a7c52c08387d892ebf4a3

9 years agoMerge "Opt Compiler: Materialise constants that cannot be encoded"
Nicolas Geoffray [Thu, 12 Mar 2015 10:52:05 +0000 (10:52 +0000)]
Merge "Opt Compiler: Materialise constants that cannot be encoded"

9 years agoART: correct native bytes allocated in RegisterNativeAllocation
Lin Zang [Tue, 10 Mar 2015 10:53:21 +0000 (18:53 +0800)]
ART: correct native bytes allocated in RegisterNativeAllocation

Fix the issue that in RegisterNativeAllocation the new_native_bytes_allocated
was not updated after Runfinalization, which may cause unnecessary GC.

Change-Id: Icbbc0d1cbcd7b1b8e42576104de69c8ff3afa745
Signed-off-by: Lin Zang <lin.zang@intel.com>
9 years agoFix CC collector boot.
Hiroshi Yamauchi [Thu, 12 Mar 2015 02:09:07 +0000 (19:09 -0700)]
Fix CC collector boot.

Avoid a DCHECK failure that the semi space collector isn't initialized
at the pre-zygote fork time when the CC collector is used.

Change-Id: If35707b241be05a341abb11ba51fbd0bc222d219

9 years agoMerge "ART: Check that boot image classes are verified"
Andreas Gampe [Thu, 12 Mar 2015 01:41:32 +0000 (01:41 +0000)]
Merge "ART: Check that boot image classes are verified"

9 years agoMerge "Rosalloc thread local allocation path without a cas."
Hiroshi Yamauchi [Wed, 11 Mar 2015 23:32:57 +0000 (23:32 +0000)]
Merge "Rosalloc thread local allocation path without a cas."

9 years agoRosalloc thread local allocation path without a cas.
Hiroshi Yamauchi [Mon, 9 Mar 2015 18:57:48 +0000 (11:57 -0700)]
Rosalloc thread local allocation path without a cas.

Speedup on N4:
MemAllocTest 3044 -> 2396 (~21% reduction)
BinaryTrees  4101 -> 2929 (~26% reduction)

Bug: 9986565
Change-Id: Ia1d1a37b9e001f903c3c056e8ec68fc8c623a78b

9 years agoMerge "Properly compile multidex for tests when using Jack."
Richard Uhler [Wed, 11 Mar 2015 21:12:42 +0000 (21:12 +0000)]
Merge "Properly compile multidex for tests when using Jack."

9 years agoMerge "ART: Fix finalizable class in Unstarted Runtime"
Andreas Gampe [Wed, 11 Mar 2015 21:10:12 +0000 (21:10 +0000)]
Merge "ART: Fix finalizable class in Unstarted Runtime"

9 years agoART: Fix finalizable class in Unstarted Runtime
Andreas Gampe [Wed, 11 Mar 2015 20:24:35 +0000 (13:24 -0700)]
ART: Fix finalizable class in Unstarted Runtime

Add a finalizable check for emulation of Class.newInstance, as this
is not allowed in transactional mode.

Change-Id: I9633929bf484ac8807b97209ab4b422c320b04da

9 years agoMerge "ART: Fix AbortTransaction in Unstarted Runtime"
Andreas Gampe [Wed, 11 Mar 2015 20:07:37 +0000 (20:07 +0000)]
Merge "ART: Fix AbortTransaction in Unstarted Runtime"

9 years agoART: Fix AbortTransaction in Unstarted Runtime
Andreas Gampe [Wed, 11 Mar 2015 19:44:47 +0000 (12:44 -0700)]
ART: Fix AbortTransaction in Unstarted Runtime

Can only call AbortTransaction if in a transaction. Should log
something else otherwise and fail.

Change-Id: I31ea3558c38fb6284ee6cacd1eafe01910e0965e

9 years agoMerge "Fix incompatible class change error for JIT stress mode"
Mathieu Chartier [Wed, 11 Mar 2015 19:52:04 +0000 (19:52 +0000)]
Merge "Fix incompatible class change error for JIT stress mode"

9 years agoFix incompatible class change error for JIT stress mode
Mathieu Chartier [Fri, 6 Mar 2015 18:59:06 +0000 (10:59 -0800)]
Fix incompatible class change error for JIT stress mode

There was a problem with miranda methods, when we would dequicken to
one of these, it wouldn't resolve as virtual during the method
lowering resolve. The solution is to try resolving as interface if we
fail to resolve as virtual.

Fixed a bug in dequickening where unreachable register lines with
quick invokes would cause CHECK failuers. In this case we punt to the
interpreter (test 435-try-*).

Added test regression test. Example failure:
java.lang.IncompatibleClassChangeError: The method
'void Main$TheInterface.m()' was expected to be of type virtual but
instead was found to be of type interface (declaration of
'java.lang.reflect.ArtMethod' appears in
out/host/linux-x86/framework/core-libart-hostdex.jar)
  at Main.DoStuff(Main.java:37)
  at Main.main(Main.java:44)

Bug: 17950037

Change-Id: I39c32cc8849bf02032a4f61a7ce57462b7fcac75

9 years agoProperly compile multidex for tests when using Jack.
Richard Uhler [Wed, 11 Mar 2015 19:36:24 +0000 (12:36 -0700)]
Properly compile multidex for tests when using Jack.

Bug: 19687200
Change-Id: I8c5771ccd474aa06001c3a48cc82550589ac7055

9 years agoMerge "Fix a bug in the SSA builder."
Nicolas Geoffray [Wed, 11 Mar 2015 18:29:19 +0000 (18:29 +0000)]
Merge "Fix a bug in the SSA builder."

9 years agoFix a bug in the SSA builder.
Nicolas Geoffray [Wed, 11 Mar 2015 18:13:21 +0000 (18:13 +0000)]
Fix a bug in the SSA builder.

The build would leave behind phis with incompatible input types
(for example float and int). We need another dead phi run after
the type propagation to ensure all such phis are dead.

Change-Id: I6ef1da725c7d4a1ebaf6b52dd7eb0c7bacd261b2

9 years agoOpt Compiler: Materialise constants that cannot be encoded
Serban Constantinescu [Sun, 22 Feb 2015 22:08:01 +0000 (22:08 +0000)]
Opt Compiler: Materialise constants that cannot be encoded

The VIXL MacroAssembler deals gracefully with any immediate. However
when the constant has multiple uses and cannot be encoded in the
instruction's immediate field we are better off using a register for
the constant and thus sharing the constant generation between multiple
uses.

Eg:
  var += #Const;    // #Const cannot be encoded.
  var += #Const;

Before:                 After:
  mov wip0, #Const        mov w4, #Const
  add w0, w0, wip0        add w0, w0, w4
  mov wip0, #Const        add w0, w0, w4
  add w0, w0, wip0

Change-Id: I8d1f620872d1241cf582fb4f3b45b5091b790146
Signed-off-by: Serban Constantinescu <serban.constantinescu@arm.com>
9 years agoMerge "Fix sampling profiler race condition"
Mathieu Chartier [Wed, 11 Mar 2015 17:42:05 +0000 (17:42 +0000)]
Merge "Fix sampling profiler race condition"

9 years agoFix sampling profiler race condition
Mathieu Chartier [Wed, 11 Mar 2015 16:54:22 +0000 (09:54 -0700)]
Fix sampling profiler race condition

Thread 1 is running RunSamplingThread and has just read trace into
the_trace.

Thread 2 is calling Trace::Stop and has just suspended all the
threads. At this point thread 1 is blocked on the SuspendAll.
Thread 2 goes and deletes the trace which Thread 1 still has a
pointer to, calls ResumeAll(). At this point thread 1 suspends the
threads and adds samples to the just deleted trace.

The fix is to join the thread before we delete the trace.

Bug: 18950006
Change-Id: I3090c4dac392a4e5d880c4dc8d9385aef53c7425

9 years agoMerge "ART: Missing include"
Andreas Gampe [Wed, 11 Mar 2015 17:02:05 +0000 (17:02 +0000)]
Merge "ART: Missing include"

9 years agoART: Missing include
Andreas Gampe [Wed, 11 Mar 2015 16:53:50 +0000 (09:53 -0700)]
ART: Missing include

Fix missing include.

Change-Id: I439bdf3a5c7dc2a710f3dfa0dca494ac3698de60

9 years agoOpt compiler: Basic simplification for arithmetic operations.
Alexandre Rames [Wed, 11 Mar 2015 16:48:16 +0000 (16:48 +0000)]
Opt compiler: Basic simplification for arithmetic operations.

The optimisations in this patch do not look further than the
inputs of each operation.

Change-Id: Iddd0ab6b360b9e7bb042db22086d51a31be85530

9 years agoMerge "ART: Refactor unstarted runtime"
Andreas Gampe [Wed, 11 Mar 2015 16:27:43 +0000 (16:27 +0000)]
Merge "ART: Refactor unstarted runtime"

9 years agoART: Refactor unstarted runtime
Andreas Gampe [Mon, 9 Mar 2015 19:57:41 +0000 (12:57 -0700)]
ART: Refactor unstarted runtime

Refactor and clean up unstarted runtime.

Bug: 19542228
Change-Id: Ib3e4b3517e06e8242d4fed32ca59419fef553a47

9 years agoMerge "Revert "Revert "[optimizing] Enable x86 long support."""
Nicolas Geoffray [Wed, 11 Mar 2015 15:02:31 +0000 (15:02 +0000)]
Merge "Revert "Revert "[optimizing] Enable x86 long support."""

9 years agoRevert "Revert "[optimizing] Enable x86 long support.""
Nicolas Geoffray [Mon, 9 Mar 2015 10:28:50 +0000 (10:28 +0000)]
Revert "Revert "[optimizing] Enable x86 long support.""

This reverts commit 154552e666347d41d95d7619c6ee56249ff4feca.

Change-Id: Idc726551c249a888b7ff5fde8508ae50e81b2e13

9 years agoart/test/100-reflect2: change incorrect expectations.
Sergio Giro [Wed, 11 Mar 2015 12:43:31 +0000 (12:43 +0000)]
art/test/100-reflect2: change incorrect expectations.

Methods can't be volatile nor transient.

bug: 18488857

Change-Id: Ie82ed513b58083a795549a708197f1db52ffb796

9 years agoMerge "patchoat: DisableAutoClose when patching in place"
Andreas Gampe [Wed, 11 Mar 2015 05:18:43 +0000 (05:18 +0000)]
Merge "patchoat: DisableAutoClose when patching in place"

9 years agopatchoat: DisableAutoClose when patching in place
Julien Delayen [Thu, 5 Mar 2015 15:37:52 +0000 (16:37 +0100)]
patchoat: DisableAutoClose when patching in place

Installd can give the same input and output when
patching directly in the dalvik-cache.
For this particular case, we need to DisableAutoClose
to avoid closing twice the same fd.

Change-Id: Ic1c0f1006f776e6aeb3772c83c52309c78a4bdfd
Signed-off-by: Julien Delayen <julien.delayen@intel.com>
Signed-off-by: Guilhem IMBERTON <guilhem.imberton@intel.com>
9 years agoMerge remote-tracking branch 'goog/stage-aosp-master' into HEAD
Bill Yi [Tue, 10 Mar 2015 21:56:17 +0000 (14:56 -0700)]
Merge remote-tracking branch 'goog/stage-aosp-master' into HEAD

9 years agoMerge "Fix dex2dex logic"
Mathieu Chartier [Tue, 10 Mar 2015 21:12:50 +0000 (21:12 +0000)]
Merge "Fix dex2dex logic"

9 years agoFix dex2dex logic
Mathieu Chartier [Tue, 10 Mar 2015 20:45:40 +0000 (13:45 -0700)]
Fix dex2dex logic

There was a bug in the dex2dex logic where would only dex2dex if
IsCandidateForCompilation was true or method verifier had check casts.

The bug was caused by not adding verification results, which caused
verification_results_->GetVerifiedMethod to not have verified methods
in most cases for interpreter-only and verify-none compilation.

Caffeinemark interpret-only before:
Sieve score = 1184
Loop score = 630
Logic score = 3519
String score = 1532
Float score = 882
Method score = 686
Overall score = 1159

After:
Sieve score = 2820
Loop score = 1942
Logic score = 4694
String score = 1679
Float score = 2288
Method score = 1294
Overall score = 2244

Bug: 17950037

Change-Id: I535ab8784b434b0a8e3f66e3ab4936d10a1b04bf

9 years agoam d82d5755: Merge "Test uses libart.so, so can\'t be run NDEBUG."
Nicolas Geoffray [Tue, 10 Mar 2015 19:32:31 +0000 (19:32 +0000)]
am d82d5755: Merge "Test uses libart.so, so can\'t be run NDEBUG."

* commit 'd82d5755bbfa272d4bfe0144df1ba713e02f8335':
  Test uses libart.so, so can't be run NDEBUG.

9 years agoMerge "Test uses libart.so, so can't be run NDEBUG."
Nicolas Geoffray [Tue, 10 Mar 2015 19:27:10 +0000 (19:27 +0000)]
Merge "Test uses libart.so, so can't be run NDEBUG."

9 years agoTest uses libart.so, so can't be run NDEBUG.
Nicolas Geoffray [Tue, 10 Mar 2015 19:26:24 +0000 (19:26 +0000)]
Test uses libart.so, so can't be run NDEBUG.

Change-Id: I22c7391e07a9d06a8ce9a4d23a21ba9f60bcfe64

9 years agoam 0b2bfbd4: Merge "Fix tests now that the SSA builder is pruning more phis."
Nicolas Geoffray [Tue, 10 Mar 2015 19:05:47 +0000 (19:05 +0000)]
am 0b2bfbd4: Merge "Fix tests now that the SSA builder is pruning more phis."

* commit '0b2bfbd440f86c8c0c7ab41b74d5557edf6e9d49':
  Fix tests now that the SSA builder is pruning more phis.

9 years agoMerge "Fix tests now that the SSA builder is pruning more phis."
Nicolas Geoffray [Tue, 10 Mar 2015 19:00:53 +0000 (19:00 +0000)]
Merge "Fix tests now that the SSA builder is pruning more phis."

9 years agoFix tests now that the SSA builder is pruning more phis.
Nicolas Geoffray [Tue, 10 Mar 2015 18:59:31 +0000 (18:59 +0000)]
Fix tests now that the SSA builder is pruning more phis.

Change-Id: I503400e7343322e31ad393d51367b404d6ed7bd8

9 years agoam 21c7906e: Merge "ART: Relax test 703"
Andreas Gampe [Tue, 10 Mar 2015 18:38:43 +0000 (18:38 +0000)]
am 21c7906e: Merge "ART: Relax test 703"

* commit '21c7906e08b801f1afcb62bdd1f1763c93e5ea06':
  ART: Relax test 703

9 years agoMerge "ART: Relax test 703"
Andreas Gampe [Tue, 10 Mar 2015 18:32:15 +0000 (18:32 +0000)]
Merge "ART: Relax test 703"

9 years agoam 48e702fe: Merge "Make the SSA builder honor the debuggable flag."
Nicolas Geoffray [Tue, 10 Mar 2015 18:12:14 +0000 (18:12 +0000)]
am 48e702fe: Merge "Make the SSA builder honor the debuggable flag."

* commit '48e702fe11458b334e6abcc8f562729ccb5b27dd':
  Make the SSA builder honor the debuggable flag.

9 years agoMerge "Make the SSA builder honor the debuggable flag."
Nicolas Geoffray [Tue, 10 Mar 2015 18:07:54 +0000 (18:07 +0000)]
Merge "Make the SSA builder honor the debuggable flag."

9 years agoam 39d9fe2e: Merge "Add way to print JIT related info at shutdown"
Mathieu Chartier [Tue, 10 Mar 2015 17:44:45 +0000 (17:44 +0000)]
am 39d9fe2e: Merge "Add way to print JIT related info at shutdown"

* commit '39d9fe2eb3552a002c53ed41701c6faffe3cd75a':
  Add way to print JIT related info at shutdown

9 years agoMerge "Add way to print JIT related info at shutdown"
Mathieu Chartier [Tue, 10 Mar 2015 17:40:07 +0000 (17:40 +0000)]
Merge "Add way to print JIT related info at shutdown"

9 years agoam cb85ad66: Merge "Use quick compiler to generate odex for oat file assistant tests."
Richard Uhler [Tue, 10 Mar 2015 17:30:40 +0000 (17:30 +0000)]
am cb85ad66: Merge "Use quick compiler to generate odex for oat file assistant tests."

* commit 'cb85ad6673a0b0815fe40100a14984fd187a5f89':
  Use quick compiler to generate odex for oat file assistant tests.

9 years agoMerge "Use quick compiler to generate odex for oat file assistant tests."
Richard Uhler [Tue, 10 Mar 2015 17:24:26 +0000 (17:24 +0000)]
Merge "Use quick compiler to generate odex for oat file assistant tests."

9 years agoam 9a5342ef: Merge "Revert "Turn on logging for oat file assistant tests.""
Richard Uhler [Tue, 10 Mar 2015 17:03:50 +0000 (17:03 +0000)]
am 9a5342ef: Merge "Revert "Turn on logging for oat file assistant tests.""

* commit '9a5342ef8535b54305dab72e2ac1b3412a053f9d':
  Revert "Turn on logging for oat file assistant tests."

9 years agoUse quick compiler to generate odex for oat file assistant tests.
Richard Uhler [Tue, 10 Mar 2015 17:02:23 +0000 (10:02 -0700)]
Use quick compiler to generate odex for oat file assistant tests.

This is needed to generate non-PIC odex files, because optimizing
compiler always generates PIC.

Change-Id: Ic77a0faef6b36f13c61607327640e3378a7ee75e

9 years agoMerge "Revert "Turn on logging for oat file assistant tests.""
Richard Uhler [Tue, 10 Mar 2015 16:58:59 +0000 (16:58 +0000)]
Merge "Revert "Turn on logging for oat file assistant tests.""

9 years agoRevert "Turn on logging for oat file assistant tests."
Richard Uhler [Tue, 10 Mar 2015 16:57:05 +0000 (16:57 +0000)]
Revert "Turn on logging for oat file assistant tests."

This reverts commit f45599d8f92748c5c2d2aec515948932c52444eb.

Change-Id: I33c6c5bf1d2643bdf8ce13708f376d01599c2a98