From: Bart Van Assche Date: Sat, 29 Mar 2008 09:25:53 +0000 (+0000) Subject: Added VG_(thread_get_stack_size)(). X-Git-Tag: svn/VALGRIND_3_4_0~789 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=f760d16eb7bc2182bbad3e2f5ddebc82922748a8;p=thirdparty%2Fvalgrind.git Added VG_(thread_get_stack_size)(). git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7799 --- diff --git a/coregrind/m_machine.c b/coregrind/m_machine.c index 42bdc17cf0..3bf1246d2c 100644 --- a/coregrind/m_machine.c +++ b/coregrind/m_machine.c @@ -223,6 +223,13 @@ Addr VG_(thread_get_stack_max)(ThreadId tid) return VG_(threads)[tid].client_stack_highest_word; } +SizeT VG_(thread_get_stack_size)(ThreadId tid) +{ + vg_assert(0 <= tid && tid < VG_N_THREADS && tid != VG_INVALID_THREADID); + vg_assert(VG_(threads)[tid].status != VgTs_Empty); + return VG_(threads)[tid].client_stack_szB; +} + //------------------------------------------------------------- /* Details about the capabilities of the underlying (host) CPU. These details are acquired by (1) enquiring with the CPU at startup, or diff --git a/include/pub_tool_machine.h b/include/pub_tool_machine.h index c8556b53e1..bb9a4cc2a2 100644 --- a/include/pub_tool_machine.h +++ b/include/pub_tool_machine.h @@ -105,6 +105,9 @@ extern Bool VG_(thread_stack_next) ( /*MOD*/ThreadId* tid, // Returns .client_stack_highest_word for the given thread extern Addr VG_(thread_get_stack_max) ( ThreadId tid ); +// Returns how many bytes have been allocated for the stack of the given thread +extern Addr VG_(thread_get_stack_size) ( ThreadId tid ); + // Given a pointer to a function as obtained by "& functionname" in C, // produce a pointer to the actual entry point for the function. For // most platforms it's the identity function. Unfortunately, on