Remove unneeded addHeapRef
This commit is contained in:
@@ -2046,7 +2046,6 @@ OBJ_GETTER(initSharedInstance,
|
|||||||
}
|
}
|
||||||
ObjHeader* object = AllocInstance(typeInfo, OBJ_RESULT);
|
ObjHeader* object = AllocInstance(typeInfo, OBJ_RESULT);
|
||||||
memoryState->initializingSingletons.push_back(std::make_pair(location, object));
|
memoryState->initializingSingletons.push_back(std::make_pair(location, object));
|
||||||
addHeapRef(object);
|
|
||||||
#if KONAN_NO_EXCEPTIONS
|
#if KONAN_NO_EXCEPTIONS
|
||||||
ctor(object);
|
ctor(object);
|
||||||
if (Strict)
|
if (Strict)
|
||||||
@@ -2054,7 +2053,6 @@ OBJ_GETTER(initSharedInstance,
|
|||||||
UpdateHeapRef(location, object);
|
UpdateHeapRef(location, object);
|
||||||
synchronize();
|
synchronize();
|
||||||
memoryState->initializingSingletons.pop_back();
|
memoryState->initializingSingletons.pop_back();
|
||||||
releaseHeapRef<Strict>(object);
|
|
||||||
return object;
|
return object;
|
||||||
#else // KONAN_NO_EXCEPTIONS
|
#else // KONAN_NO_EXCEPTIONS
|
||||||
try {
|
try {
|
||||||
@@ -2064,13 +2062,11 @@ OBJ_GETTER(initSharedInstance,
|
|||||||
UpdateHeapRef(location, object);
|
UpdateHeapRef(location, object);
|
||||||
synchronize();
|
synchronize();
|
||||||
memoryState->initializingSingletons.pop_back();
|
memoryState->initializingSingletons.pop_back();
|
||||||
releaseHeapRef<Strict>(object);
|
|
||||||
return object;
|
return object;
|
||||||
} catch (...) {
|
} catch (...) {
|
||||||
UpdateReturnRef(OBJ_RESULT, nullptr);
|
UpdateReturnRef(OBJ_RESULT, nullptr);
|
||||||
zeroHeapRef(location);
|
zeroHeapRef(location);
|
||||||
memoryState->initializingSingletons.pop_back();
|
memoryState->initializingSingletons.pop_back();
|
||||||
releaseHeapRef<Strict>(object);
|
|
||||||
synchronize();
|
synchronize();
|
||||||
throw;
|
throw;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user