[STYLE] Spec: remove commented requires
[platform/core/system/swap-probe.git] / probe_tizenapi / tizen_thread.cpp
index 5cac066..10c9e62 100755 (executable)
@@ -31,6 +31,8 @@
  *
  */
 
+#include <typeinfo>
+#include <cxxabi.h>
 #include <FBase.h>
 #include "daprobe.h"
 #include "probeinfo.h"
@@ -128,6 +130,7 @@ _ThreadImpl::ThreadProc(void* params) {
        int blockresult;
        bool bfiltering = false;
        void *tmpPtr;
+       void *ret;
 
        if (!ThreadProcp) {
                probeBlockStart();
@@ -163,15 +166,15 @@ _ThreadImpl::ThreadProc(void* params) {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_void___ThreadImpl__ThreadProc_void__params_,
                                  "p", voidp_to_uint64(params));
-               PACK_COMMON_END('p', (unsigned int)pSelf, 0, blockresult);
-               PACK_THREAD((unsigned int)pThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_INTERNAL_START);
+               PACK_COMMON_END('p', 0, 0, blockresult);
+               PACK_THREAD((unsigned int)pThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_INTERNAL_START, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                preBlockEnd();
                probingEnd();
        }
        // all probe should be reachable inside thread start_routine (user implemented Thread::Run)
-       (ThreadProcp)(params);
+       ret = (ThreadProcp)(params);
        //
        if (postBlockBegin(blockresult)) {
                probingStart();
@@ -187,8 +190,8 @@ _ThreadImpl::ThreadProc(void* params) {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_void___ThreadImpl__ThreadProc_void__params_,
                                  "p", voidp_to_uint64(params));
-               PACK_COMMON_END('p', (unsigned int)pSelf, 0, blockresult);
-               PACK_THREAD((unsigned int)pThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_INTERNAL_STOP);
+               PACK_COMMON_END('p', ret, 0, blockresult);
+               PACK_THREAD((unsigned int)pThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_INTERNAL_STOP, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -470,8 +473,8 @@ result Thread::Sleep(long milliSeconds) {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_Thread__Sleep_long_milliSeconds_,
                                  "x", (uint64_t)(milliSeconds));
-               PACK_COMMON_END('p', 0, 0, blockresult);
-               PACK_THREAD((unsigned int)currentThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_WAIT_START);
+               PACK_COMMON_END('x', 0, 0, blockresult);
+               PACK_THREAD((unsigned int)currentThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_WAIT_START, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                preBlockEnd();
@@ -489,8 +492,8 @@ result Thread::Sleep(long milliSeconds) {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_Thread__Yield_void_,
                                  "x", (uint64_t)(milliSeconds));
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int)currentThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_WAIT_END);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int)currentThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_WAIT_END, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -542,8 +545,9 @@ Thread* Thread::GetCurrentThread(void) {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_Thread__Thread__GetCurrentThread_void_,
                                  "", 0);
-               PACK_COMMON_END('p', (unsigned int)currentThread, res, blockresult);
-               PACK_THREAD((unsigned int)currentThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_OTHER);
+               PACK_COMMON_END('p', voidp_to_uint64(currentThread),
+                               res, blockresult);
+               PACK_THREAD((unsigned int)currentThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_OTHER, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -596,8 +600,8 @@ result Thread::Yield(void) {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_Thread__Yield_void_,
                                  "", 0);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int)currentThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_OTHER);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int)currentThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_OTHER, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -645,8 +649,8 @@ result Thread::Exit(int exitCode) {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_Thread__Exit_int_exitCode_,
                                  "d", exitCode);
