summaryrefslogtreecommitdiff
path: root/simpleperf/perf_regs.h
AgeCommit message (Collapse)Author
2018-02-13simpleperf: Use cross-arch unwinding.Yabin Cui
Enables cross-arch unwinding since the new unwinder supports cross-arch unwinding. Also change tests accordingly. Bug: http://b/73127000 Test: run simpleperf_unit_test. Change-Id: I3ca3f7a81b40e9f7ea2b39b9fdc951f9e7a6acc7
2017-12-12simpleperf: Use CallChainJoiner.Yabin Cui
1. In record cmd, split most code in Run() into three functions to make it easier to maintain. 2. In record cmd, use CallChainJoiner by default when -g option is used. And allow using --no-callchain-joiner option to disable the joiner, and --callchain-joiner-min-matching-nodes to adjust the joiner. 3. Adjust the interface of UnwindCallChain() to return sps used by the joiner. 4. Add functions in SampleRecord to use callchains returned by the joiner. Add CallChainRecord to keep callchains returned by the joiner for debugging. 5. In dump cmd, show callchains of SampleRecord and CallChainRecord for debugging. Bug: http://b/69383534 Test: run simpleperf_unit_test. Test: run python test.py. Change-Id: I951b169dfba0f7c50b6d4d741df83f02f8010626
2016-11-16simpleperf: fix dumping arm regs on arm64 devices.Yabin Cui
On arm64 devices, the kernel dumps arm64 regs even for 32-bit processes. So we need to map from arm64 registers to arm registers. Bug: http://b/30974693 Test: run simpleperf manually on one app. Change-Id: Iffeac9510b418b5dabc0604c16523887d63bba49
2016-08-04simpleperf: keep binary in class Record.Yabin Cui
It removes memory copy and heap allocation/deallocation in Record::BinaryFormat(), and is a preparation to remove memory copy and heap allocation in Record constructor. Bug: 30649868 Test: run simpleperf_unit_test. Change-Id: Ic8dd80e43f7b547a9beaf896d726b56aeb5d55a2
2016-07-12Fix google-explicit-constructor warnings in simpleperf.Chih-Hung Hsieh
* Declare explicit conversion constructors. Bug: 28341362 Change-Id: I9d5b764fe004e291cbdd212617df6f385c31df25 Test: build with clang-tidy
2016-04-01simpleperf: loosen unwinding arch check for system wide collection.Yabin Cui
When doing system wide collection, it is possible that there are 32-bit compat processes running on 64-bit devices. It is not proper to abort in this situation. So loosen the check to allow it. Also add corresponding test. Bug: 27927427 Change-Id: I5c9253eb6e474497e4f37e234e0e523e141fab20
2016-03-30simpleperf: don't allow 64bit simpleperf unwinding 32bit processes.Yabin Cui
Bug: 27927427 Change-Id: I87abc7f8d1f160da4366ed04db054206403bc803
2016-03-18Simpleperf: remove dependency on global current_arch.Yabin Cui
When running unit tests on arm64 devices: [OK] ReportCommandTest.dwarf_callgraph [OK] record_cmd.dwarf_callchain_sampling. ERROR: can't unwind data recorded on a different architecture. It is because ReportCommandtest.dwarf_callgraph opens a perf.data recorded on x86_64, and changes current_arch. It causes a problem when the test record_cmd.dwarf_callchain_sampling calls libbacktrace built on aarch64. Athough it doesn't make the test fail, we should fix this. Change-Id: I2cd70369a769ef2199cab2302b8b824369be0907
2016-01-15Simpleperf: support build for windows.Yabin Cui
Change-Id: I31554f36ee97eb0ae27bda9b77e29410776925e2
2015-09-23Simpleperf: support dwarf callgraph in report command.Yabin Cui
Use libbacktrace for stack unwinding. Bug: 22229391 Change-Id: Iab35cdb52936c65c4728e23423ded83050f1db76
2015-07-13Simpleperf: fix build on mac.Yabin Cui
Change-Id: I042fa65347c38879ff9b9f1027b8ae39ec26da62
2015-07-13Simpleperf: fix build error on mips.Yabin Cui
Bug: 22229391 Change-Id: I3368da136277355e05045ee1203bb9a47036e94a
2015-07-13Simpleperf: Support dwarf callgraph recording.Yabin Cui
1. add OS_RELEASE and ARCH feature in perf.data. ARCH feature is used when parsing recorded user registers. 2. support `--call-graph dwarf` option in record command. Bug: 22229391 Change-Id: I56dbdd101338658ce6a9b59aa8be90e712e007f5