aboutsummaryrefslogtreecommitdiff
path: root/include/pub_tool_tooliface.h
diff options
context:
space:
mode:
authorsewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>2007-11-25 14:06:06 +0000
committersewardj <sewardj@a5019735-40e9-0310-863c-91ae7b9d1cf9>2007-11-25 14:06:06 +0000
commit7a387ea74af6e887c6fb30092485fb0cf614fb2a (patch)
tree974edf00e1ef92f48b38c84304202f76149966d1 /include/pub_tool_tooliface.h
parentaf44c8236f7a73e71b16b707bba56f33af4d01ce (diff)
downloadvalgrind-7a387ea74af6e887c6fb30092485fb0cf614fb2a.tar.gz
Core-tool iface changes needed to support exp-drd (Bart Van Assche).
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7212 a5019735-40e9-0310-863c-91ae7b9d1cf9
Diffstat (limited to 'include/pub_tool_tooliface.h')
-rw-r--r--include/pub_tool_tooliface.h16
1 files changed, 14 insertions, 2 deletions
diff --git a/include/pub_tool_tooliface.h b/include/pub_tool_tooliface.h
index 1f08521b3..cfc57d754 100644
--- a/include/pub_tool_tooliface.h
+++ b/include/pub_tool_tooliface.h
@@ -588,9 +588,21 @@ void VG_(track_stop_client_code)(
low-level thread create/quit event. In general a few hundred
instructions; hence a few hundred(ish) memory references could get
misclassified each time.
+
+ pre_thread_first_insn: is called when the thread is all set up and
+ ready to go (stack in place, etc) but has not executed its first
+ instruction yet. Gives threading tools a chance to ask questions
+ about the thread (eg, what is its initial client stack pointer)
+ that are not easily answered at pre_thread_ll_create time.
+
+ For a given thread, the call sequence is:
+ ll_create (in the parent's context)
+ first_insn (in the child's context)
+ ll_exit (in the child's context)
*/
-void VG_(track_pre_thread_ll_create)(void(*f)(ThreadId tid, ThreadId child));
-void VG_(track_pre_thread_ll_exit) (void(*f)(ThreadId tid));
+void VG_(track_pre_thread_ll_create) (void(*f)(ThreadId tid, ThreadId child));
+void VG_(track_pre_thread_first_insn)(void(*f)(ThreadId tid));
+void VG_(track_pre_thread_ll_exit) (void(*f)(ThreadId tid));
/* Signal events (not exhaustive)