Optimize C++ compilation time
This commit is contained in:
@@ -417,6 +417,11 @@ BinaryModule::BinaryModule()
|
||||
GetModules().Add(this);
|
||||
}
|
||||
|
||||
void* BinaryModule::FindMethod(const ScriptingTypeHandle& typeHandle, const ScriptingTypeMethodSignature& signature)
|
||||
{
|
||||
return FindMethod(typeHandle, signature.Name, signature.Params.Count());
|
||||
}
|
||||
|
||||
void BinaryModule::Destroy(bool isReloading)
|
||||
{
|
||||
// Unregister
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include "Engine/Core/Types/String.h"
|
||||
#include "Engine/Core/Types/Variant.h"
|
||||
#include "Engine/Core/Collections/Dictionary.h"
|
||||
#include "Engine/Core/Collections/Array.h"
|
||||
#include "Engine/Serialization/ISerializable.h"
|
||||
#include "ManagedCLR/MAssemblyOptions.h"
|
||||
|
||||
@@ -131,10 +132,7 @@ public:
|
||||
/// <param name="typeHandle">The type to find method inside it.</param>
|
||||
/// <param name="signature">The method signature.</param>
|
||||
/// <returns>The method or null if failed to get it.</returns>
|
||||
virtual void* FindMethod(const ScriptingTypeHandle& typeHandle, const ScriptingTypeMethodSignature& signature)
|
||||
{
|
||||
return FindMethod(typeHandle, signature.Name, signature.Params.Count());
|
||||
}
|
||||
virtual void* FindMethod(const ScriptingTypeHandle& typeHandle, const ScriptingTypeMethodSignature& signature);
|
||||
|
||||
/// <summary>
|
||||
/// Invokes a given scripting method.
|
||||
|
||||
@@ -5,11 +5,11 @@
|
||||
#include "Engine/Debug/DebugLog.h"
|
||||
#include "Engine/Core/Log.h"
|
||||
#include "ScriptingType.h"
|
||||
#include <ThirdParty/mono-2.0/mono/metadata/loader.h>
|
||||
|
||||
extern "C" FLAXENGINE_API void mono_add_internal_call(const char* name, const void* method);
|
||||
#define ADD_INTERNAL_CALL(fullName, method) mono_add_internal_call(fullName, (const void*)method)
|
||||
|
||||
#if BUILD_RELEASE
|
||||
#if BUILD_RELEASE && 0
|
||||
|
||||
// Using invalid handle will crash engine in Release build
|
||||
#define INTERNAL_CALL_CHECK(obj)
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
#include "MDomain.h"
|
||||
#include "MUtils.h"
|
||||
#include "Engine/Core/Log.h"
|
||||
#include "Engine/Core/Types/TimeSpan.h"
|
||||
#include "Engine/Platform/FileSystem.h"
|
||||
#include "Engine/Debug/Exceptions/InvalidOperationException.h"
|
||||
#include "Engine/Debug/Exceptions/FileNotFoundException.h"
|
||||
@@ -16,6 +17,7 @@
|
||||
#include "Engine/Scripting/Scripting.h"
|
||||
#include "Engine/Platform/StringUtils.h"
|
||||
#include "Engine/Platform/File.h"
|
||||
#include "Engine/Threading/Threading.h"
|
||||
#include <ThirdParty/mono-2.0/mono/metadata/mono-debug.h>
|
||||
#include <ThirdParty/mono-2.0/mono/metadata/assembly.h>
|
||||
#include <ThirdParty/mono-2.0/mono/metadata/tokentype.h>
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "MAssemblyOptions.h"
|
||||
#include "Engine/Core/Delegate.h"
|
||||
#include "Engine/Core/Types/String.h"
|
||||
#include "Engine/Core/Collections/Array.h"
|
||||
#include "Engine/Core/Collections/Dictionary.h"
|
||||
#include "Engine/Platform/CriticalSection.h"
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
#include "Engine/Core/Types/String.h"
|
||||
#include "Engine/Core/Types/DateTime.h"
|
||||
#include "Engine/Engine/CommandLine.h"
|
||||
#include "Engine/Engine/Globals.h"
|
||||
#include "Engine/Debug/Exceptions/Exceptions.h"
|
||||
#include "Engine/Threading/Threading.h"
|
||||
#include "Engine/Platform/Thread.h"
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "Engine/Core/Types/StringView.h"
|
||||
#include "Engine/Core/Types/DataContainer.h"
|
||||
#include "Engine/Core/Types/Variant.h"
|
||||
#include "Engine/Core/Collections/Array.h"
|
||||
#include "Engine/Scripting/ScriptingObject.h"
|
||||
#include <ThirdParty/mono-2.0/mono/metadata/object.h>
|
||||
#include <ThirdParty/mono-2.0/mono/metadata/appdomain.h>
|
||||
|
||||
@@ -9,6 +9,7 @@
|
||||
#include "Engine/Scripting/ManagedCLR/MUtils.h"
|
||||
#include "Engine/Core/ObjectsRemovalService.h"
|
||||
#include "Engine/Profiler/Profiler.h"
|
||||
#include "Engine/Threading/Threading.h"
|
||||
#include <ThirdParty/mono-2.0/mono/metadata/mono-gc.h>
|
||||
|
||||
namespace ProfilerInternal
|
||||
|
||||
@@ -6,6 +6,7 @@
|
||||
#include "ScriptingType.h"
|
||||
#include "FlaxEngine.Gen.h"
|
||||
#include "Engine/Threading/Threading.h"
|
||||
#include "Engine/Threading/ThreadLocal.h"
|
||||
#include "Engine/Threading/IRunnable.h"
|
||||
#include "Engine/Platform/FileSystem.h"
|
||||
#include "Engine/Platform/File.h"
|
||||
@@ -21,10 +22,12 @@
|
||||
#include "MException.h"
|
||||
#include "Engine/Level/Level.h"
|
||||
#include "Engine/Core/ObjectsRemovalService.h"
|
||||
#include "Engine/Core/Types/TimeSpan.h"
|
||||
#include "Engine/Profiler/ProfilerCPU.h"
|
||||
#include "Engine/Content/Asset.h"
|
||||
#include "Engine/Content/Content.h"
|
||||
#include "Engine/Engine/EngineService.h"
|
||||
#include "Engine/Engine/Globals.h"
|
||||
#include "Engine/Graphics/RenderTask.h"
|
||||
#include "Engine/Serialization/JsonTools.h"
|
||||
#include <ThirdParty/mono-2.0/mono/metadata/mono-debug.h>
|
||||
@@ -109,7 +112,7 @@ Action Scripting::ScriptsLoaded;
|
||||
Action Scripting::ScriptsUnload;
|
||||
Action Scripting::ScriptsReloading;
|
||||
Action Scripting::ScriptsReloaded;
|
||||
ThreadLocal<Scripting::IdsMappingTable*, 32> Scripting::ObjectsLookupIdMapping;
|
||||
ThreadLocal<Scripting::IdsMappingTable*, 32, true> Scripting::ObjectsLookupIdMapping;
|
||||
ScriptingService ScriptingServiceInstance;
|
||||
|
||||
bool initFlaxEngine();
|
||||
@@ -224,12 +227,6 @@ MDomain* Scripting::GetRootDomain()
|
||||
return _monoRootDomain;
|
||||
}
|
||||
|
||||
MonoDomain* Scripting::GetMonoScriptsDomain()
|
||||
{
|
||||
ASSERT(_monoScriptsDomain != nullptr);
|
||||
return _monoScriptsDomain->GetNative();
|
||||
}
|
||||
|
||||
MDomain* Scripting::GetScriptsDomain()
|
||||
{
|
||||
return _monoScriptsDomain;
|
||||
|
||||
@@ -2,11 +2,12 @@
|
||||
|
||||
#pragma once
|
||||
|
||||
#include "Engine/Core/Collections/Dictionary.h"
|
||||
#include "Engine/Threading/ThreadLocal.h"
|
||||
#include "ScriptingObject.h"
|
||||
#include "Engine/Core/Types/BaseTypes.h"
|
||||
#include "Engine/Scripting/ScriptingType.h"
|
||||
#include "Types.h"
|
||||
|
||||
class BinaryModule;
|
||||
template<typename T, int32 MaxThreads, bool ClearMemory>
|
||||
class ThreadLocal;
|
||||
|
||||
/// <summary>
|
||||
/// Embedded managed scripting runtime service.
|
||||
@@ -26,41 +27,33 @@ public:
|
||||
/// <summary>
|
||||
/// Action fired on scripting engine loaded (always main thread).
|
||||
/// </summary>
|
||||
static Action ScriptsLoaded;
|
||||
static Delegate<> ScriptsLoaded;
|
||||
|
||||
/// <summary>
|
||||
/// Action fired on scripting engine unloading start (always main thread).
|
||||
/// </summary>
|
||||
static Action ScriptsUnload;
|
||||
static Delegate<> ScriptsUnload;
|
||||
|
||||
/// <summary>
|
||||
/// Action fired on scripting engine reload start (always main thread).
|
||||
/// </summary>
|
||||
static Action ScriptsReloading;
|
||||
static Delegate<> ScriptsReloading;
|
||||
|
||||
/// <summary>
|
||||
/// Action fired on scripting engine reload start (always main thread).
|
||||
/// </summary>
|
||||
static Action ScriptsReloaded;
|
||||
static Delegate<> ScriptsReloaded;
|
||||
|
||||
public:
|
||||
|
||||
/// <summary>
|
||||
/// Gets mono root domain
|
||||
/// </summary>
|
||||
/// <returns>The Mono root domain.</returns>
|
||||
static MDomain* GetRootDomain();
|
||||
|
||||
/// <summary>
|
||||
/// Gets mono scripts domain
|
||||
/// </summary>
|
||||
/// <returns>The Mono domain.</returns>
|
||||
static MonoDomain* GetMonoScriptsDomain();
|
||||
|
||||
/// <summary>
|
||||
/// Gets scripts domain
|
||||
/// </summary>
|
||||
/// <returns>The domain.</returns>
|
||||
static MDomain* GetScriptsDomain();
|
||||
|
||||
public:
|
||||
@@ -123,7 +116,7 @@ public:
|
||||
/// <summary>
|
||||
/// The objects lookup identifier mapping used to override the object ids on FindObject call (used by the object references deserialization).
|
||||
/// </summary>
|
||||
static ThreadLocal<IdsMappingTable*, 32> ObjectsLookupIdMapping;
|
||||
static ThreadLocal<IdsMappingTable*, 32, true> ObjectsLookupIdMapping;
|
||||
|
||||
/// <summary>
|
||||
/// Finds the object by the given identifier. Searches registered scene objects and optionally assets. Logs warning if fails.
|
||||
|
||||
@@ -6,6 +6,7 @@ class Scripting;
|
||||
struct ScriptingType;
|
||||
class BinaryModule;
|
||||
class ScriptingObject;
|
||||
class MDomain;
|
||||
class MException;
|
||||
class MAssembly;
|
||||
class MClass;
|
||||
|
||||
Reference in New Issue
Block a user