Load and destroy methods revised for proper reference counting

The update enhances object management by involving scope-based reference counting. The change affects loading and destruction operations in the Object and several other classes, ensuring the release or retention of objects adhere to their usage context. A function for logging type data has also been introduced to provide better clarity during debugging. Also, tests in script & interpreter have been altered to run in separate module initializations to avoid cross-test interference. Overall, it provides better memory management and dependable tests.
This commit is contained in:
IlushaShurupov 2023-08-01 20:05:29 +03:00
parent b06e1da529
commit 55571ca3dd
12 changed files with 58 additions and 10 deletions

View file

@ -73,7 +73,11 @@ static void deinit(const tp::ModuleManifest*) {
MethodObject::UnInitialize();
obj::BCgen::deinit();
assertNoLeaks();
delete NDO;
NDO = nullptr;
}
static tp::ModuleManifest* sModuleDependencies[] = {