Ecere Software
/
sdk
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
1abde45
)
ecere/com/instance.ec: Tweaks to build ecereCOM with MemoryGuard
author
Jerome St-Louis
<jerome@ecere.com>
Thu, 21 Apr 2016 03:49:11 +0000
(23:49 -0400)
committer
Jerome St-Louis
<jerome@ecere.com>
Thu, 28 Jul 2016 22:23:15 +0000
(18:23 -0400)
ecere/src/com/instance.ec
patch
|
blob
|
history
diff --git
a/ecere/src/com/instance.ec
b/ecere/src/com/instance.ec
index
1eb27ef
..
5b9388d
100644
(file)
--- a/
ecere/src/com/instance.ec
+++ b/
ecere/src/com/instance.ec
@@
-4,6
+4,7
@@
namespace com;
#if defined(__EMSCRIPTEN__)
#define DISABLE_MEMMGR
#if defined(__EMSCRIPTEN__)
#define DISABLE_MEMMGR
+ #define _NOMUTEX
#endif
import "BinaryTree"
#endif
import "BinaryTree"
@@
-24,9
+25,15
@@
import "dataTypes"
#undef __BLOCKS__
#undef __BLOCKS__
-#if !defined(__EMSCRIPTEN__)
-#if !defined(ECERE_BOOTSTRAP)
+#if defined(ECERE_BOOTSTRAP)
+ #define _NOMUTEX
+#endif
+
+#if !defined(_NOMUTEX)
import "Mutex"
import "Mutex"
+#else
+#if defined(MEMINFO)
+int GetCurrentThreadID() { return 0; }
#endif
#endif
#endif
#endif
@@
-53,7
+60,7
@@
import "Mutex"
#endif
#ifdef MEMINFO
#endif
#ifdef MEMINFO
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
import "Thread"
#endif
static define MAX_MEMORY_LOC = 40;
import "Thread"
#endif
static define MAX_MEMORY_LOC = 40;
@@
-202,7
+209,7
@@
public dllexport void MemoryGuard_PushLoc(const char * loc)
{
#ifdef MEMINFO
MemStack stack;
{
#ifdef MEMINFO
MemStack stack;
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
memMutex.Wait();
#endif
stack = (MemStack)memStacks.Find(GetCurrentThreadID());
memMutex.Wait();
#endif
stack = (MemStack)memStacks.Find(GetCurrentThreadID());
@@
-214,7
+221,7
@@
public dllexport void MemoryGuard_PushLoc(const char * loc)
}
if(stack.pos < MAX_STACK_FRAMES)
stack.frames[stack.pos++] = loc;
}
if(stack.pos < MAX_STACK_FRAMES)
stack.frames[stack.pos++] = loc;
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
memMutex.Release();
#endif
#endif
memMutex.Release();
#endif
#endif
@@
-224,7
+231,7
@@
public dllexport void MemoryGuard_PopLoc()
{
#ifdef MEMINFO
MemStack stack;
{
#ifdef MEMINFO
MemStack stack;
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
memMutex.Wait();
#endif
stack = (MemStack)memStacks.Find(GetCurrentThreadID());
memMutex.Wait();
#endif
stack = (MemStack)memStacks.Find(GetCurrentThreadID());
@@
-232,7
+239,7
@@
public dllexport void MemoryGuard_PopLoc()
{
stack.pos--;
}
{
stack.pos--;
}
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
memMutex.Release();
#endif
#endif
memMutex.Release();
#endif
#endif
@@
-734,7
+741,7
@@
static uint TOTAL_MEM = 0;
static uint OUTSIDE_MEM = 0;
#endif
static uint OUTSIDE_MEM = 0;
#endif
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
#if !defined(ECERE_BOOTSTRAP)
static Mutex memMutex { };
#endif
#if !defined(ECERE_BOOTSTRAP)
static Mutex memMutex { };
#endif
@@
-1462,7
+1469,7
@@
static void * _malloc(unsigned int size)
void * pointer;
void * pointer;
-#if !defined(
ECERE_BOOTSTRAP) && !defined(__EMSCRIPTEN__
)
+#if !defined(
_NOMUTEX
)
memMutex.Wait();
#endif
memMutex.Wait();
#endif
@@
-1489,7
+1496,7
@@
static void * _malloc(unsigned int size)
printf(" %s\n", stack.frames[c]);
memoryErrorsCount++;
printf(" %s\n", stack.frames[c]);
memoryErrorsCount++;
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
memMutex.Release();
#endif
return null;
memMutex.Release();
#endif
return null;
@@
-1506,7
+1513,7
@@
static void * _malloc(unsigned int size)
}
#endif
}
#endif
-#if !defined(
ECERE_BOOTSTRAP) && !defined(__EMSCRIPTEN__
)
+#if !defined(
_NOMUTEX
)
memMutex.Release();
#endif
memMutex.Release();
#endif
@@
-1529,7
+1536,7
@@
static void * _calloc(int n, unsigned int size)
#else
void * pointer;
#else
void * pointer;
-#if !defined(
ECERE_BOOTSTRAP) && !defined(__EMSCRIPTEN__
)
+#if !defined(
_NOMUTEX
)
memMutex.Wait();
#endif
memMutex.Wait();
#endif
@@
-1554,7
+1561,7
@@
static void * _calloc(int n, unsigned int size)
if(stack.frames[c])
printf(" %s\n", stack.frames[c]);
memoryErrorsCount++;
if(stack.frames[c])
printf(" %s\n", stack.frames[c]);
memoryErrorsCount++;
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
memMutex.Release();
#endif
return null;
memMutex.Release();
#endif
return null;
@@
-1573,7
+1580,7
@@
static void * _calloc(int n, unsigned int size)
}
#endif
}
#endif
-#if !defined(
ECERE_BOOTSTRAP) && !defined(__EMSCRIPTEN__
)
+#if !defined(
_NOMUTEX
)
memMutex.Release();
#endif
memMutex.Release();
#endif
@@
-1597,7
+1604,7
@@
static void * _realloc(void * pointer, unsigned int size)
#else
if(!size) { _free(pointer); return null; }
#else
if(!size) { _free(pointer); return null; }
-#if !defined(
ECERE_BOOTSTRAP) && !defined(__EMSCRIPTEN__
)
+#if !defined(
_NOMUTEX
)
memMutex.Wait();
#endif
memMutex.Wait();
#endif
@@
-1639,7
+1646,7
@@
static void * _realloc(void * pointer, unsigned int size)
if(stack.frames[c])
printf(" %s\n", stack.frames[c]);
memoryErrorsCount++;
if(stack.frames[c])
printf(" %s\n", stack.frames[c]);
memoryErrorsCount++;
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
memMutex.Release();
#endif
return null;
memMutex.Release();
#endif
return null;
@@
-1689,7
+1696,7
@@
static void * _realloc(void * pointer, unsigned int size)
pointer = realloc(pointer, size);
#endif
pointer = realloc(pointer, size);
#endif
-#if !defined(
ECERE_BOOTSTRAP) && !defined(__EMSCRIPTEN__
)
+#if !defined(
_NOMUTEX
)
memMutex.Release();
#endif
return pointer ? ((byte *)pointer + REDZONE) : null;
memMutex.Release();
#endif
return pointer ? ((byte *)pointer + REDZONE) : null;
@@
-1710,7
+1717,7
@@
static void * _crealloc(void * pointer, unsigned int size)
#else
if(!size) { _free(pointer); return null; }
#else
if(!size) { _free(pointer); return null; }
-#if !defined(
ECERE_BOOTSTRAP) && !defined(__EMSCRIPTEN__
)
+#if !defined(
_NOMUTEX
)
memMutex.Wait();
#endif
memMutex.Wait();
#endif
@@
-1752,7
+1759,7
@@
static void * _crealloc(void * pointer, unsigned int size)
if(stack.frames[c])
printf(" %s\n", stack.frames[c]);
memoryErrorsCount++;
if(stack.frames[c])
printf(" %s\n", stack.frames[c]);
memoryErrorsCount++;
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
memMutex.Release();
#endif
return null;
memMutex.Release();
#endif
return null;
@@
-1802,7
+1809,7
@@
static void * _crealloc(void * pointer, unsigned int size)
pointer = crealloc(pointer, size);
#endif
pointer = crealloc(pointer, size);
#endif
-#if !defined(
ECERE_BOOTSTRAP) && !defined(__EMSCRIPTEN__
)
+#if !defined(
_NOMUTEX
)
memMutex.Release();
#endif
return pointer ? ((byte *)pointer + REDZONE) : null;
memMutex.Release();
#endif
return pointer ? ((byte *)pointer + REDZONE) : null;
@@
-1816,7
+1823,7
@@
static void _free(void * pointer)
#if defined(DISABLE_MEMMGR) && !defined(MEMINFO)
free(pointer);
#else
#if defined(DISABLE_MEMMGR) && !defined(MEMINFO)
free(pointer);
#else
-#if !defined(
ECERE_BOOTSTRAP) && !defined(__EMSCRIPTEN__
)
+#if !defined(
_NOMUTEX
)
if(memMutex != pointer) memMutex.Wait();
#endif
if(memMutex != pointer) memMutex.Wait();
#endif
@@
-1926,7
+1933,7
@@
static void _free(void * pointer)
free(pointer);
#endif
free(pointer);
#endif
-#if !defined(
ECERE_BOOTSTRAP) && !defined(__EMSCRIPTEN__
)
+#if !defined(
_NOMUTEX
)
if(memMutex != pointer) memMutex.Release();
#endif
if(memMutex != pointer) memMutex.Release();
#endif
@@
-4630,7
+4637,7
@@
public dllexport void * eInstance_New(Class _class)
#ifdef MEMINFO
#undef malloc
#ifdef MEMINFO
#undef malloc
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
memMutex.Wait();
#endif
//allocateClass = _class;
memMutex.Wait();
#endif
//allocateClass = _class;
@@
-4665,7
+4672,7
@@
public dllexport void * eInstance_New(Class _class)
}
#ifdef MEMINFO
allocateClass = null;
}
#ifdef MEMINFO
allocateClass = null;
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
memMutex.Release();
#endif
#endif
memMutex.Release();
#endif
#endif
@@
-7393,7
+7400,7
@@
public void queryMemInfo(char * string)
blocksByClass.Free();
sizeByClass.Free();
blocksByClass.Free();
sizeByClass.Free();
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
memMutex.Wait();
#endif
for(p = 0; pools && p < NUM_POOLS; p++)
memMutex.Wait();
#endif
for(p = 0; pools && p < NUM_POOLS; p++)
@@
-7407,7
+7414,7
@@
public void queryMemInfo(char * string)
sizeByClass[c] += block.size;
}
}
sizeByClass[c] += block.size;
}
}
-#if !defined(_
_EMSCRIPTEN__
)
+#if !defined(_
NOMUTEX
)
memMutex.Release();
#endif
memMutex.Release();
#endif