Remove unneeded addHeapRef

This commit is contained in:
Alexander Shabalin
2020-03-26 13:05:44 +03:00
parent b52658eb38
commit 7295cc0f39
-4
View File
@@ -2046,7 +2046,6 @@ OBJ_GETTER(initSharedInstance,
}
ObjHeader* object = AllocInstance(typeInfo, OBJ_RESULT);
memoryState->initializingSingletons.push_back(std::make_pair(location, object));
addHeapRef(object);
#if KONAN_NO_EXCEPTIONS
ctor(object);
if (Strict)
@@ -2054,7 +2053,6 @@ OBJ_GETTER(initSharedInstance,
UpdateHeapRef(location, object);
synchronize();
memoryState->initializingSingletons.pop_back();
releaseHeapRef<Strict>(object);
return object;
#else // KONAN_NO_EXCEPTIONS
try {
@@ -2064,13 +2062,11 @@ OBJ_GETTER(initSharedInstance,
UpdateHeapRef(location, object);
synchronize();
memoryState->initializingSingletons.pop_back();
releaseHeapRef<Strict>(object);
return object;
} catch (...) {
UpdateReturnRef(OBJ_RESULT, nullptr);
zeroHeapRef(location);
memoryState->initializingSingletons.pop_back();
releaseHeapRef<Strict>(object);
synchronize();
throw;
}