Merge branch '3.8' into 3.9-beta

This commit is contained in:
badlogic 2019-09-18 17:36:04 +02:00
commit e6103a8a88
3 changed files with 14 additions and 3 deletions

View File

@ -112,7 +112,7 @@ bool AppDelegate::applicationDidFinishLaunching () {
// create a scene. it's an autorelease object
//auto scene = RaptorExample::scene();
auto scene = MixAndMatchExample::scene();
auto scene = BatchingExample::scene();
// run
director->runWithScene(scene);

View File

@ -63,12 +63,14 @@ public:
void clearAllocations() {
_allocated.clear();
_usedMemory = 0;
}
virtual void *_alloc(size_t size, const char *file, int line) {
void *result = _extension->_alloc(size, file, line);
_allocated[result] = Allocation(result, size, file, line);
_allocations++;
_usedMemory += size;
return result;
}
@ -76,14 +78,17 @@ public:
void *result = _extension->_calloc(size, file, line);
_allocated[result] = Allocation(result, size, file, line);
_allocations++;
_usedMemory += size;
return result;
}
virtual void *_realloc(void *ptr, size_t size, const char *file, int line) {
if (_allocated.count(ptr)) _usedMemory -= _allocated[ptr].size;
_allocated.erase(ptr);
void *result = _extension->_realloc(ptr, size, file, line);
_reallocations++;
_allocated[result] = Allocation(result, size, file, line);
_usedMemory += size;
return result;
}
@ -91,6 +96,7 @@ public:
if (_allocated.count(mem)) {
_extension->_free(mem, file, line);
_frees++;
_usedMemory -= _allocated[mem].size;
_allocated.erase(mem);
return;
}
@ -103,12 +109,17 @@ public:
return _extension->_readFile(path, length);
}
size_t getUsedMemory() {
return _usedMemory;
}
private:
SpineExtension* _extension;
std::map<void*, Allocation> _allocated;
size_t _allocations;
size_t _reallocations;
size_t _frees;
size_t _usedMemory;
};
}

View File

@ -36,11 +36,11 @@
using namespace spine;
void *SpineObject::operator new(size_t sz) {
return SpineExtension::calloc<SpineObject>(sz, __FILE__, __LINE__);
return SpineExtension::getInstance()->_calloc(sz, __FILE__, __LINE__);
}
void *SpineObject::operator new(size_t sz, const char *file, int line) {
return SpineExtension::calloc<SpineObject>(sz, file, line);
return SpineExtension::getInstance()->_calloc(sz, file, line);
}
void *SpineObject::operator new(size_t sz, void *ptr) {