summaryrefslogtreecommitdiff
path: root/runtime/runtime_android.cc
Commit message (Collapse)AuthorAgeFilesLines
* ART: Refactor for bugprone-argument-commentAndreas Gampe2018-10-231-3/+3
| | | | | | | | Handles runtime. Bug: 116054210 Test: WITH_TIDY=1 mmma art Change-Id: Ibc0d5086809d647f0ce4df5452eb84442d27ecf0
* ART: Refactor HandleUnexpectedSignalCommonAndreas Gampe2017-06-011-1/+5
| | | | | | | | | | | Avoid the std::ostringstream. Instead use a lambda and immediately use std::cerr when asked to dump there, eventually. Also refactor the signature to make it more explicit what the function will handle and where it would dump to. Test: m test-art-host Change-Id: I2be5497d4f9957127243879113372d9aa1535d82
* Optionally dump ART crash information to logcat when running on Android.Roland Levillain2017-01-301-38/+15
| | | | | | | | | | | | | This logging feature does not use debuggerd. It is only enabled when the environment variable ANDROID_ROOT is set to something different than "/system". Also, refactor runtime/runtime_android.cc and runtime/runtime_linux.cc. Test: Observe device logcat when dalvikvm crashes Bug: 32466479 Change-Id: If59ce838fdb5b9bb6638b73fcd074b7065275c6c
* ART: Move to libbase StringPrintfAndreas Gampe2016-12-151-1/+0
| | | | | | | | Remove ART's StringPrintf implementation. Fix up clients. Add missing includes where necessary. Test: m test-art-host Change-Id: I564038d5868595ac3bb88d641af1000cea940e5a
* Move Heap parameters to ObjPtrMathieu Chartier2016-10-121-6/+0
| | | | | | | | | | Deleted some unused object dumping code. Test: test-art-host Bug: 31113334 Change-Id: I747220caafe6679591fd4b361d7f50383a046164
* ART: Use libbase loggingAndreas Gampe2016-09-261-4/+7
| | | | | | | | | | | | | | | | | | | Move most of our logging infrastructure over to system/core/base. Retain VLOG. Using unified Android infrastructure has two main advantages. First, it reduces the complexity/maintenance burden in ART. Second, it allows to detach logging for the cases where we do not want or need a runtime, e.g., dexdump, the disassembler, etc. As a part of the latter, libbase is also supported for all hosts (including Windows). From a developer viewpoint, there are minor behavior changes for the LOG statements (see above), but otherwise usage is the same. Explicit severity enum items are in the android::base namespace now. Bug: 31338270 Test: m test-art-host Change-Id: I5abcb2f45f5b03d49951874c48544f72a283a91b
* Revert "Tidy gAborting."Nicolas Geoffray2014-12-091-0/+1
| | | | | | | | Creates infinite loop: b/18674776. This reverts commit 015b137efb434528173779bc3ec8d72494456254. Change-Id: I67fe310d2e95ee2ec37bec842be06fb1123b6f4e
* Tidy gAborting.Ian Rogers2014-12-041-1/+0
| | | | | | | 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
* Tidy up logging.Ian Rogers2014-10-221-5/+4
| | | | | | | | | | | | | | | | | 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
* Disable new signal handler.Mathieu Chartier2014-03-041-12/+14
| | | | | | Doesn't play well with existing signal handlers. Change-Id: Ic93691ad8af14f037bec571a2163bae146741d31
* Fix SafePrettyTypeOf to never call VerifyObject.Mathieu Chartier2014-03-031-1/+3
| | | | | | | Calling VerifyObject from the segfault handler caused another segfault. Change-Id: I459646594d830cbb110a4ac2bac25a7b90794854
* Add custom SIGSEGV handler to help find heap corruption.Mathieu Chartier2014-02-281-2/+48
| | | | | | | | | | | | | | | | 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
* Create separate Android.mk for main build targetsBrian Carlstrom2013-07-121-0/+25
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