OSDN Git Service
Andreas Gampe [Thu, 12 Mar 2015 22:37:14 +0000 (22:37 +0000)]
Merge "ART: Save work-line for pending runtime failure"
Richard Uhler [Thu, 12 Mar 2015 20:07:59 +0000 (20:07 +0000)]
Merge "Add missing patchoatd dependency for oat_file_assistant_test."
Andreas Gampe [Thu, 12 Mar 2015 20:00:20 +0000 (20:00 +0000)]
Merge "ART: Allow multiple invoke-with for art script"
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
Roland Levillain [Thu, 12 Mar 2015 18:35:45 +0000 (18:35 +0000)]
Merge "Force 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
Mathieu Chartier [Thu, 12 Mar 2015 18:09:49 +0000 (18:09 +0000)]
Merge "Add way to select arena type at runtime"
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
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
Mathieu Chartier [Thu, 12 Mar 2015 17:25:21 +0000 (17:25 +0000)]
Merge "ART: correct native bytes allocated in RegisterNativeAllocation"
Roland Levillain [Thu, 12 Mar 2015 17:00:14 +0000 (17:00 +0000)]
Merge "Opt compiler: Basic simplification for arithmetic operations."
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
Hiroshi Yamauchi [Thu, 12 Mar 2015 16:56:20 +0000 (16:56 +0000)]
Merge "Fix CC collector boot."
Roland Levillain [Thu, 12 Mar 2015 16:16:26 +0000 (16:16 +0000)]
Merge "Fix 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
Roland Levillain [Thu, 12 Mar 2015 15:44:09 +0000 (15:44 +0000)]
Merge "Compress 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
Sebastien Hertz [Thu, 12 Mar 2015 14:30:08 +0000 (14:30 +0000)]
Merge "Fix 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
Nicolas Geoffray [Thu, 12 Mar 2015 11:35:29 +0000 (11:35 +0000)]
Merge "Run 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
Nicolas Geoffray [Thu, 12 Mar 2015 11:06:25 +0000 (11:06 +0000)]
Merge "Revert "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
Nicolas Geoffray [Thu, 12 Mar 2015 11:01:55 +0000 (11:01 +0000)]
Merge "Give 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
Nicolas Geoffray [Thu, 12 Mar 2015 10:52:05 +0000 (10:52 +0000)]
Merge "Opt Compiler: Materialise constants that cannot be encoded"
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>
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
Andreas Gampe [Thu, 12 Mar 2015 01:41:32 +0000 (01:41 +0000)]
Merge "ART: Check that boot image classes are verified"
Hiroshi Yamauchi [Wed, 11 Mar 2015 23:32:57 +0000 (23:32 +0000)]
Merge "Rosalloc 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
Richard Uhler [Wed, 11 Mar 2015 21:12:42 +0000 (21:12 +0000)]
Merge "Properly compile multidex for tests when using Jack."
Andreas Gampe [Wed, 11 Mar 2015 21:10:12 +0000 (21:10 +0000)]
Merge "ART: 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
Andreas Gampe [Wed, 11 Mar 2015 20:07:37 +0000 (20:07 +0000)]
Merge "ART: 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
Mathieu Chartier [Wed, 11 Mar 2015 19:52:04 +0000 (19:52 +0000)]
Merge "Fix 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
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
Nicolas Geoffray [Wed, 11 Mar 2015 18:29:19 +0000 (18:29 +0000)]
Merge "Fix 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
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>
Mathieu Chartier [Wed, 11 Mar 2015 17:42:05 +0000 (17:42 +0000)]
Merge "Fix 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
Andreas Gampe [Wed, 11 Mar 2015 17:02:05 +0000 (17:02 +0000)]
Merge "ART: Missing include"
Andreas Gampe [Wed, 11 Mar 2015 16:53:50 +0000 (09:53 -0700)]
ART: Missing include
Fix missing include.
Change-Id: I439bdf3a5c7dc2a710f3dfa0dca494ac3698de60
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
Andreas Gampe [Wed, 11 Mar 2015 16:27:43 +0000 (16:27 +0000)]
Merge "ART: 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
Nicolas Geoffray [Wed, 11 Mar 2015 15:02:31 +0000 (15:02 +0000)]
Merge "Revert "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
Andreas Gampe [Wed, 11 Mar 2015 05:18:43 +0000 (05:18 +0000)]
Merge "patchoat: 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>
Bill Yi [Tue, 10 Mar 2015 21:56:17 +0000 (14:56 -0700)]
Merge remote-tracking branch 'goog/stage-aosp-master' into HEAD
Mathieu Chartier [Tue, 10 Mar 2015 21:12:50 +0000 (21:12 +0000)]
Merge "Fix 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
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.
Nicolas Geoffray [Tue, 10 Mar 2015 19:27:10 +0000 (19:27 +0000)]
Merge "Test 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
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.
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."
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
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
Andreas Gampe [Tue, 10 Mar 2015 18:32:15 +0000 (18:32 +0000)]
Merge "ART: Relax test 703"
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.
Nicolas Geoffray [Tue, 10 Mar 2015 18:07:54 +0000 (18:07 +0000)]
Merge "Make the SSA builder honor the debuggable flag."
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
Mathieu Chartier [Tue, 10 Mar 2015 17:40:07 +0000 (17:40 +0000)]
Merge "Add way to print JIT related info at shutdown"
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.
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."
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."
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
Richard Uhler [Tue, 10 Mar 2015 16:58:59 +0000 (16:58 +0000)]
Merge "Revert "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
Nicolas Geoffray [Mon, 9 Mar 2015 10:02:49 +0000 (10:02 +0000)]
Make the SSA builder honor the debuggable flag.
This requires to properly type phis that are only
used by environments, and discard phis with incomptable types.
The code generators do not handle these conflicting types. In
the process, ensure a phi has a type that does not depend
on the order of the inputs (for example (char, short) -> short),
and set int for int-like types. We can refine this later.
Change-Id: I60ab601d6d00b1cbf18623ee4ff1795aa28f84a1
Andreas Gampe [Tue, 10 Mar 2015 02:29:48 +0000 (19:29 -0700)]
ART: Relax test 703
NaNs are a set of numbers. Do not expect one specific one as the
result of a NaN computation.
Change-Id: Ib98d61ea1fe8c2dd80027d1a23b8a77bfb248a27
Andreas Gampe [Tue, 10 Mar 2015 16:14:47 +0000 (16:14 +0000)]
am
f719fdd2: Merge "[MIPS64] Fix GenInlinedPeek and GenInlinedPoke functions."
* commit '
f719fdd20e6282f3579cb99529bb65e852612647':
[MIPS64] Fix GenInlinedPeek and GenInlinedPoke functions.
Andreas Gampe [Tue, 10 Mar 2015 16:09:25 +0000 (16:09 +0000)]
Merge "[MIPS64] Fix GenInlinedPeek and GenInlinedPoke functions."
Richard Uhler [Tue, 10 Mar 2015 15:48:39 +0000 (15:48 +0000)]
am
7e9c99bd: Merge "Turn on logging for oat file assistant tests."
* commit '
7e9c99bd850e22b8a5e2b5419bcf0b1abf0e29e5':
Turn on logging for oat file assistant tests.
Goran Jakovljevic [Tue, 10 Mar 2015 15:44:08 +0000 (16:44 +0100)]
[MIPS64] Fix GenInlinedPeek and GenInlinedPoke functions.
Change-Id: I4994bb2f9075cb3b6488e5a5b88dbed17b80595a
Richard Uhler [Tue, 10 Mar 2015 15:42:14 +0000 (15:42 +0000)]
Merge "Turn on logging for oat file assistant tests."
Richard Uhler [Tue, 10 Mar 2015 15:38:31 +0000 (08:38 -0700)]
Turn on logging for oat file assistant tests.
Temporary to debug test failure.
Change-Id: Idbfcdbdae5e0aa3544b01f1a1ab0297a81d736d5
Nicolas Geoffray [Tue, 10 Mar 2015 15:23:00 +0000 (15:23 +0000)]
am
2af72de8: Merge "Remove ThrowLocation."
* commit '
2af72de83957fb52426b8f9144e9814d35b78951':
Remove ThrowLocation.
Nicolas Geoffray [Tue, 10 Mar 2015 15:08:13 +0000 (15:08 +0000)]
Merge "Remove ThrowLocation."
Richard Uhler [Tue, 10 Mar 2015 15:03:37 +0000 (15:03 +0000)]
am
072e48ed: Merge "Create OatFileAssistant class for assisting with oat files."
* commit '
072e48ed63aa4f99bec1dbbe8a7872a4bcc03e41':
Create OatFileAssistant class for assisting with oat files.
Sebastien Hertz [Tue, 10 Mar 2015 15:03:36 +0000 (15:03 +0000)]
am
e8e42f35: Merge "JDWP: allocate DebugInvokeReq only when requested"
* commit '
e8e42f3548fd894f860912bb1b71ce6fa2d7daf3':
JDWP: allocate DebugInvokeReq only when requested
Nicolas Geoffray [Tue, 10 Mar 2015 11:03:29 +0000 (11:03 +0000)]
Remove ThrowLocation.
Note that this is a cleanup change, and has no functionality change.
The ThrowLocation had no use anymore.
Change-Id: I3d2126af1dc673cec3a0453ff3d56a172663a5f6
Richard Uhler [Tue, 10 Mar 2015 14:41:25 +0000 (14:41 +0000)]
Merge "Create OatFileAssistant class for assisting with oat files."
Sebastien Hertz [Tue, 10 Mar 2015 08:48:46 +0000 (08:48 +0000)]
Merge "JDWP: allocate DebugInvokeReq only when requested"
Mathieu Chartier [Tue, 10 Mar 2015 02:09:59 +0000 (02:09 +0000)]
am
54a8cc68: Merge "Trim arenas for JIT"
* commit '
54a8cc689dc23f346c9aac0d5fc6f47e61df8cad':
Trim arenas for JIT
Mathieu Chartier [Mon, 9 Mar 2015 22:38:54 +0000 (15:38 -0700)]
Add way to print JIT related info at shutdown
Added a runtime option called -XX:DumpJITInfoOnShutdown with prints
various interesting JIT statistics during the shutdown of the runtime
if enabled.
Example of running EvaluateAndApplyChanges with the option:
I art : Code cache size=427KB data cache size=84KB num methods=1598
I art : Start Dumping histograms for 1598 iterations for JIT timings
I art : Compiling: Sum: 727.850ms 99% C.I. 135us-4402us Avg: 455.475us Max: 15567us
I art : Verifying: Sum: 191.074ms 99% C.I. 19us-1450.500us Avg: 119.570us Max: 5142us
I art : TrimMaps: Sum: 62.053ms 99% C.I. 13us-199.374us Avg: 38.831us Max: 10058us
I art : MakeExecutable: Sum: 11.153ms 99% C.I. 4us-47us Avg: 6.979us Max: 47us
I art : Initializing: Sum: 7.991ms 99% C.I. 1us-49.781us Avg: 5us Max: 4852us
I art : Done Dumping histograms
Bug:
17950037
Change-Id: I23538b24f947e5f6934f55579b8baa9d806eb3d5
Mathieu Chartier [Mon, 9 Mar 2015 22:15:18 +0000 (22:15 +0000)]
Merge "Trim arenas for JIT"
Richard Uhler [Thu, 15 Jan 2015 17:37:19 +0000 (09:37 -0800)]
Create OatFileAssistant class for assisting with oat files.
The oat file assistant is used for determining whether dex2oat or
patchoat is needed, for running dex2oat or patchoat as needed to make
an oat file up to date, and to load dex files associated with a given
dex location.
The introduction of the OatFileAssistant class is meant to clean up and
consolidate code related to the management of oat files that was
duplicated and spread across dalvik_system_DexFile.cc and
class_linker.cc.
Bug:
11301553
Change-Id: I0c16027b9bae4570c2c50faa9c14f581c0cbafb8
Mathieu Chartier [Mon, 9 Mar 2015 18:30:17 +0000 (11:30 -0700)]
Trim arenas for JIT
Moved arena pool into the runtime. Added arena trimming to arena
pool. When called, this madvises the used memory.
Changed the JIT compiler to trim arenas after compilation. Changed
the arena mmap name to dalvik-LinearAlloc.
Native PSS before:
80353 kB: Native
80775 kB: Native
78116 kB: Native
After:
73357 kB: Native
70181 kB: Native
70306 kB: Native
Bug:
17950037
Bug:
17643507
Bug:
19264997
Change-Id: I63e7a898fd6e909c2c677fa57b5917a7b1398930
Andreas Gampe [Mon, 9 Mar 2015 21:15:07 +0000 (21:15 +0000)]
am
b3226684: Merge "ART: Fix init-failure graph tool"
* commit '
b3226684f0ee69094f896cb99a9d1f12585eac42':
ART: Fix init-failure graph tool
Andreas Gampe [Mon, 9 Mar 2015 21:10:14 +0000 (21:10 +0000)]
Merge "ART: Fix init-failure graph tool"
Nicolas Geoffray [Mon, 9 Mar 2015 17:40:50 +0000 (17:40 +0000)]
am
81d38f74: Merge "Use the current Java stack instead of the ThrowLocation."
* commit '
81d38f74219774d87389f83f23595ffc8fe814b1':
Use the current Java stack instead of the ThrowLocation.
Andreas Gampe [Mon, 9 Mar 2015 17:36:54 +0000 (10:36 -0700)]
ART: Fix init-failure graph tool
Fix missing entries when the failed class doesn't appear in the
stack trace.
Add coloring for loadLibrary and getProperty.
Change-Id: I35df917ac8b1ada1f6eb2e418fa6ff9ca6b17048
Nicolas Geoffray [Mon, 9 Mar 2015 17:25:25 +0000 (17:25 +0000)]
Merge "Use the current Java stack instead of the ThrowLocation."
Nicolas Geoffray [Mon, 9 Mar 2015 14:56:37 +0000 (14:56 +0000)]
Use the current Java stack instead of the ThrowLocation.
The ThrowLocation contains information we can actually retrieve
from the current stack.
Change-Id: I7e5b2f519f95830c457cb31ea10a581aa9c973ee