summaryrefslogtreecommitdiffstats
path: root/runtime/runtime_linux.cc
Commit message (Collapse)AuthorAgeFilesLines
* Replace NULL with nullptrMathieu Chartier2015-04-221-13/+14
| | | | | | | Also fixed some lines that were too long, and a few other minor details. Change-Id: I6efba5fb6e03eb5d0a300fddb2a75bf8e2f175cb
* ART: Mac build fix for unused constantAndreas Gampe2015-01-141-0/+2
| | | | Change-Id: I77e70c877e8a3608555f128e0edf8784db178e86
* ART: Host timeout Mac build fix.Andreas Gampe2015-01-141-2/+11
| | | | | | | | Mac fix for unsupported SIGRTMIN introduced in commit 038bb2252ed1d7132f45006507e389b7ba1617ce. Bug: 18933933 Change-Id: I502cda51802d67f089c09240d89f71166ed56c6d
* ART: Dump all threads on test timeoutAndreas Gampe2015-01-141-0/+19
| | | | | | | | | 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
* ART: Pass ucontext to Backtrace in Stack DumpAndreas Gampe2015-01-081-2/+9
| | | | | | | | | | 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
* 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-9/+13
| | | | | | | | | | | | | | | | | 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
* Remove deprecated WITH_HOST_DALVIK.Ian Rogers2014-06-101-1/+4
| | | | | | | | | | | | | | | | | | | | | | | 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
* Modify unwind to comply with stack parser tools.Christopher Ferris2014-04-181-1/+1
| | | | | | Bug: 14081592 Change-Id: I6906b2575c74d64f1c3ba7602779b3a789de1c69
* Fix SafePrettyTypeOf to never call VerifyObject.Mathieu Chartier2014-03-031-1/+3
| | | | | | | Calling VerifyObject from the segfault handler caused another segfault. Change-Id: I459646594d830cbb110a4ac2bac25a7b90794854
* Fix clang to compile and run host tests.Ian Rogers2014-02-281-1/+1
| | | | | | | | | | | | | | 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
* Add custom SIGSEGV handler to help find heap corruption.Mathieu Chartier2014-02-281-1/+9
| | | | | | | | | | | | | | | | 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
* art: 64-bit support in UContext::DumpDmitry Petrochenko2014-02-111-0/+40
| | | | | | | Dump the register contents for x86_64 host. Change-Id: I6ca5c2a013ab313ac0bfae23775f7e3552c55aeb Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com>
* Object model changes to support 64bit.Ian Rogers2014-02-061-2/+4
| | | | | | | | | | | | | | | | | | | | | | | 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
* Fix cpplint whitespace/comments issuesBrian Carlstrom2013-07-261-1/+1
| | | | Change-Id: Iae286862c85fb8fd8901eae1204cd6d271d69496
* Create separate Android.mk for main build targetsBrian Carlstrom2013-07-121-0/+314
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