#
4de612c9 |
|
05-Jul-2019 |
Murai Takashi <tmurai01@gmail.com> |
bin/debug/profile: Fix -Wformat= Change-Id: I94f9e4e68b75a7b84883d1bb7fe3f4e0aa7c6b8a Reviewed-on: https://review.haiku-os.org/c/haiku/+/1563 Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
|
#
b08627f3 |
|
04-May-2018 |
Murai Takashi <tmurai01@gmail.com> |
Fix catching polymorphic type by value Replace catching polymorphic type std::bad_alloc 'by value' with 'by reference'. Pointed by gcc8
|
#
4dc355e9 |
|
27-Jun-2013 |
Rene Gollent <anevilyak@gmail.com> |
Adjust debug_utils functions. The functions in question now return an error rather than simply calling exit() directly when they fail, as this behavior wasn't acceptable for e.g. Debugger. Adjusted all calling apps accordingly.
|
#
74ec65d8 |
|
10-May-2013 |
Rene Gollent <anevilyak@gmail.com> |
Fix profile to recognize commpage image.
|
#
323b6546 |
|
21-Nov-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Filtered flat import of Oliver's svn package management branch Bring the changes that aren't package management related and the ones that are but don't take effect as long as they are ignored by the build system into the master. Summary of changes: * Introduce private header <directories.h> with constants for a good deal of paths that should usually be retrieved via find_directory(). * Replace hard-coded paths by using find_directory() or the <directories.h> constants (e.g. in drivers and the kernel). * Add find_directory() constants needed for package management. * Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros. * src/apps/deskbar: BeMenu.* -> DeskbarMenu.*, DeskBarUtils.* -> DeskbarUtils.* * Change deskbar menu settings directory from ~/config/be to ~/config/settings/deskbar. * Other smaller cleanups, changes, and fixes.
|
#
3dfd9cb9 |
|
16-Jun-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Flat commit of all changes from package-management branch in svn
|
#
24df6592 |
|
11-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged signals-merge branch into trunk with the following changes: * Reorganized the kernel locking related to threads and teams. * We now discriminate correctly between process and thread signals. Signal handlers have been moved to teams. Fixes #5679. * Implemented real-time signal support, including signal queuing, SA_SIGINFO support, sigqueue(), sigwaitinfo(), sigtimedwait(), waitid(), and the addition of the real-time signal range. Closes #1935 and #2695. * Gave SIGBUS a separate signal number. Fixes #6704. * Implemented <time.h> clock and timer support, and fixed/completed alarm() and [set]itimer(). Closes #5682. * Implemented support for thread cancellation. Closes #5686. * Moved send_signal() from <signal.h> to <OS.h>. Fixes #7554. * Lots over smaller more or less related changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42116 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
756b64fd |
|
16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Removed the obsolescent [B]Reference[able] API and replaced the remaining uses. Fixes the gcc 2 acpi build. * Renamed WeakReferenceable::{Add,Remove}Reference() to {Acquire,Release}Reference() for consistency. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39871 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
75064315 |
|
23-Feb-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Made Team BReferenceable. Since teams are usually destroyed before their main thread, we were accessing already destroyed Team objects. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35591 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c645be35 |
|
23-Feb-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixed getopt string. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35589 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
28f88875 |
|
21-Feb-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Made ProfileResult and ImageProfileResults BReferenceable. * Added command line option '-S', which triggers a new summary mode. When enabled the image/symbol hits aren't counted for individual threads anymore, but summed up for all threads. The results are printed at the end. Works together with all profiling modes (inclusive, exclusive, callgrind). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35573 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5fc675d5 |
|
20-Feb-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Some refactoring: * Added new class ProfiledEntity which Thread derives from and which is the new dependency for the profile result classes (instead of Thread). * Renamed *ThreadProfileResult to *ProfileResult and *ThreadImage to *ProfileResultImage and move ProfileResult[Image] into a new header/source file. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35546 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
24a9c1bb |
|
20-Jul-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added option "-r, --recorded" to profile: this will now retrieve the kernel profile data area, and evaluate its data - it doesn't produce any output yet, though. * _user_system_profiler_recorded() now also makes sure the userland app can read from the buffer area. * Fixed leak in SharedImage::Init(). * Made the symbol retriever more smart when it deals with kernel images; if the image ID is no longer available, it will now use the path based image symbol iterator (and also adds the boot kernel path, in case the module don't have one). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31653 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
227fe7d3 |
|
23-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Scheduler/wait object listener: - Moved scheduler listening interface to <listeners.h> and added more convenient to use templatized notification functions. - Added a listener mechanism for the wait objects (semaphores, condition variables, mutex, rw_lock). * system profiler: - Hopefully fixed locking issues related to notifying the profiler thread for good. We still had an inconsistent locking order, since the scheduler notification callbacks are invoked with the thread lock held and have to acquire the object lock then, while the other callbacks acquired the object lock first and as a side effect of ConditionVariable::NotifyOne() acquired the thread lock. Now we make sure the object lock is the innermost lock. - Track the number of dropped events due to a full buffer. _user_system_profiler_next_buffer() returns this count now. - When scheduling profiling events are requested also listen to wait objects and generate the respective profiling events. We send those events lazily and cache the infos to avoid resending an event for the same wait object. - When starting profiling we do now generate "thread scheduled" events for the already running threads. - _user_system_profiler_start(): Check whether the parameters pointer is a userland address at all. - The system_profiler_team_added event does now also contain the team's name. * Added a sem_get_name_unsafe() returning a semaphore's name. It is "unsafe", since the caller has to ensure that the semaphore exists and continues to exist as long as the returned name is used. * Adjusted the "profile" and "scheduling_recorder" according to the system profiling changes. The latter prints the number of dropped events, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30345 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5b2f0f33 |
|
18-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Changed the interface of _kern_system_profiler_start(). The parameters are passed in a structure now, so it is easier to extend it and ignore unused parameters. * One can now select which system profiling events one is interested in. * Added scheduling events to the system profiling interface. Those are pretty much the ones recorded when scheduler tracing is enabled. Still missing are the "wait object" events that allow to interpret what a thread is waiting for. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30243 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
644ab954 |
|
16-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added support for providing a command line also for the system profiling mode. Just as in the other mode the command is started and profiling stops when the command terminates. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30229 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f568799e |
|
17-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Don't leak the Team objects for teams that are gone. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30228 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1b9d2885 |
|
16-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Also pass the team arguments and thread names with the respective system profiling events. * profile: Avoid using get_{team,thread}_info() in common code paths. The system profiling mode is asynchronous, so the team or thread in question could already be gone. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30193 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
464e95c4 |
|
15-Apr-2009 |
Rene Gollent <anevilyak@gmail.com> |
gcc4 build fix. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30186 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1836e909 |
|
15-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* In exclusive mode we no longer stop searching when we have found an image for a stack trace, if we haven't actually hit a symbol in the image. This way we don't get "unknown" image hits for PLT slots anymore. * In system profiling mode add the kernel images to new teams. The mode should be usable now. Well, except maybe for the amount of data one gets. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30172 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
afa231ac |
|
15-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Reorganized the image management. Introduced a SharedImage which knows the symbols and is identified by name. Image does still represent a team-bound image, but it refers to a SharedImage for the symbols, now. This allows us to load the symbols for a shared object only once and share the data for all teams referring to it. * Made the area used for system profiling writable. "-a -f" would segfault since the return addresses are sorted in-place. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30170 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0f379156 |
|
11-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* debug_create_symbol_lookup_context() gets a team ID instead of a debug context now. That's all it needs. * Added the option "-a" to the profile command line tool. It triggers profiling of the whole system. There are still some issues, particularly image related ones. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30129 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ee0d2e64 |
|
08-Oct-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Right check, wrong place. The "-C" option (don't profile child teams) was broken. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27926 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9aabd0ab |
|
30-Sep-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added option "-v <directory>". The tool will generate output files in valgrind's callgrind format in the given directory. Those can be analyzed with graphical tools like KCachegrind. Recursive functions are probably not handled correctly yet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27804 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
051fad0f |
|
29-Sep-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More refactoring: * Moved the BasicThreadProfileResult class, its subclasses and related code into separate files. * Made ThreadImage an abstract base class. Pulled the meaty part into new subclass BasicThreadImage. * Templatized AbstractThreadProfileResult over the ThreadImage type. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27788 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
72e19fd4 |
|
29-Sep-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Pulled subclass BasicThreadProfileResult out of AbstractThreadProfileResult. The latter only manages the images, now. Moved the AddSamples() code into BasicThreadProfileResult subclasses that handle it depending on whether the function hits are counted inclusively or exclusively ("-f" option). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27782 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ed2fc873 |
|
29-Sep-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Some refactoring: Separated the profile result collection from the thread management. There's now a ThreadProfileResult (abstract base class) object associated with a Thread object. Currently there's only one (currently misnamed) derived class AbstractThreadProfileResult, but some more refactoring will make the purpose clearer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27780 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
120cfc62 |
|
29-Sep-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved several classes into their own files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27779 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4dc355e9a98bf91d5e0851e432692fb267839de0 |
|
27-Jun-2013 |
Rene Gollent <anevilyak@gmail.com> |
Adjust debug_utils functions. The functions in question now return an error rather than simply calling exit() directly when they fail, as this behavior wasn't acceptable for e.g. Debugger. Adjusted all calling apps accordingly.
|
#
74ec65d8439c087c037adc141c418734d0b926d1 |
|
10-May-2013 |
Rene Gollent <anevilyak@gmail.com> |
Fix profile to recognize commpage image.
|
#
323b65468e5836bb27a5e373b14027d902349437 |
|
21-Nov-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Filtered flat import of Oliver's svn package management branch Bring the changes that aren't package management related and the ones that are but don't take effect as long as they are ignored by the build system into the master. Summary of changes: * Introduce private header <directories.h> with constants for a good deal of paths that should usually be retrieved via find_directory(). * Replace hard-coded paths by using find_directory() or the <directories.h> constants (e.g. in drivers and the kernel). * Add find_directory() constants needed for package management. * Add __HAIKU_ABI_NAME and B_HAIKU_ABI_NAME macros. * src/apps/deskbar: BeMenu.* -> DeskbarMenu.*, DeskBarUtils.* -> DeskbarUtils.* * Change deskbar menu settings directory from ~/config/be to ~/config/settings/deskbar. * Other smaller cleanups, changes, and fixes.
|
#
3dfd9cb95ce45f59160d50975210bc55e3fc0709 |
|
16-Jun-2011 |
Oliver Tappe <zooey@hirschkaefer.de> |
Flat commit of all changes from package-management branch in svn
|
#
24df65921befcd0ad0c5c7866118f922da61cb96 |
|
11-Jun-2011 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Merged signals-merge branch into trunk with the following changes: * Reorganized the kernel locking related to threads and teams. * We now discriminate correctly between process and thread signals. Signal handlers have been moved to teams. Fixes #5679. * Implemented real-time signal support, including signal queuing, SA_SIGINFO support, sigqueue(), sigwaitinfo(), sigtimedwait(), waitid(), and the addition of the real-time signal range. Closes #1935 and #2695. * Gave SIGBUS a separate signal number. Fixes #6704. * Implemented <time.h> clock and timer support, and fixed/completed alarm() and [set]itimer(). Closes #5682. * Implemented support for thread cancellation. Closes #5686. * Moved send_signal() from <signal.h> to <OS.h>. Fixes #7554. * Lots over smaller more or less related changes. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42116 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
756b64fd836dad5b63f41f0b01f8cedfec795f9d |
|
16-Dec-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Removed the obsolescent [B]Reference[able] API and replaced the remaining uses. Fixes the gcc 2 acpi build. * Renamed WeakReferenceable::{Add,Remove}Reference() to {Acquire,Release}Reference() for consistency. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39871 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
750643152760466f97922716b1b15f086a3b91c4 |
|
23-Feb-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Made Team BReferenceable. Since teams are usually destroyed before their main thread, we were accessing already destroyed Team objects. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35591 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c645be35235e3f0afa6923e51ac59b0dc3d0107f |
|
23-Feb-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Fixed getopt string. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35589 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
28f88875170b0b6b86f7685e4b6c9b6cdf02affd |
|
21-Feb-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Made ProfileResult and ImageProfileResults BReferenceable. * Added command line option '-S', which triggers a new summary mode. When enabled the image/symbol hits aren't counted for individual threads anymore, but summed up for all threads. The results are printed at the end. Works together with all profiling modes (inclusive, exclusive, callgrind). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35573 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5fc675d57e5ebfc2ce837b9bad0fccd5b96c64d9 |
|
20-Feb-2010 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Some refactoring: * Added new class ProfiledEntity which Thread derives from and which is the new dependency for the profile result classes (instead of Thread). * Renamed *ThreadProfileResult to *ProfileResult and *ThreadImage to *ProfileResultImage and move ProfileResult[Image] into a new header/source file. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@35546 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
24a9c1bbba752056902b93c3a79997b6972030e2 |
|
20-Jul-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* Added option "-r, --recorded" to profile: this will now retrieve the kernel profile data area, and evaluate its data - it doesn't produce any output yet, though. * _user_system_profiler_recorded() now also makes sure the userland app can read from the buffer area. * Fixed leak in SharedImage::Init(). * Made the symbol retriever more smart when it deals with kernel images; if the image ID is no longer available, it will now use the path based image symbol iterator (and also adds the boot kernel path, in case the module don't have one). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31653 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
227fe7d34aeed45d0727a0abde2ea2309352983b |
|
23-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Scheduler/wait object listener: - Moved scheduler listening interface to <listeners.h> and added more convenient to use templatized notification functions. - Added a listener mechanism for the wait objects (semaphores, condition variables, mutex, rw_lock). * system profiler: - Hopefully fixed locking issues related to notifying the profiler thread for good. We still had an inconsistent locking order, since the scheduler notification callbacks are invoked with the thread lock held and have to acquire the object lock then, while the other callbacks acquired the object lock first and as a side effect of ConditionVariable::NotifyOne() acquired the thread lock. Now we make sure the object lock is the innermost lock. - Track the number of dropped events due to a full buffer. _user_system_profiler_next_buffer() returns this count now. - When scheduling profiling events are requested also listen to wait objects and generate the respective profiling events. We send those events lazily and cache the infos to avoid resending an event for the same wait object. - When starting profiling we do now generate "thread scheduled" events for the already running threads. - _user_system_profiler_start(): Check whether the parameters pointer is a userland address at all. - The system_profiler_team_added event does now also contain the team's name. * Added a sem_get_name_unsafe() returning a semaphore's name. It is "unsafe", since the caller has to ensure that the semaphore exists and continues to exist as long as the returned name is used. * Adjusted the "profile" and "scheduling_recorder" according to the system profiling changes. The latter prints the number of dropped events, now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30345 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5b2f0f33f9bcfadc050342f4937b0e4bf31fc6eb |
|
18-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Changed the interface of _kern_system_profiler_start(). The parameters are passed in a structure now, so it is easier to extend it and ignore unused parameters. * One can now select which system profiling events one is interested in. * Added scheduling events to the system profiling interface. Those are pretty much the ones recorded when scheduler tracing is enabled. Still missing are the "wait object" events that allow to interpret what a thread is waiting for. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30243 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
644ab9549608d7d0d9eadad66c40737f058c49b6 |
|
16-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added support for providing a command line also for the system profiling mode. Just as in the other mode the command is started and profiling stops when the command terminates. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30229 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f568799e1b77a0957f8b6e79cdb8894272b0dcd9 |
|
17-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Don't leak the Team objects for teams that are gone. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30228 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1b9d2885d30d9fb9bdd083550d9da97c0e80af6c |
|
16-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Also pass the team arguments and thread names with the respective system profiling events. * profile: Avoid using get_{team,thread}_info() in common code paths. The system profiling mode is asynchronous, so the team or thread in question could already be gone. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30193 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
464e95c43f41f26b33c89f2184b5c1c75ea49d7f |
|
15-Apr-2009 |
Rene Gollent <anevilyak@gmail.com> |
gcc4 build fix. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30186 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1836e90993bd83881c487b2096b52487032d7fcf |
|
15-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* In exclusive mode we no longer stop searching when we have found an image for a stack trace, if we haven't actually hit a symbol in the image. This way we don't get "unknown" image hits for PLT slots anymore. * In system profiling mode add the kernel images to new teams. The mode should be usable now. Well, except maybe for the amount of data one gets. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30172 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
afa231acb89e3fe30b4b0afae6a17f7fa69078df |
|
15-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* Reorganized the image management. Introduced a SharedImage which knows the symbols and is identified by name. Image does still represent a team-bound image, but it refers to a SharedImage for the symbols, now. This allows us to load the symbols for a shared object only once and share the data for all teams referring to it. * Made the area used for system profiling writable. "-a -f" would segfault since the return addresses are sorted in-place. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30170 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0f3791568750bf18150d932c1e5fba2a215b9344 |
|
11-Apr-2009 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
* debug_create_symbol_lookup_context() gets a team ID instead of a debug context now. That's all it needs. * Added the option "-a" to the profile command line tool. It triggers profiling of the whole system. There are still some issues, particularly image related ones. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30129 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ee0d2e644522a5feca6fb10f5ffc837e78b4524d |
|
08-Oct-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Right check, wrong place. The "-C" option (don't profile child teams) was broken. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27926 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9aabd0ab3aa05f19544617bd185564e6c30050aa |
|
30-Sep-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Added option "-v <directory>". The tool will generate output files in valgrind's callgrind format in the given directory. Those can be analyzed with graphical tools like KCachegrind. Recursive functions are probably not handled correctly yet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27804 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
051fad0f92b2a631351f8a7fbb1b02235840d68c |
|
29-Sep-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
More refactoring: * Moved the BasicThreadProfileResult class, its subclasses and related code into separate files. * Made ThreadImage an abstract base class. Pulled the meaty part into new subclass BasicThreadImage. * Templatized AbstractThreadProfileResult over the ThreadImage type. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27788 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
72e19fd42681e08daec05ef864a661a6fe6fbec9 |
|
29-Sep-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Pulled subclass BasicThreadProfileResult out of AbstractThreadProfileResult. The latter only manages the images, now. Moved the AddSamples() code into BasicThreadProfileResult subclasses that handle it depending on whether the function hits are counted inclusively or exclusively ("-f" option). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27782 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ed2fc873006d382ca1b45ea9fd2a4623c0198d8c |
|
29-Sep-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Some refactoring: Separated the profile result collection from the thread management. There's now a ThreadProfileResult (abstract base class) object associated with a Thread object. Currently there's only one (currently misnamed) derived class AbstractThreadProfileResult, but some more refactoring will make the purpose clearer. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27780 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
120cfc62383936b6b6b17c1c19852b074ab87401 |
|
29-Sep-2008 |
Ingo Weinhold <ingo_weinhold@gmx.de> |
Moved several classes into their own files. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27779 a95241bf-73f2-0310-859d-f6bbb57e9c96
|