0d0ce279ce1404f8b00d861b2fce123a71bb3312 |
|
09-Mar-2016 |
Andreas Gampe <agampe@google.com> |
ART: Enable native stack dumping on timeout To better investigate timeout in tests, allow dumping of native stacks. Bug: 27508829 Change-Id: Icf5420cde386cd80a1f45400c86545c89b1e2cc2
|
12b8c9d93db0546879306ce6acf4bfb6474471cd |
|
04-Feb-2016 |
Christopher Ferris <cferris@google.com> |
Newer kernels added SEGV_BNDERR. Bug: 23789423 Change-Id: Ia2a9b0504546456c0da5dd20ae040b6df0977cbe
|
6cff48f05894a60aa4742472983a75504536ca15 |
|
27-Jan-2014 |
Christopher Ferris <cferris@google.com> |
ART: Speed up thread stack tracing for ANRs Share a BacktraceMap for all threads being dumped, which speeds up ANR dumping. Results from Nexus 9 (average of five): Before: 0.587s After: 0.206s Change-Id: Ia70e0dbd39049318c02de561e7b95258d4849467
|
524e7ea8cd17bad17bd9f3e0ccbb19ad0d4d9c02 |
|
16-Oct-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
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
|
6bc4374e3fa00e3ee5e832e1761c43e0b8a71558 |
|
12-Oct-2015 |
Nicolas Geoffray <ngeoffray@google.com> |
Add an abstraction over a compiled code. That's just step 1, moving code-related functions of ArtMethod to another class. That class is only a wrapper on an ArtMethod, but will be changed to be a wrapper around compiled code. Change-Id: I6f35fc06d37220558dff61691e51ae20066b0dd6
|
ae0d7decd82420566b515d91f0d996c4ebd17c97 |
|
23-May-2015 |
Hiroshi Yamauchi <yamauchi@google.com> |
Log the process memory maps on host SIGSEGV. Bug: 19894268 Change-Id: Ib35f858de2519e24422a2ed19c68cfbdfd4173b3
|
2cebb24bfc3247d3e9be138a3350106737455918 |
|
22-Apr-2015 |
Mathieu Chartier <mathieuc@google.com> |
Replace NULL with nullptr Also fixed some lines that were too long, and a few other minor details. Change-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb
|
fcf81d83eec21a7285912b4acb18af79babd4d68 |
|
15-Jan-2015 |
Andreas Gampe <agampe@google.com> |
ART: Mac build fix for unused constant Change-Id: I77e70c877e8a3608555f128e0edf8784db178e86
|
cbfded4112c554ac3f91bdbf02e6c950ba1f1a1a |
|
15-Jan-2015 |
Andreas Gampe <agampe@google.com> |
ART: Host timeout Mac build fix. Mac fix for unsupported SIGRTMIN introduced in commit 038bb2252ed1d7132f45006507e389b7ba1617ce. Bug: 18933933 Change-Id: I502cda51802d67f089c09240d89f71166ed56c6d
|
038bb2252ed1d7132f45006507e389b7ba1617ce |
|
14-Jan-2015 |
Andreas Gampe <agampe@google.com> |
ART: Dump all threads on test timeout Use SIGRTMIN+2 as a special signal to dump all threads similar to SIGQUIT. Use nested timeouts to enforce a test timeout and dump the threads in a deadlock. Bug: 18933933 Change-Id: I4209047eeca07ff360d7c19922d5b5da64fd69a5
|
628a61ac52a8a314e74ab445397add60b4e72a5b |
|
08-Jan-2015 |
Andreas Gampe <agampe@google.com> |
ART: Pass ucontext to Backtrace in Stack Dump In case of an unexpected signal on the host we dump the thread stack ourselves. We have to pass the context given to the signal handler, as the signal handler is run on an alternate stack. Otherwise libbacktrace can't dump the actual faulty part. Bug: 18933933 Change-Id: Id2710d2fd44b7c3b3335973a9288979a5793638b
|
db978719dbcb73fc6acfd193561445c4462786b8 |
|
09-Dec-2014 |
Nicolas Geoffray <ngeoffray@google.com> |
Revert "Tidy gAborting." Creates infinite loop: b/18674776. This reverts commit 015b137efb434528173779bc3ec8d72494456254. Change-Id: I67fe310d2e95ee2ec37bec842be06fb1123b6f4e
|
015b137efb434528173779bc3ec8d72494456254 |
|
05-Dec-2014 |
Ian Rogers <irogers@google.com> |
Tidy gAborting. Reduce scope to Runtime::Abort and short-cut recursive case earlier. gAborting remains global to avoid two fatal errors in thread and the verifier. Change-Id: Ibc893f891ffee9a763c65cde9507d99083d47b3f
|
c7dd295a4e0cc1d15c0c96088e55a85389bade74 |
|
22-Oct-2014 |
Ian Rogers <irogers@google.com> |
Tidy up logging. Move gVerboseMethods to CompilerOptions. Now "--verbose-methods=" option to dex2oat rather than runtime argument "-verbose-methods:". Move ToStr and Dumpable out of logging.h, move LogMessageData into logging.cc except for a forward declaration. Remove ConstDumpable as Dump methods are all const (and make this so if not currently true). Make LogSeverity an enum and improve compile time assertions and type checking. Remove log_severity.h that's only used in logging.h. With system headers gone from logging.h, go add to .cc files missing system header includes. Also, make operator new in ValueObject private for compile time instantiation checking. Change-Id: I3228f614500ccc9b14b49c72b9821c8b0db3d641
|
c5f17732d8144491c642776b6b48c85dfadf4b52 |
|
06-Jun-2014 |
Ian Rogers <irogers@google.com> |
Remove deprecated WITH_HOST_DALVIK. Bug: 13751317 Fix the Mac build: - disable x86 selector removal that causes OS/X 10.9 kernel panics, - madvise don't need does zero memory on the Mac, factor into MemMap routine, - switch to the elf.h in elfutils to avoid Linux kernel dependencies, - we can't rely on exclusive_owner_ being available from other pthread libraries so maintain our own when futexes aren't available (we can't rely on the OS/X 10.8 hack any more), - fix symbol naming in assembly code, - work around C library differences, - disable backtrace in DumpNativeStack to avoid a broken libbacktrace dependency, - disable main thread signal handling logic, - align the stack in stub_test, - use $(HOST_SHLIB_SUFFIX) rather than .so in host make file variables. Not all host tests are passing on the Mac with this change. dex2oat works as does running HelloWorld. Change-Id: I5a232aedfb2028524d49daa6397a8e60f3ee40d3
|
a2cee18799d7e61adb037a4219adb23fef7d022b |
|
17-Apr-2014 |
Christopher Ferris <cferris@google.com> |
Modify unwind to comply with stack parser tools. Bug: 14081592 Change-Id: I6906b2575c74d64f1c3ba7602779b3a789de1c69
|
c2f4d0240b3a9b905dff5b546924865f15241481 |
|
04-Mar-2014 |
Mathieu Chartier <mathieuc@google.com> |
Fix SafePrettyTypeOf to never call VerifyObject. Calling VerifyObject from the segfault handler caused another segfault. Change-Id: I459646594d830cbb110a4ac2bac25a7b90794854
|
b48b9eb6d181a1f52e2e605cf26a21505f1d46ed |
|
01-Mar-2014 |
Ian Rogers <irogers@google.com> |
Fix clang to compile and run host tests. Don't use the computed goto interpreter with clang 3.4 as it causes compilation to hang. Avoid inclusion of LLVM_(HOST|DEVICE)_BUILD_MK except for with portable as it sets clang incompatible cflags. Most fixes are self-evident, for the quick dex file method inliner the enums were being used with ostreams, so fix the enums and operator out python script to allow this. Note this change effects portable but this is untestable as portable was broken by ELF file and mc linker changes. Change-Id: Ia54348f6b1bd3f76d3b71c6e8c5f97626386b903
|
15d3402bbf8265eb1165694da2e4117eb128f3bc |
|
27-Feb-2014 |
Mathieu Chartier <mathieuc@google.com> |
Add custom SIGSEGV handler to help find heap corruption. The new signal handler prints heap diagnostics when you get a SIGSEGV. Added a fault message member in runtime which is modifiable by Runtime::SetFaultMessage. When you get a SIGSEGV it will print out whatever is stored in this string as well as the normal information. This is useful for debugging heap corruption since it lets you see which threads were in which methods when the last GC occured. Added some smarter object dumping logic when the faulting address is in the heap. Bug: 12934910 Change-Id: Ia72be2c39f70ad711cbd746d66fad2b617d5d29f
|
611c2c3404a8b27bc1584cc63f232dbfb316f78a |
|
10-Feb-2014 |
Dmitry Petrochenko <dmitry.petrochenko@intel.com> |
art: 64-bit support in UContext::Dump Dump the register contents for x86_64 host. Change-Id: I6ca5c2a013ab313ac0bfae23775f7e3552c55aeb Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
|
ef7d42fca18c16fbaf103822ad16f23246e2905d |
|
06-Jan-2014 |
Ian Rogers <irogers@google.com> |
Object model changes to support 64bit. Modify mirror objects so that references between them use an ObjectReference value type rather than an Object* so that functionality to compress larger references can be captured in the ObjectRefererence implementation. ObjectReferences are 32bit and all other aspects of object layout remain as they are currently. Expand fields in objects holding pointers so they can hold 64bit pointers. Its expected the size of these will come down by improving where we hold compiler meta-data. Stub out x86_64 architecture specific runtime implementation. Modify OutputStream so that reads and writes are of unsigned quantities. Make the use of portable or quick code more explicit. Templatize AtomicInteger to support more than just int32_t as a type. Add missing, and fix issues relating to, missing annotalysis information on the mutator lock. Refactor and share implementations for array copy between System and uses elsewhere in the runtime. Fix numerous 64bit build issues. Change-Id: I1a5694c251a42c9eff71084dfdd4b51fff716822
|
7934ac288acfb2552bb0b06ec1f61e5820d924a4 |
|
26-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Fix cpplint whitespace/comments issues Change-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496
|
7940e44f4517de5e2634a7e07d58d0fb26160513 |
|
12-Jul-2013 |
Brian Carlstrom <bdc@google.com> |
Create separate Android.mk for main build targets The runtime, compiler, dex2oat, and oatdump now are in seperate trees to prevent dependency creep. They can now be individually built without rebuilding the rest of the art projects. dalvikvm and jdwpspy were already this way. Builds in the art directory should behave as before, building everything including tests. Change-Id: Ic6b1151e5ed0f823c3dd301afd2b13eb2d8feb81
|