-               PACK_COMMON_END('p', 0, 0, blockresult);
-               PACK_THREAD((unsigned int)currentThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_EXIT);
+               PACK_COMMON_END('n', 0, 0, blockresult);
+               PACK_THREAD((unsigned int)currentThread, THREAD_TIZENTHREAD_WORKER, THREAD_API_EXIT, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                preBlockEnd();
@@ -706,8 +710,8 @@ result Thread::Construct(ThreadType threadType, long stackSize,
                                  API_ID_result_Thread__Construct_ThreadType_threadType__long_stackSize__ThreadPriority_priority_,
                                  "dxd", threadType, (uint64_t)(stackSize),
                                  priority);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_NEW);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_NEW, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -757,8 +761,8 @@ result Thread::Construct(long stackSize, ThreadPriority priority) {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_Thread__Construct_long_stackSize__ThreadPriority_priority_,
                                  "xd", (uint64_t)(stackSize), priority);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_NEW);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_NEW, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -814,8 +818,8 @@ result Thread::Construct(const Tizen::Base::String &name, long stackSize,
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_Thread__Construct_const_Tizen__Base__String__name__long_stackSize__ThreadPriority_priority_,
                                  "sxd", temp, (uint64_t)(stackSize), priority);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_NEW);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_NEW, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -874,8 +878,8 @@ result Thread::Construct(const Tizen::Base::String &name, ThreadType threadType,
                                  API_ID_result_Thread__Construct_const_Tizen__Base__String__name__ThreadType_threadType__long_stackSize__ThreadPriority_priority_,
                                  "sdxd", temp, threadType,
                                  (uint64_t)(stackSize), priority);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_NEW);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_NEW, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -931,8 +935,8 @@ result Thread::Construct(IRunnable &target, long stackSize,
                                  API_ID_result_Thread__Construct_IRunnable__target__long_stackSize__ThreadPriority_priority_,
                                  "xxd", (uint64_t)(&target),
                                  (uint64_t)(stackSize), priority);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_NEW);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_NEW, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -991,8 +995,8 @@ result Thread::Construct(const Tizen::Base::String &name, IRunnable &target,
                                  API_ID_result_Thread__Construct_const_Tizen__Base__String__name__IRunnable__target__long_stackSize__ThreadPriority_priority_,
                                  "sxxd", temp, (uint64_t)(&target),
                                  (uint64_t)(stackSize), priority);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_NEW);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_NEW, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -1045,8 +1049,8 @@ result Thread::GetExitCode(int &exitCode) const {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_Thread__GetExitCode_int__exitCode__const,
                                  "d", exitCode);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_OTHER);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_OTHER, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -1101,7 +1105,7 @@ const Tizen::Base::String & Thread::GetName(void) const {
                                  API_ID_const_Tizen__Base__String___Thread__GetName_void__const,
                                  "", 0);
                PACK_COMMON_END('p', ret.GetPointer(), res, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_OTHER);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_OTHER, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -1146,8 +1150,8 @@ result Thread::Join(void) {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_Thread__Join_void_,
                                  "", 0);
-               PACK_COMMON_END('p', 0, 0, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_WAIT_START);
+               PACK_COMMON_END('x', 0, 0, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_WAIT_START, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                preBlockEnd();
@@ -1162,8 +1166,8 @@ result Thread::Join(void) {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_Thread__Join_void_,
                                  "", 0);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_WAIT_END);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_WAIT_END, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -1286,15 +1290,16 @@ result Thread::Start(void) {
        ret = (this->*Startp)();
        //
        if (postBlockBegin(blockresult)) {
-
+               int status;
+               char *class_name = abi::__cxa_demangle(typeid(*this).name(),0,0,&status);
                PREPARE_LOCAL_BUF();
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_Thread__Start_void_,
                                  "", 0);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_START);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_START, class_name);
                FLUSH_LOCAL_BUF();
-
+               free(class_name);
                postBlockEnd();
        }
        return ret;
@@ -1341,8 +1346,8 @@ result Thread::Stop(void) {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_Thread__Stop_void_,
                                  "", 0);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_STOP);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_WORKER, THREAD_API_STOP, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -1393,8 +1398,8 @@ result EventDrivenThread::Construct(long stackSize, ThreadPriority priority) {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_EventDrivenThread__Construct_long_stackSize__ThreadPriority_priority_,
                                  "xd", (uint64_t)(stackSize), priority);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_EVENTDRIVEN, THREAD_API_NEW);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_EVENTDRIVEN, THREAD_API_NEW, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -1453,8 +1458,8 @@ result EventDrivenThread::Construct(const Tizen::Base::String &name, long stackS
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_EventDrivenThread__Construct_const_Tizen__Base__String__name__long_stackSize__ThreadPriority_priority_,
                                  "sx", temp, (uint64_t)(stackSize));
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_EVENTDRIVEN, THREAD_API_NEW);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_EVENTDRIVEN, THREAD_API_NEW, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();
@@ -1505,8 +1510,8 @@ result EventDrivenThread::Quit() {
                PACK_COMMON_BEGIN(MSG_PROBE_THREAD,
                                  API_ID_result_EventDrivenThread__Quit__,
                                  "", 0);
-               PACK_COMMON_END('p', ret, ret, blockresult);
-               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_EVENTDRIVEN, THREAD_API_STOP);
+               PACK_COMMON_END('x', ret, ret, blockresult);
+               PACK_THREAD((unsigned int) this, THREAD_TIZENTHREAD_EVENTDRIVEN, THREAD_API_STOP, THREAD_CLASS_BLANK);
                FLUSH_LOCAL_BUF();
 
                postBlockEnd();