fixed shared memory parallelization, moved messages to single file
This commit is contained in:
@@ -144,10 +144,116 @@ static int decodeMessage(const string& message, vector<string>& pars, int &winH,
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sendMessage_1lvl(const wstring& toSend) { MessageManager::sendFirstLvl (toSend); }
|
||||
void sendMessage_2lvl(const wstring& toSend) { MessageManager::sendSecondLvl(toSend); }
|
||||
static void sendMessage_1lvl(const wstring& toSend) { MessageManager::sendFirstLvl (toSend); }
|
||||
static void sendMessage_2lvl(const wstring& toSend) { MessageManager::sendSecondLvl(toSend); }
|
||||
void sendMessage_progress(const wstring& toSend) { MessageManager::sendProgress (toSend); }
|
||||
|
||||
void sendMessage_1lvl(int kind, ...)
|
||||
{
|
||||
va_list list;
|
||||
va_start(list, kind);
|
||||
|
||||
if (kind == 0)
|
||||
{
|
||||
int iters = va_arg(list, int);
|
||||
#ifdef _WIN32
|
||||
sendMessage_1lvl(L"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> " + std::to_wstring(iters) + L" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||
#else
|
||||
sendMessage_1lvl(L"running " + std::to_wstring(iters) + L" iteration of syntax analisys");
|
||||
#endif
|
||||
}
|
||||
else if (kind == 1)
|
||||
{
|
||||
string str = va_arg(list, string);
|
||||
#ifdef _WIN32
|
||||
sendMessage_1lvl(wstring(L"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '") + wstring(str.begin(), str.end()) + L"'");
|
||||
#else
|
||||
sendMessage_1lvl(wstring(L"running pass '") + wstring(str.begin(), str.end()) + L"'");
|
||||
#endif
|
||||
}
|
||||
|
||||
va_end(list);
|
||||
}
|
||||
|
||||
void sendMessage_2lvl(int kind, ...)
|
||||
{
|
||||
va_list list;
|
||||
va_start(list, kind);
|
||||
|
||||
if (kind == 0)
|
||||
{
|
||||
bool isFunction = va_arg(list, int);
|
||||
string fName = va_arg(list, string);
|
||||
#if _WIN32
|
||||
if (isFunction)
|
||||
sendMessage_2lvl(wstring(L"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '") + to_wstring(fName) + L"'");
|
||||
else
|
||||
sendMessage_2lvl(wstring(L"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '") + to_wstring(fName) + L"'");
|
||||
#else
|
||||
if (isFunction)
|
||||
sendMessage_2lvl(wstring(L"processing function '") + wstring(fName.begin(), fName.end()) + L"'");
|
||||
else
|
||||
sendMessage_2lvl(wstring(L"processing module '") + wstring(fName.begin(), fName.end()) + L"'");
|
||||
#endif
|
||||
}
|
||||
else if (kind == 1)
|
||||
{
|
||||
int idx = va_arg(list, int);
|
||||
int all = va_arg(list, int);
|
||||
#ifdef _WIN32
|
||||
sendMessage_2lvl(wstring(L"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> ") + std::to_wstring(idx) + L"/" + std::to_wstring(all));
|
||||
#else
|
||||
sendMessage_2lvl(wstring(L"processing loop ") + std::to_wstring(idx) + L"/" + std::to_wstring(all));
|
||||
#endif
|
||||
}
|
||||
else if (kind == 2)
|
||||
{
|
||||
sendMessage_2lvl(L"");
|
||||
}
|
||||
else if (kind == 3)
|
||||
{
|
||||
string file = va_arg(list, string);
|
||||
#ifdef _WIN32
|
||||
sendMessage_2lvl(L" <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> '" + to_wstring(file) + L"'");
|
||||
#else
|
||||
sendMessage_2lvl(L" processing file '" + to_wstring(file) + L"'");
|
||||
#endif
|
||||
}
|
||||
else if (kind == 4)
|
||||
{
|
||||
int k = va_arg(list, int);
|
||||
int all = va_arg(list, int);
|
||||
#if _WIN32
|
||||
wstring treeM = L"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> " + std::to_wstring(k + 1) + L"/" + std::to_wstring(all);
|
||||
#else
|
||||
wstring treeM = L"conflict resolution, processing group " + std::to_wstring(k + 1) + L"/" + std::to_wstring(all);
|
||||
#endif
|
||||
sendMessage_2lvl(treeM);
|
||||
}
|
||||
else if (kind == 5)
|
||||
{
|
||||
int z = va_arg(list, int);
|
||||
int all = va_arg(list, int);
|
||||
#ifdef _WIN32
|
||||
wstring treeM = L"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> " + std::to_wstring(z + 1) + L"/" + std::to_wstring(all);
|
||||
#else
|
||||
wstring treeM = L"conflict resolution, processing array " + std::to_wstring(z + 1) + L"/" + std::to_wstring(all);
|
||||
#endif
|
||||
sendMessage_2lvl(treeM);
|
||||
}
|
||||
else if (kind == 6)
|
||||
{
|
||||
string funcName = va_arg(list, string);
|
||||
#ifdef _WIN32
|
||||
sendMessage_2lvl(wstring(L"<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> '") + to_wstring(funcName) + L"'");
|
||||
#else
|
||||
sendMessage_2lvl(wstring(L"inlinig of function '") + to_wstring(funcName) + L"'");
|
||||
#endif
|
||||
}
|
||||
|
||||
va_end(list);
|
||||
}
|
||||
|
||||
static string utf8_encode(const wstring& wstr)
|
||||
{
|
||||
if (wstr.empty())
|
||||
|
||||
@@ -32,7 +32,8 @@ public:
|
||||
static int init();
|
||||
};
|
||||
|
||||
void sendMessage_1lvl(const std::wstring& toSend);
|
||||
void sendMessage_2lvl(const std::wstring& toSend);
|
||||
void sendMessage_1lvl(int kind, ...);
|
||||
void sendMessage_2lvl(int kind, ...);
|
||||
void sendMessage_progress(const std::wstring& toSend);
|
||||
|
||||
unsigned int GetPid();
|
||||
|
||||
Reference in New Issue
Block a user