Optimization and tweaks
This commit is contained in:
@@ -13,7 +13,6 @@
|
||||
#include "FlaxEngine.Gen.h"
|
||||
#include "MException.h"
|
||||
#include "Scripting.h"
|
||||
#include "StdTypesContainer.h"
|
||||
#include "Events.h"
|
||||
|
||||
Dictionary<Pair<ScriptingTypeHandle, StringView>, void(*)(ScriptingObject*, void*, bool)> ScriptingEvents::EventsTable;
|
||||
@@ -332,14 +331,13 @@ ScriptingTypeInitializer::ScriptingTypeInitializer(BinaryModule* module, const S
|
||||
// Script
|
||||
module->Types.AddUninitialized();
|
||||
new(module->Types.Get() + TypeIndex)ScriptingType(fullname, module, size, initRuntime, spawn, baseType, setupScriptVTable, setupScriptObjectVTable, interfaces);
|
||||
const MString typeName(fullname.Get(), fullname.Length());
|
||||
#if BUILD_DEBUG
|
||||
if (module->TypeNameToTypeIndex.ContainsKey(typeName))
|
||||
if (module->TypeNameToTypeIndex.ContainsKey(fullname))
|
||||
{
|
||||
LOG(Error, "Duplicated native typename {0} from module {1}.", String(fullname), String(module->GetName()));
|
||||
}
|
||||
#endif
|
||||
module->TypeNameToTypeIndex[typeName] = TypeIndex;
|
||||
module->TypeNameToTypeIndex[fullname] = TypeIndex;
|
||||
}
|
||||
|
||||
ScriptingTypeInitializer::ScriptingTypeInitializer(BinaryModule* module, const StringAnsiView& fullname, int32 size, ScriptingType::InitRuntimeHandler initRuntime, ScriptingType::Ctor ctor, ScriptingType::Dtor dtor, ScriptingTypeInitializer* baseType, const ScriptingType::InterfaceImplementation* interfaces)
|
||||
@@ -348,14 +346,13 @@ ScriptingTypeInitializer::ScriptingTypeInitializer(BinaryModule* module, const S
|
||||
// Class
|
||||
module->Types.AddUninitialized();
|
||||
new(module->Types.Get() + TypeIndex)ScriptingType(fullname, module, size, initRuntime, ctor, dtor, baseType, interfaces);
|
||||
const MString typeName(fullname.Get(), fullname.Length());
|
||||
#if BUILD_DEBUG
|
||||
if (module->TypeNameToTypeIndex.ContainsKey(typeName))
|
||||
if (module->TypeNameToTypeIndex.ContainsKey(fullname))
|
||||
{
|
||||
LOG(Error, "Duplicated native typename {0} from module {1}.", String(fullname), String(module->GetName()));
|
||||
}
|
||||
#endif
|
||||
module->TypeNameToTypeIndex[typeName] = TypeIndex;
|
||||
module->TypeNameToTypeIndex[fullname] = TypeIndex;
|
||||
}
|
||||
|
||||
ScriptingTypeInitializer::ScriptingTypeInitializer(BinaryModule* module, const StringAnsiView& fullname, int32 size, ScriptingType::InitRuntimeHandler initRuntime, ScriptingType::Ctor ctor, ScriptingType::Dtor dtor, ScriptingType::Copy copy, ScriptingType::Box box, ScriptingType::Unbox unbox, ScriptingType::GetField getField, ScriptingType::SetField setField, ScriptingTypeInitializer* baseType, const ScriptingType::InterfaceImplementation* interfaces)
|
||||
@@ -364,14 +361,13 @@ ScriptingTypeInitializer::ScriptingTypeInitializer(BinaryModule* module, const S
|
||||
// Structure
|
||||
module->Types.AddUninitialized();
|
||||
new(module->Types.Get() + TypeIndex)ScriptingType(fullname, module, size, initRuntime, ctor, dtor, copy, box, unbox, getField, setField, baseType, interfaces);
|
||||
const MString typeName(fullname.Get(), fullname.Length());
|
||||
#if BUILD_DEBUG
|
||||
if (module->TypeNameToTypeIndex.ContainsKey(typeName))
|
||||
if (module->TypeNameToTypeIndex.ContainsKey(fullname))
|
||||
{
|
||||
LOG(Error, "Duplicated native typename {0} from module {1}.", String(fullname), String(module->GetName()));
|
||||
}
|
||||
#endif
|
||||
module->TypeNameToTypeIndex[typeName] = TypeIndex;
|
||||
module->TypeNameToTypeIndex[fullname] = TypeIndex;
|
||||
}
|
||||
|
||||
ScriptingTypeInitializer::ScriptingTypeInitializer(BinaryModule* module, const StringAnsiView& fullname, ScriptingType::InitRuntimeHandler initRuntime, ScriptingTypeInitializer* baseType, const ScriptingType::InterfaceImplementation* interfaces)
|
||||
@@ -380,14 +376,13 @@ ScriptingTypeInitializer::ScriptingTypeInitializer(BinaryModule* module, const S
|
||||
// Interface
|
||||
module->Types.AddUninitialized();
|
||||
new(module->Types.Get() + TypeIndex)ScriptingType(fullname, module, initRuntime, baseType, interfaces);
|
||||
const MString typeName(fullname.Get(), fullname.Length());
|
||||
#if BUILD_DEBUG
|
||||
if (module->TypeNameToTypeIndex.ContainsKey(typeName))
|
||||
if (module->TypeNameToTypeIndex.ContainsKey(fullname))
|
||||
{
|
||||
LOG(Error, "Duplicated native typename {0} from module {1}.", String(fullname), String(module->GetName()));
|
||||
}
|
||||
#endif
|
||||
module->TypeNameToTypeIndex[typeName] = TypeIndex;
|
||||
module->TypeNameToTypeIndex[fullname] = TypeIndex;
|
||||
}
|
||||
|
||||
BinaryModule::BinaryModulesList& BinaryModule::GetModules()
|
||||
@@ -1075,9 +1070,9 @@ void NativeOnlyBinaryModule::Destroy(bool isReloading)
|
||||
}
|
||||
}
|
||||
|
||||
Array<GetBinaryModuleFunc>& StaticallyLinkedBinaryModuleInitializer::GetStaticallyLinkedBinaryModules()
|
||||
Array<GetBinaryModuleFunc, InlinedAllocation<64>>& StaticallyLinkedBinaryModuleInitializer::GetStaticallyLinkedBinaryModules()
|
||||
{
|
||||
static Array<GetBinaryModuleFunc> modules;
|
||||
static Array<GetBinaryModuleFunc, InlinedAllocation<64>> modules;
|
||||
return modules;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user