From c12b3e7a61a7e382e61219acc9730f5bca502d9c Mon Sep 17 00:00:00 2001 From: ClearScript Date: Wed, 18 Nov 2020 10:29:57 -0800 Subject: [PATCH] ClearScript 7.0: Added .NET 5.0 targets; unified target-specific code via system packages; converted .NET Framework projects to SDK-style; added support for future runtimes; cleaned up project files; updated build and deployment documentation. Tested with V8 8.7.220.25. --- ClearScript.NoV8.sln | 47 +- ClearScript.sln | 18 +- ClearScript/ClearScript.Core.csproj | 211 - ClearScript/ClearScript.V8.csproj | 123 - ClearScript/ClearScript.Windows.csproj | 91 - ClearScript/Exports/VersionSymbols.h | 4 +- ClearScript/Properties/AssemblyInfo.Core.cs | 4 +- ClearScript/Properties/AssemblyInfo.V8.cs | 2 +- .../Properties/AssemblyInfo.Windows.cs | 2 +- ClearScript/Util/MiscHelpers.NetCore.cs | 45 - ClearScript/Util/MiscHelpers.NetFramework.cs | 53 - ClearScript/Util/MiscHelpers.cs | 34 +- ClearScript/Util/NativeMethods.cs | 50 - .../V8SplitProxyNative.Generated.cs | 5885 ++++++++++++++++- .../SplitProxy/V8SplitProxyNative.NetCore.cs | 61 - .../V8SplitProxyNative.NetFramework.cs | 36 - .../V8/SplitProxy/V8SplitProxyNative.cs | 66 + .../V8/SplitProxy/V8SplitProxyNative.tt | 5 +- ClearScript/V8/V8Proxy.NetCore.cs | 50 - ClearScript/V8/V8Proxy.NetFramework.cs | 20 - ClearScript/V8/V8Proxy.cs | 51 + ClearScript/doc/Build.docx | Bin 33634 -> 34119 bytes .../ClearScriptBenchmarks.csproj | 93 - .../Properties/AssemblyInfo.cs | 2 +- ClearScriptConsole/ClearScriptConsole.csproj | 97 - ClearScriptConsole/Properties/AssemblyInfo.cs | 2 +- ClearScriptTest/AccessContextTest.cs | 2 - .../BaseInterfaceMemberAccessTest.cs | 3 - ClearScriptTest/BaseMemberAccessTest.cs | 2 - ClearScriptTest/BugFixTest.cs | 4 - ClearScriptTest/ClearScriptTest.csproj | 293 - ClearScriptTest/CrossEngineTest.cs | 2 - ClearScriptTest/DynamicHostItemTest.cs | 2 - .../ExplicitBaseInterfaceMemberAccessTest.cs | 2 - .../ExplicitInterfaceMemberAccessTest.cs | 2 - ClearScriptTest/ExtendedHostFunctionsTest.cs | 2 - ClearScriptTest/ExtensionsTest.cs | 2 - ClearScriptTest/HostFunctionsTest.cs | 2 - ClearScriptTest/HostListTest.cs | 2 - ClearScriptTest/HostVariableTest.cs | 2 - ClearScriptTest/InterfaceMemberAccessTest.cs | 2 - ClearScriptTest/JScriptEngineTest.cs | 3 - ClearScriptTest/JScriptModuleTest.cs | 3 - ClearScriptTest/MemberAccessTest.cs | 2 - ClearScriptTest/Misc.NetFramework.cs | 2 + ClearScriptTest/Properties/AssemblyInfo.cs | 2 +- ClearScriptTest/PropertyBagTest.cs | 2 - ClearScriptTest/ScriptAccessTest.cs | 2 - ClearScriptTest/StaticMemberAccessTest.cs | 2 - ClearScriptTest/TypeRestrictionTest.cs | 2 - ClearScriptTest/V8ArrayBufferOrViewTest.cs | 2 - ClearScriptTest/V8ModuleTest.cs | 3 - ClearScriptTest/V8ScriptEngineTest.cs | 3 - ClearScriptTest/VBScriptEngineTest.cs | 3 - ClearScriptTest/packages.config | 4 - ClearScriptV8/CommonPlatform.h | 6 - ClearScriptV8/V8ContextImpl.cpp | 6 +- ClearScriptV8/V8DocumentInfo.h | 2 +- .../win-x64/ClearScriptV8.win-x64.vcxproj | 378 +- .../win-x86/ClearScriptV8.win-x86.vcxproj | 376 +- .../ClearScript.Core/ClearScript.Core.csproj | 177 + NetCore/ClearScript.V8/ClearScript.V8.csproj | 158 + .../ClearScript.Windows.csproj | 64 + NetCore/ClearScript/ClearScript.Core.csproj | 181 - NetCore/ClearScript/ClearScript.V8.csproj | 128 - .../ClearScript/ClearScript.Windows.csproj | 67 - .../ClearScriptBenchmarks.csproj | 61 +- .../ClearScriptConsole.csproj | 89 +- .../ClearScriptTest/ClearScriptTest.csproj | 466 +- .../ClearScript.Core/ClearScript.Core.csproj | 211 + .../ClearScript.V8/ClearScript.V8.csproj | 185 + .../ClearScript.Windows.csproj | 81 + .../ClearScriptBenchmarks.csproj | 59 + .../ClearScriptConsole.csproj | 67 + .../ClearScriptTest/ClearScriptTest.csproj | 262 + .../ClearScriptBenchmarks.csproj | 56 +- .../ClearScriptConsole.csproj | 80 +- Unix/ClearScriptTest/ClearScriptTest.csproj | 391 +- Unix/ClearScriptV8/Makefile | 10 + Unix/Makefile | 13 +- Unix/V8Update.sh | 2 +- V8/V8Patch.txt | 4 +- V8Update.cmd | 2 +- Version.tt | 2 +- docs/Details/Build.html | 74 +- 85 files changed, 8239 insertions(+), 2830 deletions(-) delete mode 100644 ClearScript/ClearScript.Core.csproj delete mode 100644 ClearScript/ClearScript.V8.csproj delete mode 100644 ClearScript/ClearScript.Windows.csproj delete mode 100644 ClearScript/Util/MiscHelpers.NetCore.cs delete mode 100644 ClearScript/Util/MiscHelpers.NetFramework.cs delete mode 100644 ClearScript/V8/SplitProxy/V8SplitProxyNative.NetCore.cs delete mode 100644 ClearScript/V8/SplitProxy/V8SplitProxyNative.NetFramework.cs delete mode 100644 ClearScriptBenchmarks/ClearScriptBenchmarks.csproj delete mode 100644 ClearScriptConsole/ClearScriptConsole.csproj delete mode 100644 ClearScriptTest/ClearScriptTest.csproj delete mode 100644 ClearScriptTest/packages.config create mode 100644 NetCore/ClearScript.Core/ClearScript.Core.csproj create mode 100644 NetCore/ClearScript.V8/ClearScript.V8.csproj create mode 100644 NetCore/ClearScript.Windows/ClearScript.Windows.csproj delete mode 100644 NetCore/ClearScript/ClearScript.Core.csproj delete mode 100644 NetCore/ClearScript/ClearScript.V8.csproj delete mode 100644 NetCore/ClearScript/ClearScript.Windows.csproj create mode 100644 NetFramework/ClearScript.Core/ClearScript.Core.csproj create mode 100644 NetFramework/ClearScript.V8/ClearScript.V8.csproj create mode 100644 NetFramework/ClearScript.Windows/ClearScript.Windows.csproj create mode 100644 NetFramework/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj create mode 100644 NetFramework/ClearScriptConsole/ClearScriptConsole.csproj create mode 100644 NetFramework/ClearScriptTest/ClearScriptTest.csproj diff --git a/ClearScript.NoV8.sln b/ClearScript.NoV8.sln index b522802ed..f0ab211be 100644 --- a/ClearScript.NoV8.sln +++ b/ClearScript.NoV8.sln @@ -3,8 +3,6 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.29418.71 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript", "ClearScript\ClearScript.csproj", "{D2382D2C-6576-4D96-B6CD-057C4F6BED96}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5488F9BE-286E-459B-8384-E9EDA331BD5B}" ProjectSection(SolutionItems) = preProject ClearScript\doc\FAQtorial.docx = ClearScript\doc\FAQtorial.docx @@ -17,12 +15,21 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NET Core", ".NET Core", "{41FDE4BD-8E1F-406B-A959-C3B2AF52C2E0}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript", "NetCore\ClearScript\ClearScript.csproj", "{CA91CC28-4C73-4ECD-8021-26D66DAE84C2}" +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NET Framework", ".NET Framework", "{184998F3-5DCC-4463-86CC-469C13A69BA7}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Core", "NetFramework\ClearScript.Core\ClearScript.Core.csproj", "{FFEB6BB8-A769-4676-8DEA-DB0BF8923D80}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Windows", "NetFramework\ClearScript.Windows\ClearScript.Windows.csproj", "{2179ABA8-4D87-4CC7-B056-48F770FB446E}" +EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Core", "NetCore\ClearScript.Core\ClearScript.Core.csproj", "{32DD8677-C243-48BF-8E81-01EA1C14C3E6}" ProjectSection(ProjectDependencies) = postProject - {D2382D2C-6576-4D96-B6CD-057C4F6BED96} = {D2382D2C-6576-4D96-B6CD-057C4F6BED96} + {FFEB6BB8-A769-4676-8DEA-DB0BF8923D80} = {FFEB6BB8-A769-4676-8DEA-DB0BF8923D80} EndProjectSection EndProject -Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NET Framework", ".NET Framework", "{184998F3-5DCC-4463-86CC-469C13A69BA7}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Windows", "NetCore\ClearScript.Windows\ClearScript.Windows.csproj", "{8D40DCCD-D812-4BF0-9BA2-116A3F127D2A}" + ProjectSection(ProjectDependencies) = postProject + {2179ABA8-4D87-4CC7-B056-48F770FB446E} = {2179ABA8-4D87-4CC7-B056-48F770FB446E} + EndProjectSection EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution @@ -30,21 +37,31 @@ Global Release|Any CPU = Release|Any CPU EndGlobalSection GlobalSection(ProjectConfigurationPlatforms) = postSolution - {D2382D2C-6576-4D96-B6CD-057C4F6BED96}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {D2382D2C-6576-4D96-B6CD-057C4F6BED96}.Debug|Any CPU.Build.0 = Debug|Any CPU - {D2382D2C-6576-4D96-B6CD-057C4F6BED96}.Release|Any CPU.ActiveCfg = Release|Any CPU - {D2382D2C-6576-4D96-B6CD-057C4F6BED96}.Release|Any CPU.Build.0 = Release|Any CPU - {CA91CC28-4C73-4ECD-8021-26D66DAE84C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {CA91CC28-4C73-4ECD-8021-26D66DAE84C2}.Debug|Any CPU.Build.0 = Debug|Any CPU - {CA91CC28-4C73-4ECD-8021-26D66DAE84C2}.Release|Any CPU.ActiveCfg = Release|Any CPU - {CA91CC28-4C73-4ECD-8021-26D66DAE84C2}.Release|Any CPU.Build.0 = Release|Any CPU + {FFEB6BB8-A769-4676-8DEA-DB0BF8923D80}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FFEB6BB8-A769-4676-8DEA-DB0BF8923D80}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FFEB6BB8-A769-4676-8DEA-DB0BF8923D80}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FFEB6BB8-A769-4676-8DEA-DB0BF8923D80}.Release|Any CPU.Build.0 = Release|Any CPU + {2179ABA8-4D87-4CC7-B056-48F770FB446E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {2179ABA8-4D87-4CC7-B056-48F770FB446E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {2179ABA8-4D87-4CC7-B056-48F770FB446E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {2179ABA8-4D87-4CC7-B056-48F770FB446E}.Release|Any CPU.Build.0 = Release|Any CPU + {32DD8677-C243-48BF-8E81-01EA1C14C3E6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {32DD8677-C243-48BF-8E81-01EA1C14C3E6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {32DD8677-C243-48BF-8E81-01EA1C14C3E6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {32DD8677-C243-48BF-8E81-01EA1C14C3E6}.Release|Any CPU.Build.0 = Release|Any CPU + {8D40DCCD-D812-4BF0-9BA2-116A3F127D2A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8D40DCCD-D812-4BF0-9BA2-116A3F127D2A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8D40DCCD-D812-4BF0-9BA2-116A3F127D2A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8D40DCCD-D812-4BF0-9BA2-116A3F127D2A}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE EndGlobalSection GlobalSection(NestedProjects) = preSolution - {D2382D2C-6576-4D96-B6CD-057C4F6BED96} = {184998F3-5DCC-4463-86CC-469C13A69BA7} - {CA91CC28-4C73-4ECD-8021-26D66DAE84C2} = {41FDE4BD-8E1F-406B-A959-C3B2AF52C2E0} + {FFEB6BB8-A769-4676-8DEA-DB0BF8923D80} = {184998F3-5DCC-4463-86CC-469C13A69BA7} + {2179ABA8-4D87-4CC7-B056-48F770FB446E} = {184998F3-5DCC-4463-86CC-469C13A69BA7} + {32DD8677-C243-48BF-8E81-01EA1C14C3E6} = {41FDE4BD-8E1F-406B-A959-C3B2AF52C2E0} + {8D40DCCD-D812-4BF0-9BA2-116A3F127D2A} = {41FDE4BD-8E1F-406B-A959-C3B2AF52C2E0} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {F006893F-7CAF-443A-8F72-CA3C29A1BABD} diff --git a/ClearScript.sln b/ClearScript.sln index d1e265b36..26cc15129 100644 --- a/ClearScript.sln +++ b/ClearScript.sln @@ -3,12 +3,12 @@ Microsoft Visual Studio Solution File, Format Version 12.00 # Visual Studio Version 16 VisualStudioVersion = 16.0.29418.71 MinimumVisualStudioVersion = 10.0.40219.1 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScriptTest", "ClearScriptTest\ClearScriptTest.csproj", "{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScriptTest", "NetFramework\ClearScriptTest\ClearScriptTest.csproj", "{EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D}" ProjectSection(ProjectDependencies) = postProject {28980C99-77E7-4B62-8484-AF06C5745B8C} = {28980C99-77E7-4B62-8484-AF06C5745B8C} EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScriptConsole", "ClearScriptConsole\ClearScriptConsole.csproj", "{28980C99-77E7-4B62-8484-AF06C5745B8C}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScriptConsole", "NetFramework\ClearScriptConsole\ClearScriptConsole.csproj", "{28980C99-77E7-4B62-8484-AF06C5745B8C}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{5488F9BE-286E-459B-8384-E9EDA331BD5B}" ProjectSection(SolutionItems) = preProject @@ -21,7 +21,7 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Version.tt = Version.tt EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScriptBenchmarks", "ClearScriptBenchmarks\ClearScriptBenchmarks.csproj", "{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScriptBenchmarks", "NetFramework\ClearScriptBenchmarks\ClearScriptBenchmarks.csproj", "{7922A2F5-3585-4A60-98FB-1BDB4D5ECD29}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = ".NET Core", ".NET Core", "{38987D23-2ED7-473A-9DE5-863E338EF18A}" EndProject @@ -52,27 +52,27 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClearScriptV8.win-x86", "Cl EndProject Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ClearScriptV8.win-x64", "ClearScriptV8\win-x64\ClearScriptV8.win-x64.vcxproj", "{CDCF4EEA-1CA4-412E-8C77-78893A67A577}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript.Core", "ClearScript\ClearScript.Core.csproj", "{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript.Core", "NetFramework\ClearScript.Core\ClearScript.Core.csproj", "{F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript.Windows", "ClearScript\ClearScript.Windows.csproj", "{BC560FF8-AB7A-4DA9-A1FD-99221447D370}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript.Windows", "NetFramework\ClearScript.Windows\ClearScript.Windows.csproj", "{BC560FF8-AB7A-4DA9-A1FD-99221447D370}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript.V8", "ClearScript\ClearScript.V8.csproj", "{59CC81A3-3D97-469A-9C8B-533F920085F1}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ClearScript.V8", "NetFramework\ClearScript.V8\ClearScript.V8.csproj", "{59CC81A3-3D97-469A-9C8B-533F920085F1}" ProjectSection(ProjectDependencies) = postProject {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6} = {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6} {CDCF4EEA-1CA4-412E-8C77-78893A67A577} = {CDCF4EEA-1CA4-412E-8C77-78893A67A577} EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Core", "NetCore\ClearScript\ClearScript.Core.csproj", "{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Core", "NetCore\ClearScript.Core\ClearScript.Core.csproj", "{7B3EA81F-F60B-46DB-B3F0-22F68E8A8FAD}" ProjectSection(ProjectDependencies) = postProject {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2} = {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2} EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Windows", "NetCore\ClearScript\ClearScript.Windows.csproj", "{6576FFFD-BA73-4123-8E4B-8589E5163C04}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.Windows", "NetCore\ClearScript.Windows\ClearScript.Windows.csproj", "{6576FFFD-BA73-4123-8E4B-8589E5163C04}" ProjectSection(ProjectDependencies) = postProject {BC560FF8-AB7A-4DA9-A1FD-99221447D370} = {BC560FF8-AB7A-4DA9-A1FD-99221447D370} EndProjectSection EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.V8", "NetCore\ClearScript\ClearScript.V8.csproj", "{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}" +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClearScript.V8", "NetCore\ClearScript.V8\ClearScript.V8.csproj", "{C8AE52BB-BFEE-4816-A9FE-8653CEE36C96}" ProjectSection(ProjectDependencies) = postProject {59CC81A3-3D97-469A-9C8B-533F920085F1} = {59CC81A3-3D97-469A-9C8B-533F920085F1} EndProjectSection diff --git a/ClearScript/ClearScript.Core.csproj b/ClearScript/ClearScript.Core.csproj deleted file mode 100644 index 531755061..000000000 --- a/ClearScript/ClearScript.Core.csproj +++ /dev/null @@ -1,211 +0,0 @@ - - - - - Debug - AnyCPU - {F1022C3F-AFBC-4F23-B4DE-C6C0742AEFF2} - Library - Properties - Microsoft.ClearScript - ClearScript.Core - v4.5 - 512 - true - - - true - full - false - ..\bin\Debug\ - TRACE;DEBUG;NETFRAMEWORK - prompt - 4 - true - ..\bin\Debug\ClearScript.Core.xml - true - - - pdbonly - true - ..\bin\Release\ - TRACE;NETFRAMEWORK - prompt - 4 - true - true - ..\bin\Release\ClearScript.Core.xml - - - true - $(SolutionDir)ClearScript.snk - - - true - $(SolutionDir)ClearScript.DelaySign.snk - true - - - - - - - - - - TextTemplatingFileGenerator - DelegateFactory.Generated.cs - - - True - True - VersionSymbols.tt - - - TextTemplatingFileGenerator - VersionSymbols.h - - - TextTemplatingFileGenerator - AssemblyInfo.Core.cs - - - - - - - - - - - - - - True - True - DelegateFactory.tt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - True - True - AssemblyInfo.Core.tt - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/ClearScript/ClearScript.V8.csproj b/ClearScript/ClearScript.V8.csproj deleted file mode 100644 index ee4b2458e..000000000 --- a/ClearScript/ClearScript.V8.csproj +++ /dev/null @@ -1,123 +0,0 @@ - - - - - Debug - AnyCPU - {59CC81A3-3D97-469A-9C8B-533F920085F1} - Library - Properties - Microsoft.ClearScript - ClearScript.V8 - v4.5 - 512 - true - - - true - full - false - ..\bin\Debug\ - TRACE;DEBUG;NETFRAMEWORK - prompt - 4 - true - ..\bin\Debug\ClearScript.V8.xml - true - - - pdbonly - true - ..\bin\Release\ - TRACE;NETFRAMEWORK - prompt - 4 - true - ..\bin\Release\ClearScript.V8.xml - true - - - true - $(SolutionDir)ClearScript.snk - - - true - $(SolutionDir)ClearScript.DelaySign.snk - true - - - - - - - - - - {f1022c3f-afbc-4f23-b4de-c6c0742aeff2} - ClearScript.Core - - - - - - True - True - AssemblyInfo.V8.tt - - - - - - - - - - - - - - - - True - True - V8SplitProxyNative.tt - - - - - - - - - - - - - - - - - - - - - - - - - - - - TextTemplatingFileGenerator - AssemblyInfo.V8.cs - - - TextTemplatingFileGenerator - V8SplitProxyNative.Generated.cs - - - - - - - \ No newline at end of file diff --git a/ClearScript/ClearScript.Windows.csproj b/ClearScript/ClearScript.Windows.csproj deleted file mode 100644 index 99b3df561..000000000 --- a/ClearScript/ClearScript.Windows.csproj +++ /dev/null @@ -1,91 +0,0 @@ - - - - - Debug - AnyCPU - {BC560FF8-AB7A-4DA9-A1FD-99221447D370} - Library - Properties - Microsoft.ClearScript - ClearScript.Windows - v4.5 - 512 - true - - - true - full - false - ..\bin\Debug\ - TRACE;DEBUG;NETFRAMEWORK - prompt - 4 - true - ..\bin\Debug\ClearScript.Windows.xml - true - - - pdbonly - true - ..\bin\Release\ - TRACE;NETFRAMEWORK - prompt - 4 - true - ..\bin\Release\ClearScript.Windows.xml - true - - - true - $(SolutionDir)ClearScript.snk - - - true - $(SolutionDir)ClearScript.DelaySign.snk - true - - - - - - - - - - {f1022c3f-afbc-4f23-b4de-c6c0742aeff2} - ClearScript.Core - - - - - - True - True - AssemblyInfo.Windows.tt - - - - - - - - - - - - - - - - - - TextTemplatingFileGenerator - AssemblyInfo.Windows.cs - - - - - - - \ No newline at end of file diff --git a/ClearScript/Exports/VersionSymbols.h b/ClearScript/Exports/VersionSymbols.h index a234dd9a4..3646987ec 100644 --- a/ClearScript/Exports/VersionSymbols.h +++ b/ClearScript/Exports/VersionSymbols.h @@ -7,5 +7,5 @@ #define CLEARSCRIPT_VERSION_STRING "7.0.0" #define CLEARSCRIPT_VERSION_COMMA_SEPARATED 7,0,0 -#define CLEARSCRIPT_VERSION_STRING_INFORMATIONAL "7.0.0-rc5" -#define CLEARSCRIPT_FILE_FLAGS VS_FF_PRERELEASE +#define CLEARSCRIPT_VERSION_STRING_INFORMATIONAL "7.0.0" +#define CLEARSCRIPT_FILE_FLAGS 0L diff --git a/ClearScript/Properties/AssemblyInfo.Core.cs b/ClearScript/Properties/AssemblyInfo.Core.cs index d0d8a5eaf..308e773d7 100644 --- a/ClearScript/Properties/AssemblyInfo.Core.cs +++ b/ClearScript/Properties/AssemblyInfo.Core.cs @@ -19,13 +19,13 @@ [assembly: ComVisible(false)] [assembly: AssemblyVersion("7.0.0")] [assembly: AssemblyFileVersion("7.0.0")] -[assembly: AssemblyInformationalVersion("7.0.0-rc5")] +[assembly: AssemblyInformationalVersion("7.0.0")] namespace Microsoft.ClearScript.Properties { internal static class ClearScriptVersion { public const string Triad = "7.0.0"; - public const string Informational = "7.0.0-rc5"; + public const string Informational = "7.0.0"; } } diff --git a/ClearScript/Properties/AssemblyInfo.V8.cs b/ClearScript/Properties/AssemblyInfo.V8.cs index d59476de5..d1912bf78 100644 --- a/ClearScript/Properties/AssemblyInfo.V8.cs +++ b/ClearScript/Properties/AssemblyInfo.V8.cs @@ -17,4 +17,4 @@ [assembly: ComVisible(false)] [assembly: AssemblyVersion("7.0.0")] [assembly: AssemblyFileVersion("7.0.0")] -[assembly: AssemblyInformationalVersion("7.0.0-rc5")] +[assembly: AssemblyInformationalVersion("7.0.0")] diff --git a/ClearScript/Properties/AssemblyInfo.Windows.cs b/ClearScript/Properties/AssemblyInfo.Windows.cs index 98a347e2d..930404531 100644 --- a/ClearScript/Properties/AssemblyInfo.Windows.cs +++ b/ClearScript/Properties/AssemblyInfo.Windows.cs @@ -17,4 +17,4 @@ [assembly: ComVisible(false)] [assembly: AssemblyVersion("7.0.0")] [assembly: AssemblyFileVersion("7.0.0")] -[assembly: AssemblyInformationalVersion("7.0.0-rc5")] +[assembly: AssemblyInformationalVersion("7.0.0")] diff --git a/ClearScript/Util/MiscHelpers.NetCore.cs b/ClearScript/Util/MiscHelpers.NetCore.cs deleted file mode 100644 index ac76d915a..000000000 --- a/ClearScript/Util/MiscHelpers.NetCore.cs +++ /dev/null @@ -1,45 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT license. - -using System.Runtime.InteropServices; - -namespace Microsoft.ClearScript.Util -{ - internal static partial class MiscHelpers - { - #region miscellaneous - - public static bool PlatformIsWindows() - { - return RuntimeInformation.IsOSPlatform(OSPlatform.Windows); - } - - public static bool ProcessorArchitectureIsIntel() - { - switch (RuntimeInformation.ProcessArchitecture) - { - case Architecture.X64: - case Architecture.X86: - return true; - - default: - return false; - } - } - - public static bool ProcessorArchitectureIsArm() - { - switch (RuntimeInformation.ProcessArchitecture) - { - case Architecture.Arm: - case Architecture.Arm64: - return true; - - default: - return false; - } - } - - #endregion - } -} diff --git a/ClearScript/Util/MiscHelpers.NetFramework.cs b/ClearScript/Util/MiscHelpers.NetFramework.cs deleted file mode 100644 index 50f16ce8c..000000000 --- a/ClearScript/Util/MiscHelpers.NetFramework.cs +++ /dev/null @@ -1,53 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT license. - -using System; - -namespace Microsoft.ClearScript.Util -{ - internal static partial class MiscHelpers - { - #region miscellaneous - - public static bool PlatformIsWindows() - { - return true; - } - - public static bool ProcessorArchitectureIsIntel() - { - SystemInfo info; - try - { - NativeMethods.GetNativeSystemInfo(out info); - } - catch (EntryPointNotFoundException) - { - NativeMethods.GetSystemInfo(out info); - } - - return - ((info.ProcessorArchitecture == 0 /*PROCESSOR_ARCHITECTURE_INTEL*/) || - (info.ProcessorArchitecture == 9 /*PROCESSOR_ARCHITECTURE_AMD64*/)); - } - - public static bool ProcessorArchitectureIsArm() - { - SystemInfo info; - try - { - NativeMethods.GetNativeSystemInfo(out info); - } - catch (EntryPointNotFoundException) - { - NativeMethods.GetSystemInfo(out info); - } - - return - ((info.ProcessorArchitecture == 5 /*PROCESSOR_ARCHITECTURE_ARM*/) || - (info.ProcessorArchitecture == 12 /*PROCESSOR_ARCHITECTURE_ARM64*/)); - } - - #endregion - } -} diff --git a/ClearScript/Util/MiscHelpers.cs b/ClearScript/Util/MiscHelpers.cs index 9bffe799f..c08f3fc71 100644 --- a/ClearScript/Util/MiscHelpers.cs +++ b/ClearScript/Util/MiscHelpers.cs @@ -7,6 +7,7 @@ using System.Globalization; using System.IO; using System.Linq; +using System.Runtime.InteropServices; using System.Text; using System.Text.RegularExpressions; using System.Threading; @@ -15,7 +16,7 @@ namespace Microsoft.ClearScript.Util { - internal static partial class MiscHelpers + internal static class MiscHelpers { #region COM helpers @@ -519,6 +520,37 @@ public static string GetLocalDataRootPath(string basePath) return path; } + public static bool PlatformIsWindows() + { + return RuntimeInformation.IsOSPlatform(OSPlatform.Windows); + } + + public static bool ProcessorArchitectureIsIntel() + { + switch (RuntimeInformation.ProcessArchitecture) + { + case Architecture.X64: + case Architecture.X86: + return true; + + default: + return false; + } + } + + public static bool ProcessorArchitectureIsArm() + { + switch (RuntimeInformation.ProcessArchitecture) + { + case Architecture.Arm: + case Architecture.Arm64: + return true; + + default: + return false; + } + } + #endregion } } diff --git a/ClearScript/Util/NativeMethods.cs b/ClearScript/Util/NativeMethods.cs index ab793c87f..0788dc7c4 100644 --- a/ClearScript/Util/NativeMethods.cs +++ b/ClearScript/Util/NativeMethods.cs @@ -6,22 +6,6 @@ namespace Microsoft.ClearScript.Util { - [StructLayout(LayoutKind.Sequential)] - internal struct SystemInfo - { - public ushort ProcessorArchitecture; - public ushort Reserved; - public uint PageSize; - public IntPtr MinimumApplicationAddress; - public IntPtr MaximumApplicationAddress; - public IntPtr ActiveProcessorMask; - public uint NumberOfProcessors; - public uint ProcessorType; - public uint AllocationGranularity; - public ushort ProcessorLevel; - public ushort ProcessorRevision; - } - internal static class NativeMethods { public static IntPtr LoadLibraryW(string path) @@ -146,30 +130,6 @@ public static bool VirtualProtect(IntPtr pBlock, UIntPtr size, uint newProtect, throw new PlatformNotSupportedException(); } - public static void GetSystemInfo(out SystemInfo info) - { - if (MiscHelpers.PlatformIsWindows()) - { - NativeWindowsMethods.GetSystemInfo(out info); - } - else - { - throw new PlatformNotSupportedException(); - } - } - - public static void GetNativeSystemInfo(out SystemInfo info) - { - if (MiscHelpers.PlatformIsWindows()) - { - NativeWindowsMethods.GetNativeSystemInfo(out info); - } - else - { - throw new PlatformNotSupportedException(); - } - } - #region Nested type: WindowsNativeMethods private static class NativeWindowsMethods @@ -252,16 +212,6 @@ public static extern bool VirtualProtect( [Out] out uint oldProtect ); - [DllImport("kernel32.dll", SetLastError = false)] - public static extern void GetSystemInfo( - [Out] out SystemInfo info - ); - - [DllImport("kernel32.dll")] - public static extern void GetNativeSystemInfo( - [Out] out SystemInfo info - ); - // ReSharper restore MemberHidesStaticFromOuterClass } } diff --git a/ClearScript/V8/SplitProxy/V8SplitProxyNative.Generated.cs b/ClearScript/V8/SplitProxy/V8SplitProxyNative.Generated.cs index 2fb34fa07..aa0a8c63a 100644 --- a/ClearScript/V8/SplitProxy/V8SplitProxyNative.Generated.cs +++ b/ClearScript/V8/SplitProxy/V8SplitProxyNative.Generated.cs @@ -9386,11 +9386,5636 @@ [Out] out ulong contextCount #endregion + #region Nested type: LinuxArmImpl + + private sealed class LinuxArmImpl : IV8SplitProxyNative + { + public static readonly IV8SplitProxyNative Instance = new LinuxArmImpl(); + + #region IV8SplitProxyNative implementation + + #region initialization + + IntPtr IV8SplitProxyNative.V8SplitProxyManaged_SetMethodTable(IntPtr pMethodTable) + { + return V8SplitProxyManaged_SetMethodTable(pMethodTable); + } + + #endregion + + #region StdString methods + + StdString.Ptr IV8SplitProxyNative.StdString_New(string value) + { + return StdString_New(value, value.Length); + } + + string IV8SplitProxyNative.StdString_GetValue(StdString.Ptr pString) + { + var pValue = StdString_GetValue(pString, out var length); + return Marshal.PtrToStringUni(pValue, length); + } + + void IV8SplitProxyNative.StdString_SetValue(StdString.Ptr pString, string value) + { + StdString_SetValue(pString, value, value.Length); + } + + void IV8SplitProxyNative.StdString_Delete(StdString.Ptr pString) + { + StdString_Delete(pString); + } + + #endregion + + #region StdStringArray methods + + StdStringArray.Ptr IV8SplitProxyNative.StdStringArray_New(int elementCount) + { + return StdStringArray_New(elementCount); + } + + int IV8SplitProxyNative.StdStringArray_GetElementCount(StdStringArray.Ptr pArray) + { + return StdStringArray_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdStringArray_SetElementCount(StdStringArray.Ptr pArray, int elementCount) + { + StdStringArray_SetElementCount(pArray, elementCount); + } + + string IV8SplitProxyNative.StdStringArray_GetElement(StdStringArray.Ptr pArray, int index) + { + var pValue = StdStringArray_GetElement(pArray, index, out var length); + return Marshal.PtrToStringUni(pValue, length); + } + + void IV8SplitProxyNative.StdStringArray_SetElement(StdStringArray.Ptr pArray, int index, string value) + { + StdStringArray_SetElement(pArray, index, value, value.Length); + } + + void IV8SplitProxyNative.StdStringArray_Delete(StdStringArray.Ptr pArray) + { + StdStringArray_Delete(pArray); + } + + #endregion + + #region StdByteArray methods + + StdByteArray.Ptr IV8SplitProxyNative.StdByteArray_New(int elementCount) + { + return StdByteArray_New(elementCount); + } + + int IV8SplitProxyNative.StdByteArray_GetElementCount(StdByteArray.Ptr pArray) + { + return StdByteArray_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdByteArray_SetElementCount(StdByteArray.Ptr pArray, int elementCount) + { + StdByteArray_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdByteArray_GetData(StdByteArray.Ptr pArray) + { + return StdByteArray_GetData(pArray); + } + + void IV8SplitProxyNative.StdByteArray_Delete(StdByteArray.Ptr pArray) + { + StdByteArray_Delete(pArray); + } + + #endregion + + #region StdInt32Array methods + + StdInt32Array.Ptr IV8SplitProxyNative.StdInt32Array_New(int elementCount) + { + return StdInt32Array_New(elementCount); + } + + int IV8SplitProxyNative.StdInt32Array_GetElementCount(StdInt32Array.Ptr pArray) + { + return StdInt32Array_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdInt32Array_SetElementCount(StdInt32Array.Ptr pArray, int elementCount) + { + StdInt32Array_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdInt32Array_GetData(StdInt32Array.Ptr pArray) + { + return StdInt32Array_GetData(pArray); + } + + void IV8SplitProxyNative.StdInt32Array_Delete(StdInt32Array.Ptr pArray) + { + StdInt32Array_Delete(pArray); + } + + #endregion + + #region StdUInt32Array methods + + StdUInt32Array.Ptr IV8SplitProxyNative.StdUInt32Array_New(int elementCount) + { + return StdUInt32Array_New(elementCount); + } + + int IV8SplitProxyNative.StdUInt32Array_GetElementCount(StdUInt32Array.Ptr pArray) + { + return StdUInt32Array_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdUInt32Array_SetElementCount(StdUInt32Array.Ptr pArray, int elementCount) + { + StdUInt32Array_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdUInt32Array_GetData(StdUInt32Array.Ptr pArray) + { + return StdUInt32Array_GetData(pArray); + } + + void IV8SplitProxyNative.StdUInt32Array_Delete(StdUInt32Array.Ptr pArray) + { + StdUInt32Array_Delete(pArray); + } + + #endregion + + #region StdUInt64Array methods + + StdUInt64Array.Ptr IV8SplitProxyNative.StdUInt64Array_New(int elementCount) + { + return StdUInt64Array_New(elementCount); + } + + int IV8SplitProxyNative.StdUInt64Array_GetElementCount(StdUInt64Array.Ptr pArray) + { + return StdUInt64Array_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdUInt64Array_SetElementCount(StdUInt64Array.Ptr pArray, int elementCount) + { + StdUInt64Array_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdUInt64Array_GetData(StdUInt64Array.Ptr pArray) + { + return StdUInt64Array_GetData(pArray); + } + + void IV8SplitProxyNative.StdUInt64Array_Delete(StdUInt64Array.Ptr pArray) + { + StdUInt64Array_Delete(pArray); + } + + #endregion + + #region StdPtrArray methods + + StdPtrArray.Ptr IV8SplitProxyNative.StdPtrArray_New(int elementCount) + { + return StdPtrArray_New(elementCount); + } + + int IV8SplitProxyNative.StdPtrArray_GetElementCount(StdPtrArray.Ptr pArray) + { + return StdPtrArray_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdPtrArray_SetElementCount(StdPtrArray.Ptr pArray, int elementCount) + { + StdPtrArray_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdPtrArray_GetData(StdPtrArray.Ptr pArray) + { + return StdPtrArray_GetData(pArray); + } + + void IV8SplitProxyNative.StdPtrArray_Delete(StdPtrArray.Ptr pArray) + { + StdPtrArray_Delete(pArray); + } + + #endregion + + #region StdV8ValueArray methods + + StdV8ValueArray.Ptr IV8SplitProxyNative.StdV8ValueArray_New(int elementCount) + { + return StdV8ValueArray_New(elementCount); + } + + int IV8SplitProxyNative.StdV8ValueArray_GetElementCount(StdV8ValueArray.Ptr pArray) + { + return StdV8ValueArray_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdV8ValueArray_SetElementCount(StdV8ValueArray.Ptr pArray, int elementCount) + { + StdV8ValueArray_SetElementCount(pArray, elementCount); + } + + V8Value.Ptr IV8SplitProxyNative.StdV8ValueArray_GetData(StdV8ValueArray.Ptr pArray) + { + return StdV8ValueArray_GetData(pArray); + } + + void IV8SplitProxyNative.StdV8ValueArray_Delete(StdV8ValueArray.Ptr pArray) + { + StdV8ValueArray_Delete(pArray); + } + + #endregion + + #region V8Value methods + + V8Value.Ptr IV8SplitProxyNative.V8Value_New() + { + return V8Value_New(); + } + + void IV8SplitProxyNative.V8Value_SetNonexistent(V8Value.Ptr pV8Value) + { + V8Value_SetNonexistent(pV8Value); + } + + void IV8SplitProxyNative.V8Value_SetUndefined(V8Value.Ptr pV8Value) + { + V8Value_SetUndefined(pV8Value); + } + + void IV8SplitProxyNative.V8Value_SetNull(V8Value.Ptr pV8Value) + { + V8Value_SetNull(pV8Value); + } + + void IV8SplitProxyNative.V8Value_SetBoolean(V8Value.Ptr pV8Value, bool value) + { + V8Value_SetBoolean(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetNumber(V8Value.Ptr pV8Value, double value) + { + V8Value_SetNumber(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetInt32(V8Value.Ptr pV8Value, int value) + { + V8Value_SetInt32(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetUInt32(V8Value.Ptr pV8Value, uint value) + { + V8Value_SetUInt32(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetString(V8Value.Ptr pV8Value, string value) + { + V8Value_SetString(pV8Value, value, value.Length); + } + + void IV8SplitProxyNative.V8Value_SetDateTime(V8Value.Ptr pV8Value, double value) + { + V8Value_SetDateTime(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetBigInt(V8Value.Ptr pV8Value, int signBit, byte[] bytes) + { + V8Value_SetBigInt(pV8Value, signBit, bytes, bytes.Length); + } + + void IV8SplitProxyNative.V8Value_SetV8Object(V8Value.Ptr pV8Value, V8Object.Handle hObject, V8Value.Subtype subtype) + { + V8Value_SetV8Object(pV8Value, hObject, subtype); + } + + void IV8SplitProxyNative.V8Value_SetHostObject(V8Value.Ptr pV8Value, IntPtr pObject) + { + V8Value_SetHostObject(pV8Value, pObject); + } + + V8Value.Type IV8SplitProxyNative.V8Value_Decode(V8Value.Ptr pV8Value, out int intValue, out uint uintValue, out double doubleValue, out IntPtr ptrOrHandle) + { + return V8Value_Decode(pV8Value, out intValue, out uintValue, out doubleValue, out ptrOrHandle); + } + + void IV8SplitProxyNative.V8Value_Delete(V8Value.Ptr pV8Value) + { + V8Value_Delete(pV8Value); + } + + #endregion + + #region V8CpuProfile methods + + void IV8SplitProxyNative.V8CpuProfile_GetInfo(V8CpuProfile.Ptr pProfile, V8Entity.Handle hEntity, out string name, out ulong startTimestamp, out ulong endTimestamp, out int sampleCount, out V8CpuProfile.Node.Ptr pRootNode) + { + using (var nameScope = StdString.CreateScope()) + { + V8CpuProfile_GetInfo(pProfile, hEntity, nameScope.Value, out startTimestamp, out endTimestamp, out sampleCount, out pRootNode); + name = StdString.GetValue(nameScope.Value); + } + } + + bool IV8SplitProxyNative.V8CpuProfile_GetSample(V8CpuProfile.Ptr pProfile, int index, out ulong nodeId, out ulong timestamp) + { + return V8CpuProfile_GetSample(pProfile, index, out nodeId, out timestamp); + } + + void IV8SplitProxyNative.V8CpuProfileNode_GetInfo(V8CpuProfile.Node.Ptr pNode, V8Entity.Handle hEntity, out ulong nodeId, out long scriptId, out string scriptName, out string functionName, out string bailoutReason, out long lineNumber, out long columnNumber, out ulong hitCount, out uint hitLineCount, out int childCount) + { + using (var scriptNameScope = StdString.CreateScope()) + { + using (var functionNameScope = StdString.CreateScope()) + { + using (var bailoutReasonScope = StdString.CreateScope()) + { + V8CpuProfileNode_GetInfo(pNode, hEntity, out nodeId, out scriptId, scriptNameScope.Value, functionNameScope.Value, bailoutReasonScope.Value, out lineNumber, out columnNumber, out hitCount, out hitLineCount, out childCount); + scriptName = StdString.GetValue(scriptNameScope.Value); + functionName = StdString.GetValue(functionNameScope.Value); + bailoutReason = StdString.GetValue(bailoutReasonScope.Value); + + } + } + } + } + + bool IV8SplitProxyNative.V8CpuProfileNode_GetHitLines(V8CpuProfile.Node.Ptr pNode, out int[] lineNumbers, out uint[] hitCounts) + { + using (var lineNumbersScope = StdInt32Array.CreateScope()) + { + using (var hitCountsScope = StdUInt32Array.CreateScope()) + { + var result = V8CpuProfileNode_GetHitLines(pNode, lineNumbersScope.Value, hitCountsScope.Value); + lineNumbers = StdInt32Array.ToArray(lineNumbersScope.Value); + hitCounts = StdUInt32Array.ToArray(hitCountsScope.Value); + return result; + } + } + } + + V8CpuProfile.Node.Ptr IV8SplitProxyNative.V8CpuProfileNode_GetChildNode(V8CpuProfile.Node.Ptr pNode, int index) + { + return V8CpuProfileNode_GetChildNode(pNode, index); + } + + #endregion + + #region V8 isolate methods + + V8Isolate.Handle IV8SplitProxyNative.V8Isolate_Create(string name, int maxNewSpaceSize, int maxOldSpaceSize, bool enableDebugging, bool enableRemoteDebugging, bool enableDynamicModuleImports, int debugPort) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Isolate_Create(nameScope.Value, maxNewSpaceSize, maxOldSpaceSize, enableDebugging, enableRemoteDebugging, enableDynamicModuleImports, debugPort); + } + } + + V8Context.Handle IV8SplitProxyNative.V8Isolate_CreateContext(V8Isolate.Handle hIsolate, string name, bool enableDebugging, bool enableRemoteDebugging, bool disableGlobalMembers, bool enableDateTimeConversion, bool enableDynamicModuleImports, int debugPort) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Isolate_CreateContext(hIsolate, nameScope.Value, enableDebugging, enableRemoteDebugging, disableGlobalMembers, enableDateTimeConversion, enableDynamicModuleImports, debugPort); + } + } + + UIntPtr IV8SplitProxyNative.V8Isolate_GetMaxHeapSize(V8Isolate.Handle hIsolate) + { + return V8Isolate_GetMaxHeapSize(hIsolate); + } + + void IV8SplitProxyNative.V8Isolate_SetMaxHeapSize(V8Isolate.Handle hIsolate, UIntPtr size) + { + V8Isolate_SetMaxHeapSize(hIsolate, size); + } + + double IV8SplitProxyNative.V8Isolate_GetHeapSizeSampleInterval(V8Isolate.Handle hIsolate) + { + return V8Isolate_GetHeapSizeSampleInterval(hIsolate); + } + + void IV8SplitProxyNative.V8Isolate_SetHeapSizeSampleInterval(V8Isolate.Handle hIsolate, double milliseconds) + { + V8Isolate_SetHeapSizeSampleInterval(hIsolate, milliseconds); + } + + UIntPtr IV8SplitProxyNative.V8Isolate_GetMaxStackUsage(V8Isolate.Handle hIsolate) + { + return V8Isolate_GetMaxStackUsage(hIsolate); + } + + void IV8SplitProxyNative.V8Isolate_SetMaxStackUsage(V8Isolate.Handle hIsolate, UIntPtr size) + { + V8Isolate_SetMaxStackUsage(hIsolate, size); + } + + void IV8SplitProxyNative.V8Isolate_AwaitDebuggerAndPause(V8Isolate.Handle hIsolate) + { + V8Isolate_AwaitDebuggerAndPause(hIsolate); + } + + V8Script.Handle IV8SplitProxyNative.V8Isolate_Compile(V8Isolate.Handle hIsolate, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + return V8Isolate_Compile(hIsolate, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value); + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Isolate_CompileProducingCache(V8Isolate.Handle hIsolate, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, V8CacheKind cacheKind, out byte[] cacheBytes) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var cacheBytesScope = StdByteArray.CreateScope()) + { + var hScript = V8Isolate_CompileProducingCache(hIsolate, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, cacheKind, cacheBytesScope.Value); + cacheBytes = StdByteArray.ToArray(cacheBytesScope.Value); + return hScript; + } + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Isolate_CompileConsumingCache(V8Isolate.Handle hIsolate, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, V8CacheKind cacheKind, byte[] cacheBytes, out bool cacheAccepted) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var cacheBytesScope = StdByteArray.CreateScope(cacheBytes)) + { + return V8Isolate_CompileConsumingCache(hIsolate, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, cacheKind, cacheBytesScope.Value, out cacheAccepted); + } + } + } + } + } + + void IV8SplitProxyNative.V8Isolate_GetHeapStatistics(V8Isolate.Handle hIsolate, out ulong totalHeapSize, out ulong totalHeapSizeExecutable, out ulong totalPhysicalSize, out ulong usedHeapSize, out ulong heapSizeLimit) + { + V8Isolate_GetHeapStatistics(hIsolate, out totalHeapSize, out totalHeapSizeExecutable, out totalPhysicalSize, out usedHeapSize, out heapSizeLimit); + } + + void IV8SplitProxyNative.V8Isolate_GetStatistics(V8Isolate.Handle hIsolate, out ulong scriptCount, out ulong scriptCacheSize, out ulong moduleCount, out ulong[] postedTaskCounts, out ulong[] invokedTaskCounts) + { + using (var postedTaskCountsScope = StdUInt64Array.CreateScope()) + { + using (var invokedTaskCountsScope = StdUInt64Array.CreateScope()) + { + V8Isolate_GetStatistics(hIsolate, out scriptCount, out scriptCacheSize, out moduleCount, postedTaskCountsScope.Value, invokedTaskCountsScope.Value); + postedTaskCounts = StdUInt64Array.ToArray(postedTaskCountsScope.Value); + invokedTaskCounts = StdUInt64Array.ToArray(invokedTaskCountsScope.Value); + } + } + } + + void IV8SplitProxyNative.V8Isolate_CollectGarbage(V8Isolate.Handle hIsolate, bool exhaustive) + { + V8Isolate_CollectGarbage(hIsolate, exhaustive); + } + + bool IV8SplitProxyNative.V8Isolate_BeginCpuProfile(V8Isolate.Handle hIsolate, string name, bool recordSamples) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Isolate_BeginCpuProfile(hIsolate, nameScope.Value, recordSamples); + } + } + + void IV8SplitProxyNative.V8Isolate_EndCpuProfile(V8Isolate.Handle hIsolate, string name, IntPtr pAction) + { + using (var nameScope = StdString.CreateScope(name)) + { + V8Isolate_EndCpuProfile(hIsolate, nameScope.Value, pAction); + } + } + + void IV8SplitProxyNative.V8Isolate_CollectCpuProfileSample(V8Isolate.Handle hIsolate) + { + V8Isolate_CollectCpuProfileSample(hIsolate); + } + + uint IV8SplitProxyNative.V8Isolate_GetCpuProfileSampleInterval(V8Isolate.Handle hIsolate) + { + return V8Isolate_GetCpuProfileSampleInterval(hIsolate); + } + + void IV8SplitProxyNative.V8Isolate_SetCpuProfileSampleInterval(V8Isolate.Handle hIsolate, uint value) + { + V8Isolate_SetCpuProfileSampleInterval(hIsolate, value); + } + + #endregion + + #region V8 context methods + + UIntPtr IV8SplitProxyNative.V8Context_GetMaxIsolateHeapSize(V8Context.Handle hContext) + { + return V8Context_GetMaxIsolateHeapSize(hContext); + } + + void IV8SplitProxyNative.V8Context_SetMaxIsolateHeapSize(V8Context.Handle hContext, UIntPtr size) + { + V8Context_SetMaxIsolateHeapSize(hContext, size); + } + + double IV8SplitProxyNative.V8Context_GetIsolateHeapSizeSampleInterval(V8Context.Handle hContext) + { + return V8Context_GetIsolateHeapSizeSampleInterval(hContext); + } + + void IV8SplitProxyNative.V8Context_SetIsolateHeapSizeSampleInterval(V8Context.Handle hContext, double milliseconds) + { + V8Context_SetIsolateHeapSizeSampleInterval(hContext, milliseconds); + } + + UIntPtr IV8SplitProxyNative.V8Context_GetMaxIsolateStackUsage(V8Context.Handle hContext) + { + return V8Context_GetMaxIsolateStackUsage(hContext); + } + + void IV8SplitProxyNative.V8Context_SetMaxIsolateStackUsage(V8Context.Handle hContext, UIntPtr size) + { + V8Context_SetMaxIsolateStackUsage(hContext, size); + } + + void IV8SplitProxyNative.V8Context_InvokeWithLock(V8Context.Handle hContext, IntPtr pAction) + { + V8Context_InvokeWithLock(hContext, pAction); + } + + object IV8SplitProxyNative.V8Context_GetRootItem(V8Context.Handle hContext) + { + using (var itemScope = V8Value.CreateScope()) + { + V8Context_GetRootItem(hContext, itemScope.Value); + return V8Value.Get(itemScope.Value); + } + } + + void IV8SplitProxyNative.V8Context_AddGlobalItem(V8Context.Handle hContext, string name, object value, bool globalMembers) + { + using (var nameScope = StdString.CreateScope(name)) + { + using (var valueScope = V8Value.CreateScope(value)) + { + V8Context_AddGlobalItem(hContext, nameScope.Value, valueScope.Value, globalMembers); + } + } + } + + void IV8SplitProxyNative.V8Context_AwaitDebuggerAndPause(V8Context.Handle hContext) + { + V8Context_AwaitDebuggerAndPause(hContext); + } + + object IV8SplitProxyNative.V8Context_ExecuteCode(V8Context.Handle hContext, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, bool evaluate) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var resultScope = V8Value.CreateScope()) + { + V8Context_ExecuteCode(hContext, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, evaluate, resultScope.Value); + return V8Value.Get(resultScope.Value); + } + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Context_Compile(V8Context.Handle hContext, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + return V8Context_Compile(hContext, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value); + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Context_CompileProducingCache(V8Context.Handle hContext, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, V8CacheKind cacheKind, out byte[] cacheBytes) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var cacheBytesScope = StdByteArray.CreateScope()) + { + var hScript = V8Context_CompileProducingCache(hContext, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, cacheKind, cacheBytesScope.Value); + cacheBytes = StdByteArray.ToArray(cacheBytesScope.Value); + return hScript; + } + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Context_CompileConsumingCache(V8Context.Handle hContext, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, V8CacheKind cacheKind, byte[] cacheBytes, out bool cacheAccepted) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var cacheBytesScope = StdByteArray.CreateScope(cacheBytes)) + { + return V8Context_CompileConsumingCache(hContext, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, cacheKind, cacheBytesScope.Value, out cacheAccepted); + } + } + } + } + } + + object IV8SplitProxyNative.V8Context_ExecuteScript(V8Context.Handle hContext, V8Script.Handle hScript, bool evaluate) + { + using (var resultScope = V8Value.CreateScope()) + { + V8Context_ExecuteScript(hContext, hScript, evaluate, resultScope.Value); + return V8Value.Get(resultScope.Value); + } + } + + void IV8SplitProxyNative.V8Context_Interrupt(V8Context.Handle hContext) + { + V8Context_Interrupt(hContext); + } + + void IV8SplitProxyNative.V8Context_GetIsolateHeapStatistics(V8Context.Handle hContext, out ulong totalHeapSize, out ulong totalHeapSizeExecutable, out ulong totalPhysicalSize, out ulong usedHeapSize, out ulong heapSizeLimit) + { + V8Context_GetIsolateHeapStatistics(hContext, out totalHeapSize, out totalHeapSizeExecutable, out totalPhysicalSize, out usedHeapSize, out heapSizeLimit); + } + + void IV8SplitProxyNative.V8Context_GetIsolateStatistics(V8Context.Handle hContext, out ulong scriptCount, out ulong scriptCacheSize, out ulong moduleCount, out ulong[] postedTaskCounts, out ulong[] invokedTaskCounts) + { + using (var postedTaskCountsScope = StdUInt64Array.CreateScope()) + { + using (var invokedTaskCountsScope = StdUInt64Array.CreateScope()) + { + V8Context_GetIsolateStatistics(hContext, out scriptCount, out scriptCacheSize, out moduleCount, postedTaskCountsScope.Value, invokedTaskCountsScope.Value); + postedTaskCounts = StdUInt64Array.ToArray(postedTaskCountsScope.Value); + invokedTaskCounts = StdUInt64Array.ToArray(invokedTaskCountsScope.Value); + } + } + } + + void IV8SplitProxyNative.V8Context_GetStatistics(V8Context.Handle hContext, out ulong scriptCount, out ulong moduleCount, out ulong moduleCacheSize) + { + V8Context_GetStatistics(hContext, out scriptCount, out moduleCount, out moduleCacheSize); + } + + void IV8SplitProxyNative.V8Context_CollectGarbage(V8Context.Handle hContext, bool exhaustive) + { + V8Context_CollectGarbage(hContext, exhaustive); + } + + void IV8SplitProxyNative.V8Context_OnAccessSettingsChanged(V8Context.Handle hContext) + { + V8Context_OnAccessSettingsChanged(hContext); + } + + bool IV8SplitProxyNative.V8Context_BeginCpuProfile(V8Context.Handle hContext, string name, bool recordSamples) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Context_BeginCpuProfile(hContext, nameScope.Value, recordSamples); + } + } + + void IV8SplitProxyNative.V8Context_EndCpuProfile(V8Context.Handle hContext, string name, IntPtr pAction) + { + using (var nameScope = StdString.CreateScope(name)) + { + V8Context_EndCpuProfile(hContext, nameScope.Value, pAction); + } + } + + void IV8SplitProxyNative.V8Context_CollectCpuProfileSample(V8Context.Handle hContext) + { + V8Context_CollectCpuProfileSample(hContext); + } + + uint IV8SplitProxyNative.V8Context_GetCpuProfileSampleInterval(V8Context.Handle hContext) + { + return V8Context_GetCpuProfileSampleInterval(hContext); + } + + void IV8SplitProxyNative.V8Context_SetCpuProfileSampleInterval(V8Context.Handle hContext, uint value) + { + V8Context_SetCpuProfileSampleInterval(hContext, value); + } + + #endregion + + #region V8 object methods + + object IV8SplitProxyNative.V8Object_GetNamedProperty(V8Object.Handle hObject, string name) + { + using (var nameScope = StdString.CreateScope(name)) + { + using (var valueScope = V8Value.CreateScope()) + { + V8Object_GetNamedProperty(hObject, nameScope.Value, valueScope.Value); + return V8Value.Get(valueScope.Value); + } + } + } + + void IV8SplitProxyNative.V8Object_SetNamedProperty(V8Object.Handle hObject, string name, object value) + { + using (var nameScope = StdString.CreateScope(name)) + { + using (var valueScope = V8Value.CreateScope(value)) + { + V8Object_SetNamedProperty(hObject, nameScope.Value, valueScope.Value); + } + } + } + + bool IV8SplitProxyNative.V8Object_DeleteNamedProperty(V8Object.Handle hObject, string name) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Object_DeleteNamedProperty(hObject, nameScope.Value); + } + } + + string[] IV8SplitProxyNative.V8Object_GetPropertyNames(V8Object.Handle hObject) + { + using (var namesScope = StdStringArray.CreateScope()) + { + V8Object_GetPropertyNames(hObject, namesScope.Value); + return StdStringArray.ToArray(namesScope.Value); + } + } + + object IV8SplitProxyNative.V8Object_GetIndexedProperty(V8Object.Handle hObject, int index) + { + using (var valueScope = V8Value.CreateScope()) + { + V8Object_GetIndexedProperty(hObject, index, valueScope.Value); + return V8Value.Get(valueScope.Value); + } + } + + void IV8SplitProxyNative.V8Object_SetIndexedProperty(V8Object.Handle hObject, int index, object value) + { + using (var valueScope = V8Value.CreateScope(value)) + { + V8Object_SetIndexedProperty(hObject, index, valueScope.Value); + } + } + + bool IV8SplitProxyNative.V8Object_DeleteIndexedProperty(V8Object.Handle hObject, int index) + { + return V8Object_DeleteIndexedProperty(hObject, index); + } + + int[] IV8SplitProxyNative.V8Object_GetPropertyIndices(V8Object.Handle hObject) + { + using (var indicesScope = StdInt32Array.CreateScope()) + { + V8Object_GetPropertyIndices(hObject, indicesScope.Value); + return StdInt32Array.ToArray(indicesScope.Value); + } + } + + object IV8SplitProxyNative.V8Object_Invoke(V8Object.Handle hObject, bool asConstructor, object[] args) + { + using (var argsScope = StdV8ValueArray.CreateScope(args)) + { + using (var resultScope = V8Value.CreateScope()) + { + V8Object_Invoke(hObject, asConstructor, argsScope.Value, resultScope.Value); + return V8Value.Get(resultScope.Value); + } + } + } + + object IV8SplitProxyNative.V8Object_InvokeMethod(V8Object.Handle hObject, string name, object[] args) + { + using (var nameScope = StdString.CreateScope(name)) + { + using (var argsScope = StdV8ValueArray.CreateScope(args)) + { + using (var resultScope = V8Value.CreateScope()) + { + V8Object_InvokeMethod(hObject, nameScope.Value, argsScope.Value, resultScope.Value); + return V8Value.Get(resultScope.Value); + } + } + } + } + + void IV8SplitProxyNative.V8Object_GetArrayBufferOrViewInfo(V8Object.Handle hObject, out IV8Object arrayBuffer, out ulong offset, out ulong size, out ulong length) + { + using (var arrayBufferScope = V8Value.CreateScope()) + { + V8Object_GetArrayBufferOrViewInfo(hObject, arrayBufferScope.Value, out offset, out size, out length); + arrayBuffer = (IV8Object)V8Value.Get(arrayBufferScope.Value); + } + } + + void IV8SplitProxyNative.V8Object_InvokeWithArrayBufferOrViewData(V8Object.Handle hObject, IntPtr pAction) + { + V8Object_InvokeWithArrayBufferOrViewData(hObject, pAction); + } + + #endregion + + #region V8 debug callback methods + + void IV8SplitProxyNative.V8DebugCallback_ConnectClient(V8DebugCallback.Handle hCallback) + { + V8DebugCallback_ConnectClient(hCallback); + } + + void IV8SplitProxyNative.V8DebugCallback_SendCommand(V8DebugCallback.Handle hCallback, string command) + { + using (var commandScope = StdString.CreateScope(command)) + { + V8DebugCallback_SendCommand(hCallback, commandScope.Value); + } + } + + void IV8SplitProxyNative.V8DebugCallback_DisconnectClient(V8DebugCallback.Handle hCallback) + { + V8DebugCallback_DisconnectClient(hCallback); + } + + #endregion + + #region native callback methods + + void IV8SplitProxyNative.NativeCallback_Invoke(NativeCallback.Handle hCallback) + { + NativeCallback_Invoke(hCallback); + } + + #endregion + + #region V8 entity cleanup + + void IV8SplitProxyNative.V8Entity_Release(V8Entity.Handle hEntity) + { + V8Entity_Release(hEntity); + } + + void IV8SplitProxyNative.V8Entity_DestroyHandle(V8Entity.Handle hEntity) + { + V8Entity_DestroyHandle(hEntity); + } + + #endregion + + #region error handling + + void IV8SplitProxyNative.HostException_Schedule(string message, object exception) + { + using (var messageScope = StdString.CreateScope(message)) + { + using (var exceptionScope = V8Value.CreateScope(exception)) + { + HostException_Schedule(messageScope.Value, exceptionScope.Value); + } + } + } + + #endregion + + #region unit test support + + UIntPtr IV8SplitProxyNative.V8UnitTestSupport_GetTextDigest(string value) + { + using (var valueScope = StdString.CreateScope(value)) + { + return V8UnitTestSupport_GetTextDigest(valueScope.Value); + } + } + + void IV8SplitProxyNative.V8UnitTestSupport_GetStatistics(out ulong isolateCount, out ulong contextCount) + { + V8UnitTestSupport_GetStatistics(out isolateCount, out contextCount); + } + + #endregion + + #endregion + + #region native methods + + #region initialization + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr V8SplitProxyManaged_SetMethodTable( + [In] IntPtr pMethodTable + ); + + #endregion + + #region StdString methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdString.Ptr StdString_New( + [In] [MarshalAs(UnmanagedType.LPWStr)] string value, + [In] int length + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdString_GetValue( + [In] StdString.Ptr pString, + [Out] out int length + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdString_SetValue( + [In] StdString.Ptr pString, + [In] [MarshalAs(UnmanagedType.LPWStr)] string value, + [In] int length + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdString_Delete( + [In] StdString.Ptr pString + ); + + #endregion + + #region StdStringArray methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdStringArray.Ptr StdStringArray_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdStringArray_GetElementCount( + [In] StdStringArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdStringArray_SetElementCount( + [In] StdStringArray.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdStringArray_GetElement( + [In] StdStringArray.Ptr pArray, + [In] int index, + [Out] out int length + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdStringArray_SetElement( + [In] StdStringArray.Ptr pArray, + [In] int index, + [In] [MarshalAs(UnmanagedType.LPWStr)] string value, + [In] int length + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdStringArray_Delete( + [In] StdStringArray.Ptr pArray + ); + + #endregion + + #region StdByteArray methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdByteArray.Ptr StdByteArray_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdByteArray_GetElementCount( + [In] StdByteArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdByteArray_SetElementCount( + [In] StdByteArray.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdByteArray_GetData( + [In] StdByteArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdByteArray_Delete( + [In] StdByteArray.Ptr pArray + ); + + #endregion + + #region StdInt32Array methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdInt32Array.Ptr StdInt32Array_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdInt32Array_GetElementCount( + [In] StdInt32Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdInt32Array_SetElementCount( + [In] StdInt32Array.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdInt32Array_GetData( + [In] StdInt32Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdInt32Array_Delete( + [In] StdInt32Array.Ptr pArray + ); + + #endregion + + #region StdUInt32Array methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdUInt32Array.Ptr StdUInt32Array_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdUInt32Array_GetElementCount( + [In] StdUInt32Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdUInt32Array_SetElementCount( + [In] StdUInt32Array.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdUInt32Array_GetData( + [In] StdUInt32Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdUInt32Array_Delete( + [In] StdUInt32Array.Ptr pArray + ); + + #endregion + + #region StdUInt64Array methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdUInt64Array.Ptr StdUInt64Array_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdUInt64Array_GetElementCount( + [In] StdUInt64Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdUInt64Array_SetElementCount( + [In] StdUInt64Array.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdUInt64Array_GetData( + [In] StdUInt64Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdUInt64Array_Delete( + [In] StdUInt64Array.Ptr pArray + ); + + #endregion + + #region StdPtrArray methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdPtrArray.Ptr StdPtrArray_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdPtrArray_GetElementCount( + [In] StdPtrArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdPtrArray_SetElementCount( + [In] StdPtrArray.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdPtrArray_GetData( + [In] StdPtrArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdPtrArray_Delete( + [In] StdPtrArray.Ptr pArray + ); + + #endregion + + #region StdV8ValueArray methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdV8ValueArray.Ptr StdV8ValueArray_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdV8ValueArray_GetElementCount( + [In] StdV8ValueArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdV8ValueArray_SetElementCount( + [In] StdV8ValueArray.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Value.Ptr StdV8ValueArray_GetData( + [In] StdV8ValueArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdV8ValueArray_Delete( + [In] StdV8ValueArray.Ptr pArray + ); + + #endregion + + #region V8Value methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Value.Ptr V8Value_New(); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetNonexistent( + [In] V8Value.Ptr pV8Value + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetUndefined( + [In] V8Value.Ptr pV8Value + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetNull( + [In] V8Value.Ptr pV8Value + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetBoolean( + [In] V8Value.Ptr pV8Value, + [In] [MarshalAs(UnmanagedType.I1)] bool value + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetNumber( + [In] V8Value.Ptr pV8Value, + [In] double value + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetInt32( + [In] V8Value.Ptr pV8Value, + [In] int value + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetUInt32( + [In] V8Value.Ptr pV8Value, + [In] uint value + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetString( + [In] V8Value.Ptr pV8Value, + [In] [MarshalAs(UnmanagedType.LPWStr)] string value, + [In] int length + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetDateTime( + [In] V8Value.Ptr pV8Value, + [In] double value + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetBigInt( + [In] V8Value.Ptr pV8Value, + [In] int signBit, + [In] [MarshalAs(UnmanagedType.LPArray)] byte[] bytes, + [In] int length + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetV8Object( + [In] V8Value.Ptr pV8Value, + [In] V8Object.Handle hObject, + [In] V8Value.Subtype subtype + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetHostObject( + [In] V8Value.Ptr pV8Value, + [In] IntPtr pObject + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Value.Type V8Value_Decode( + [In] V8Value.Ptr pV8Value, + [Out] out int intValue, + [Out] out uint uintValue, + [Out] out double doubleValue, + [Out] out IntPtr ptrOrHandle + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_Delete( + [In] V8Value.Ptr pV8Value + ); + + #endregion + + #region V8CpuProfile methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8CpuProfile_GetInfo( + [In] V8CpuProfile.Ptr pProfile, + [In] V8Entity.Handle hEntity, + [In] StdString.Ptr pName, + [Out] out ulong startTimestamp, + [Out] out ulong endTimestamp, + [Out] out int sampleCount, + [Out] out V8CpuProfile.Node.Ptr pRootNode + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8CpuProfile_GetSample( + [In] V8CpuProfile.Ptr pProfile, + [In] int index, + [Out] out ulong nodeId, + [Out] out ulong timestamp + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8CpuProfileNode_GetInfo( + [In] V8CpuProfile.Node.Ptr pNode, + [In] V8Entity.Handle hEntity, + [Out] out ulong nodeId, + [Out] out long scriptId, + [In] StdString.Ptr pScriptName, + [In] StdString.Ptr pFunctionName, + [In] StdString.Ptr pBailoutReason, + [Out] out long lineNumber, + [Out] out long columnNumber, + [Out] out ulong hitCount, + [Out] out uint hitLineCount, + [Out] out int childCount + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8CpuProfileNode_GetHitLines( + [In] V8CpuProfile.Node.Ptr pNode, + [In] StdInt32Array.Ptr pLineNumbers, + [In] StdUInt32Array.Ptr pHitCounts + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8CpuProfile.Node.Ptr V8CpuProfileNode_GetChildNode( + [In] V8CpuProfile.Node.Ptr pNode, + [In] int index + ); + + #endregion + + #region V8 isolate methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Isolate.Handle V8Isolate_Create( + [In] StdString.Ptr pName, + [In] int maxNewSpaceSize, + [In] int maxOldSpaceSize, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDebugging, + [In] [MarshalAs(UnmanagedType.I1)] bool enableRemoteDebugging, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDynamicModuleImports, + [In] int debugPort + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Context.Handle V8Isolate_CreateContext( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pName, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDebugging, + [In] [MarshalAs(UnmanagedType.I1)] bool enableRemoteDebugging, + [In] [MarshalAs(UnmanagedType.I1)] bool disableGlobalMembers, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDateTimeConversion, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDynamicModuleImports, + [In] int debugPort + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8Isolate_GetMaxHeapSize( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_SetMaxHeapSize( + [In] V8Isolate.Handle hIsolate, + [In] UIntPtr size + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern double V8Isolate_GetHeapSizeSampleInterval( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_SetHeapSizeSampleInterval( + [In] V8Isolate.Handle hIsolate, + [In] double milliseconds + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8Isolate_GetMaxStackUsage( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_SetMaxStackUsage( + [In] V8Isolate.Handle hIsolate, + [In] UIntPtr size + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_AwaitDebuggerAndPause( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Isolate_Compile( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Isolate_CompileProducingCache( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] V8CacheKind cacheKind, + [In] StdByteArray.Ptr pCacheBytes + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Isolate_CompileConsumingCache( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] V8CacheKind cacheKind, + [In] StdByteArray.Ptr pCacheBytes, + [Out] [MarshalAs(UnmanagedType.I1)] out bool cacheAccepted + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_GetHeapStatistics( + [In] V8Isolate.Handle hIsolate, + [Out] out ulong totalHeapSize, + [Out] out ulong totalHeapSizeExecutable, + [Out] out ulong totalPhysicalSize, + [Out] out ulong usedHeapSize, + [Out] out ulong heapSizeLimit + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_GetStatistics( + [In] V8Isolate.Handle hIsolate, + [Out] out ulong scriptCount, + [Out] out ulong scriptCacheSize, + [Out] out ulong moduleCount, + [In] StdUInt64Array.Ptr pPostedTaskCounts, + [In] StdUInt64Array.Ptr pInvokedTaskCounts + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_CollectGarbage( + [In] V8Isolate.Handle hIsolate, + [In] [MarshalAs(UnmanagedType.I1)] bool exhaustive + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8Isolate_BeginCpuProfile( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pName, + [In] [MarshalAs(UnmanagedType.I1)] bool recordSamples + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_EndCpuProfile( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pName, + [In] IntPtr pAction + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_CollectCpuProfileSample( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern uint V8Isolate_GetCpuProfileSampleInterval( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_SetCpuProfileSampleInterval( + [In] V8Isolate.Handle hIsolate, + [In] uint value + ); + + #endregion + + #region V8 context methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8Context_GetMaxIsolateHeapSize( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_SetMaxIsolateHeapSize( + [In] V8Context.Handle hContext, + [In] UIntPtr size + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern double V8Context_GetIsolateHeapSizeSampleInterval( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_SetIsolateHeapSizeSampleInterval( + [In] V8Context.Handle hContext, + [In] double milliseconds + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8Context_GetMaxIsolateStackUsage( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_SetMaxIsolateStackUsage( + [In] V8Context.Handle hContext, + [In] UIntPtr size + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_InvokeWithLock( + [In] V8Context.Handle hContext, + [In] IntPtr pAction + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_GetRootItem( + [In] V8Context.Handle hContext, + [In] V8Value.Ptr pItem + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_AddGlobalItem( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pName, + [In] V8Value.Ptr pValue, + [In] [MarshalAs(UnmanagedType.I1)] bool globalMembers + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_AwaitDebuggerAndPause( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_ExecuteCode( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] [MarshalAs(UnmanagedType.I1)] bool evaluate, + [In] V8Value.Ptr pResult + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Context_Compile( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Context_CompileProducingCache( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] V8CacheKind cacheKind, + [In] StdByteArray.Ptr pCacheBytes + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Context_CompileConsumingCache( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] V8CacheKind cacheKind, + [In] StdByteArray.Ptr pCacheBytes, + [Out] [MarshalAs(UnmanagedType.I1)] out bool cacheAccepted + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_ExecuteScript( + [In] V8Context.Handle hContext, + [In] V8Script.Handle hScript, + [In] [MarshalAs(UnmanagedType.I1)] bool evaluate, + [In] V8Value.Ptr pResult + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_Interrupt( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_GetIsolateHeapStatistics( + [In] V8Context.Handle hContext, + [Out] out ulong totalHeapSize, + [Out] out ulong totalHeapSizeExecutable, + [Out] out ulong totalPhysicalSize, + [Out] out ulong usedHeapSize, + [Out] out ulong heapSizeLimit + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_GetIsolateStatistics( + [In] V8Context.Handle hContext, + [Out] out ulong scriptCount, + [Out] out ulong scriptCacheSize, + [Out] out ulong moduleCount, + [In] StdUInt64Array.Ptr pPostedTaskCounts, + [In] StdUInt64Array.Ptr pInvokedTaskCounts + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_GetStatistics( + [In] V8Context.Handle hContext, + [Out] out ulong scriptCount, + [Out] out ulong moduleCount, + [Out] out ulong moduleCacheSize + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_CollectGarbage( + [In] V8Context.Handle hContext, + [In] [MarshalAs(UnmanagedType.I1)] bool exhaustive + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_OnAccessSettingsChanged( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8Context_BeginCpuProfile( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pName, + [In] [MarshalAs(UnmanagedType.I1)] bool recordSamples + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_EndCpuProfile( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pName, + [In] IntPtr pAction + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_CollectCpuProfileSample( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern uint V8Context_GetCpuProfileSampleInterval( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_SetCpuProfileSampleInterval( + [In] V8Context.Handle hContext, + [In] uint value + ); + + #endregion + + #region V8 object methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetNamedProperty( + [In] V8Object.Handle hObject, + [In] StdString.Ptr pName, + [In] V8Value.Ptr pValue + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_SetNamedProperty( + [In] V8Object.Handle hObject, + [In] StdString.Ptr pName, + [In] V8Value.Ptr pValue + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8Object_DeleteNamedProperty( + [In] V8Object.Handle hObject, + [In] StdString.Ptr pName + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetPropertyNames( + [In] V8Object.Handle hObject, + [In] StdStringArray.Ptr pNames + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetIndexedProperty( + [In] V8Object.Handle hObject, + [In] int index, + [In] V8Value.Ptr pValue + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_SetIndexedProperty( + [In] V8Object.Handle hObject, + [In] int index, + [In] V8Value.Ptr pValue + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8Object_DeleteIndexedProperty( + [In] V8Object.Handle hObject, + [In] int index + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetPropertyIndices( + [In] V8Object.Handle hObject, + [In] StdInt32Array.Ptr pIndices + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_Invoke( + [In] V8Object.Handle hObject, + [In] [MarshalAs(UnmanagedType.I1)] bool asConstructor, + [In] StdV8ValueArray.Ptr pArgs, + [In] V8Value.Ptr pResult + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_InvokeMethod( + [In] V8Object.Handle hObject, + [In] StdString.Ptr pName, + [In] StdV8ValueArray.Ptr pArgs, + [In] V8Value.Ptr pResult + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetArrayBufferOrViewInfo( + [In] V8Object.Handle hObject, + [In] V8Value.Ptr pArrayBuffer, + [Out] out ulong offset, + [Out] out ulong size, + [Out] out ulong length + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_InvokeWithArrayBufferOrViewData( + [In] V8Object.Handle hObject, + [In] IntPtr pAction + ); + + #endregion + + #region V8 debug callback methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8DebugCallback_ConnectClient( + [In] V8DebugCallback.Handle hCallback + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8DebugCallback_SendCommand( + [In] V8DebugCallback.Handle hCallback, + [In] StdString.Ptr pCommand + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8DebugCallback_DisconnectClient( + [In] V8DebugCallback.Handle hCallback + ); + + #endregion + + #region native callback methods + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void NativeCallback_Invoke( + [In] NativeCallback.Handle hCallback + ); + + #endregion + + #region V8 entity cleanup + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Entity_Release( + [In] V8Entity.Handle hEntity + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Entity_DestroyHandle( + [In] V8Entity.Handle hEntity + ); + + #endregion + + #region error handling + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void HostException_Schedule( + [In] StdString.Ptr pMessage, + [In] V8Value.Ptr pException + ); + + #endregion + + #region unit test support + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8UnitTestSupport_GetTextDigest( + [In] StdString.Ptr pString + ); + + [DllImport("ClearScriptV8.linux-arm.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8UnitTestSupport_GetStatistics( + [Out] out ulong isolateCount, + [Out] out ulong contextCount + ); + + #endregion + + #endregion + } + + #endregion + + + #region Nested type: LinuxArm64Impl + + private sealed class LinuxArm64Impl : IV8SplitProxyNative + { + public static readonly IV8SplitProxyNative Instance = new LinuxArm64Impl(); + + #region IV8SplitProxyNative implementation + + #region initialization + + IntPtr IV8SplitProxyNative.V8SplitProxyManaged_SetMethodTable(IntPtr pMethodTable) + { + return V8SplitProxyManaged_SetMethodTable(pMethodTable); + } + + #endregion + + #region StdString methods + + StdString.Ptr IV8SplitProxyNative.StdString_New(string value) + { + return StdString_New(value, value.Length); + } + + string IV8SplitProxyNative.StdString_GetValue(StdString.Ptr pString) + { + var pValue = StdString_GetValue(pString, out var length); + return Marshal.PtrToStringUni(pValue, length); + } + + void IV8SplitProxyNative.StdString_SetValue(StdString.Ptr pString, string value) + { + StdString_SetValue(pString, value, value.Length); + } + + void IV8SplitProxyNative.StdString_Delete(StdString.Ptr pString) + { + StdString_Delete(pString); + } + + #endregion + + #region StdStringArray methods + + StdStringArray.Ptr IV8SplitProxyNative.StdStringArray_New(int elementCount) + { + return StdStringArray_New(elementCount); + } + + int IV8SplitProxyNative.StdStringArray_GetElementCount(StdStringArray.Ptr pArray) + { + return StdStringArray_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdStringArray_SetElementCount(StdStringArray.Ptr pArray, int elementCount) + { + StdStringArray_SetElementCount(pArray, elementCount); + } + + string IV8SplitProxyNative.StdStringArray_GetElement(StdStringArray.Ptr pArray, int index) + { + var pValue = StdStringArray_GetElement(pArray, index, out var length); + return Marshal.PtrToStringUni(pValue, length); + } + + void IV8SplitProxyNative.StdStringArray_SetElement(StdStringArray.Ptr pArray, int index, string value) + { + StdStringArray_SetElement(pArray, index, value, value.Length); + } + + void IV8SplitProxyNative.StdStringArray_Delete(StdStringArray.Ptr pArray) + { + StdStringArray_Delete(pArray); + } + + #endregion + + #region StdByteArray methods + + StdByteArray.Ptr IV8SplitProxyNative.StdByteArray_New(int elementCount) + { + return StdByteArray_New(elementCount); + } + + int IV8SplitProxyNative.StdByteArray_GetElementCount(StdByteArray.Ptr pArray) + { + return StdByteArray_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdByteArray_SetElementCount(StdByteArray.Ptr pArray, int elementCount) + { + StdByteArray_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdByteArray_GetData(StdByteArray.Ptr pArray) + { + return StdByteArray_GetData(pArray); + } + + void IV8SplitProxyNative.StdByteArray_Delete(StdByteArray.Ptr pArray) + { + StdByteArray_Delete(pArray); + } + + #endregion + + #region StdInt32Array methods + + StdInt32Array.Ptr IV8SplitProxyNative.StdInt32Array_New(int elementCount) + { + return StdInt32Array_New(elementCount); + } + + int IV8SplitProxyNative.StdInt32Array_GetElementCount(StdInt32Array.Ptr pArray) + { + return StdInt32Array_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdInt32Array_SetElementCount(StdInt32Array.Ptr pArray, int elementCount) + { + StdInt32Array_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdInt32Array_GetData(StdInt32Array.Ptr pArray) + { + return StdInt32Array_GetData(pArray); + } + + void IV8SplitProxyNative.StdInt32Array_Delete(StdInt32Array.Ptr pArray) + { + StdInt32Array_Delete(pArray); + } + + #endregion + + #region StdUInt32Array methods + + StdUInt32Array.Ptr IV8SplitProxyNative.StdUInt32Array_New(int elementCount) + { + return StdUInt32Array_New(elementCount); + } + + int IV8SplitProxyNative.StdUInt32Array_GetElementCount(StdUInt32Array.Ptr pArray) + { + return StdUInt32Array_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdUInt32Array_SetElementCount(StdUInt32Array.Ptr pArray, int elementCount) + { + StdUInt32Array_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdUInt32Array_GetData(StdUInt32Array.Ptr pArray) + { + return StdUInt32Array_GetData(pArray); + } + + void IV8SplitProxyNative.StdUInt32Array_Delete(StdUInt32Array.Ptr pArray) + { + StdUInt32Array_Delete(pArray); + } + + #endregion + + #region StdUInt64Array methods + + StdUInt64Array.Ptr IV8SplitProxyNative.StdUInt64Array_New(int elementCount) + { + return StdUInt64Array_New(elementCount); + } + + int IV8SplitProxyNative.StdUInt64Array_GetElementCount(StdUInt64Array.Ptr pArray) + { + return StdUInt64Array_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdUInt64Array_SetElementCount(StdUInt64Array.Ptr pArray, int elementCount) + { + StdUInt64Array_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdUInt64Array_GetData(StdUInt64Array.Ptr pArray) + { + return StdUInt64Array_GetData(pArray); + } + + void IV8SplitProxyNative.StdUInt64Array_Delete(StdUInt64Array.Ptr pArray) + { + StdUInt64Array_Delete(pArray); + } + + #endregion + + #region StdPtrArray methods + + StdPtrArray.Ptr IV8SplitProxyNative.StdPtrArray_New(int elementCount) + { + return StdPtrArray_New(elementCount); + } + + int IV8SplitProxyNative.StdPtrArray_GetElementCount(StdPtrArray.Ptr pArray) + { + return StdPtrArray_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdPtrArray_SetElementCount(StdPtrArray.Ptr pArray, int elementCount) + { + StdPtrArray_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdPtrArray_GetData(StdPtrArray.Ptr pArray) + { + return StdPtrArray_GetData(pArray); + } + + void IV8SplitProxyNative.StdPtrArray_Delete(StdPtrArray.Ptr pArray) + { + StdPtrArray_Delete(pArray); + } + + #endregion + + #region StdV8ValueArray methods + + StdV8ValueArray.Ptr IV8SplitProxyNative.StdV8ValueArray_New(int elementCount) + { + return StdV8ValueArray_New(elementCount); + } + + int IV8SplitProxyNative.StdV8ValueArray_GetElementCount(StdV8ValueArray.Ptr pArray) + { + return StdV8ValueArray_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdV8ValueArray_SetElementCount(StdV8ValueArray.Ptr pArray, int elementCount) + { + StdV8ValueArray_SetElementCount(pArray, elementCount); + } + + V8Value.Ptr IV8SplitProxyNative.StdV8ValueArray_GetData(StdV8ValueArray.Ptr pArray) + { + return StdV8ValueArray_GetData(pArray); + } + + void IV8SplitProxyNative.StdV8ValueArray_Delete(StdV8ValueArray.Ptr pArray) + { + StdV8ValueArray_Delete(pArray); + } + + #endregion + + #region V8Value methods + + V8Value.Ptr IV8SplitProxyNative.V8Value_New() + { + return V8Value_New(); + } + + void IV8SplitProxyNative.V8Value_SetNonexistent(V8Value.Ptr pV8Value) + { + V8Value_SetNonexistent(pV8Value); + } + + void IV8SplitProxyNative.V8Value_SetUndefined(V8Value.Ptr pV8Value) + { + V8Value_SetUndefined(pV8Value); + } + + void IV8SplitProxyNative.V8Value_SetNull(V8Value.Ptr pV8Value) + { + V8Value_SetNull(pV8Value); + } + + void IV8SplitProxyNative.V8Value_SetBoolean(V8Value.Ptr pV8Value, bool value) + { + V8Value_SetBoolean(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetNumber(V8Value.Ptr pV8Value, double value) + { + V8Value_SetNumber(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetInt32(V8Value.Ptr pV8Value, int value) + { + V8Value_SetInt32(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetUInt32(V8Value.Ptr pV8Value, uint value) + { + V8Value_SetUInt32(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetString(V8Value.Ptr pV8Value, string value) + { + V8Value_SetString(pV8Value, value, value.Length); + } + + void IV8SplitProxyNative.V8Value_SetDateTime(V8Value.Ptr pV8Value, double value) + { + V8Value_SetDateTime(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetBigInt(V8Value.Ptr pV8Value, int signBit, byte[] bytes) + { + V8Value_SetBigInt(pV8Value, signBit, bytes, bytes.Length); + } + + void IV8SplitProxyNative.V8Value_SetV8Object(V8Value.Ptr pV8Value, V8Object.Handle hObject, V8Value.Subtype subtype) + { + V8Value_SetV8Object(pV8Value, hObject, subtype); + } + + void IV8SplitProxyNative.V8Value_SetHostObject(V8Value.Ptr pV8Value, IntPtr pObject) + { + V8Value_SetHostObject(pV8Value, pObject); + } + + V8Value.Type IV8SplitProxyNative.V8Value_Decode(V8Value.Ptr pV8Value, out int intValue, out uint uintValue, out double doubleValue, out IntPtr ptrOrHandle) + { + return V8Value_Decode(pV8Value, out intValue, out uintValue, out doubleValue, out ptrOrHandle); + } + + void IV8SplitProxyNative.V8Value_Delete(V8Value.Ptr pV8Value) + { + V8Value_Delete(pV8Value); + } + + #endregion + + #region V8CpuProfile methods + + void IV8SplitProxyNative.V8CpuProfile_GetInfo(V8CpuProfile.Ptr pProfile, V8Entity.Handle hEntity, out string name, out ulong startTimestamp, out ulong endTimestamp, out int sampleCount, out V8CpuProfile.Node.Ptr pRootNode) + { + using (var nameScope = StdString.CreateScope()) + { + V8CpuProfile_GetInfo(pProfile, hEntity, nameScope.Value, out startTimestamp, out endTimestamp, out sampleCount, out pRootNode); + name = StdString.GetValue(nameScope.Value); + } + } + + bool IV8SplitProxyNative.V8CpuProfile_GetSample(V8CpuProfile.Ptr pProfile, int index, out ulong nodeId, out ulong timestamp) + { + return V8CpuProfile_GetSample(pProfile, index, out nodeId, out timestamp); + } + + void IV8SplitProxyNative.V8CpuProfileNode_GetInfo(V8CpuProfile.Node.Ptr pNode, V8Entity.Handle hEntity, out ulong nodeId, out long scriptId, out string scriptName, out string functionName, out string bailoutReason, out long lineNumber, out long columnNumber, out ulong hitCount, out uint hitLineCount, out int childCount) + { + using (var scriptNameScope = StdString.CreateScope()) + { + using (var functionNameScope = StdString.CreateScope()) + { + using (var bailoutReasonScope = StdString.CreateScope()) + { + V8CpuProfileNode_GetInfo(pNode, hEntity, out nodeId, out scriptId, scriptNameScope.Value, functionNameScope.Value, bailoutReasonScope.Value, out lineNumber, out columnNumber, out hitCount, out hitLineCount, out childCount); + scriptName = StdString.GetValue(scriptNameScope.Value); + functionName = StdString.GetValue(functionNameScope.Value); + bailoutReason = StdString.GetValue(bailoutReasonScope.Value); + + } + } + } + } + + bool IV8SplitProxyNative.V8CpuProfileNode_GetHitLines(V8CpuProfile.Node.Ptr pNode, out int[] lineNumbers, out uint[] hitCounts) + { + using (var lineNumbersScope = StdInt32Array.CreateScope()) + { + using (var hitCountsScope = StdUInt32Array.CreateScope()) + { + var result = V8CpuProfileNode_GetHitLines(pNode, lineNumbersScope.Value, hitCountsScope.Value); + lineNumbers = StdInt32Array.ToArray(lineNumbersScope.Value); + hitCounts = StdUInt32Array.ToArray(hitCountsScope.Value); + return result; + } + } + } + + V8CpuProfile.Node.Ptr IV8SplitProxyNative.V8CpuProfileNode_GetChildNode(V8CpuProfile.Node.Ptr pNode, int index) + { + return V8CpuProfileNode_GetChildNode(pNode, index); + } + + #endregion + + #region V8 isolate methods + + V8Isolate.Handle IV8SplitProxyNative.V8Isolate_Create(string name, int maxNewSpaceSize, int maxOldSpaceSize, bool enableDebugging, bool enableRemoteDebugging, bool enableDynamicModuleImports, int debugPort) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Isolate_Create(nameScope.Value, maxNewSpaceSize, maxOldSpaceSize, enableDebugging, enableRemoteDebugging, enableDynamicModuleImports, debugPort); + } + } + + V8Context.Handle IV8SplitProxyNative.V8Isolate_CreateContext(V8Isolate.Handle hIsolate, string name, bool enableDebugging, bool enableRemoteDebugging, bool disableGlobalMembers, bool enableDateTimeConversion, bool enableDynamicModuleImports, int debugPort) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Isolate_CreateContext(hIsolate, nameScope.Value, enableDebugging, enableRemoteDebugging, disableGlobalMembers, enableDateTimeConversion, enableDynamicModuleImports, debugPort); + } + } + + UIntPtr IV8SplitProxyNative.V8Isolate_GetMaxHeapSize(V8Isolate.Handle hIsolate) + { + return V8Isolate_GetMaxHeapSize(hIsolate); + } + + void IV8SplitProxyNative.V8Isolate_SetMaxHeapSize(V8Isolate.Handle hIsolate, UIntPtr size) + { + V8Isolate_SetMaxHeapSize(hIsolate, size); + } + + double IV8SplitProxyNative.V8Isolate_GetHeapSizeSampleInterval(V8Isolate.Handle hIsolate) + { + return V8Isolate_GetHeapSizeSampleInterval(hIsolate); + } + + void IV8SplitProxyNative.V8Isolate_SetHeapSizeSampleInterval(V8Isolate.Handle hIsolate, double milliseconds) + { + V8Isolate_SetHeapSizeSampleInterval(hIsolate, milliseconds); + } + + UIntPtr IV8SplitProxyNative.V8Isolate_GetMaxStackUsage(V8Isolate.Handle hIsolate) + { + return V8Isolate_GetMaxStackUsage(hIsolate); + } + + void IV8SplitProxyNative.V8Isolate_SetMaxStackUsage(V8Isolate.Handle hIsolate, UIntPtr size) + { + V8Isolate_SetMaxStackUsage(hIsolate, size); + } + + void IV8SplitProxyNative.V8Isolate_AwaitDebuggerAndPause(V8Isolate.Handle hIsolate) + { + V8Isolate_AwaitDebuggerAndPause(hIsolate); + } + + V8Script.Handle IV8SplitProxyNative.V8Isolate_Compile(V8Isolate.Handle hIsolate, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + return V8Isolate_Compile(hIsolate, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value); + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Isolate_CompileProducingCache(V8Isolate.Handle hIsolate, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, V8CacheKind cacheKind, out byte[] cacheBytes) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var cacheBytesScope = StdByteArray.CreateScope()) + { + var hScript = V8Isolate_CompileProducingCache(hIsolate, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, cacheKind, cacheBytesScope.Value); + cacheBytes = StdByteArray.ToArray(cacheBytesScope.Value); + return hScript; + } + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Isolate_CompileConsumingCache(V8Isolate.Handle hIsolate, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, V8CacheKind cacheKind, byte[] cacheBytes, out bool cacheAccepted) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var cacheBytesScope = StdByteArray.CreateScope(cacheBytes)) + { + return V8Isolate_CompileConsumingCache(hIsolate, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, cacheKind, cacheBytesScope.Value, out cacheAccepted); + } + } + } + } + } + + void IV8SplitProxyNative.V8Isolate_GetHeapStatistics(V8Isolate.Handle hIsolate, out ulong totalHeapSize, out ulong totalHeapSizeExecutable, out ulong totalPhysicalSize, out ulong usedHeapSize, out ulong heapSizeLimit) + { + V8Isolate_GetHeapStatistics(hIsolate, out totalHeapSize, out totalHeapSizeExecutable, out totalPhysicalSize, out usedHeapSize, out heapSizeLimit); + } + + void IV8SplitProxyNative.V8Isolate_GetStatistics(V8Isolate.Handle hIsolate, out ulong scriptCount, out ulong scriptCacheSize, out ulong moduleCount, out ulong[] postedTaskCounts, out ulong[] invokedTaskCounts) + { + using (var postedTaskCountsScope = StdUInt64Array.CreateScope()) + { + using (var invokedTaskCountsScope = StdUInt64Array.CreateScope()) + { + V8Isolate_GetStatistics(hIsolate, out scriptCount, out scriptCacheSize, out moduleCount, postedTaskCountsScope.Value, invokedTaskCountsScope.Value); + postedTaskCounts = StdUInt64Array.ToArray(postedTaskCountsScope.Value); + invokedTaskCounts = StdUInt64Array.ToArray(invokedTaskCountsScope.Value); + } + } + } + + void IV8SplitProxyNative.V8Isolate_CollectGarbage(V8Isolate.Handle hIsolate, bool exhaustive) + { + V8Isolate_CollectGarbage(hIsolate, exhaustive); + } + + bool IV8SplitProxyNative.V8Isolate_BeginCpuProfile(V8Isolate.Handle hIsolate, string name, bool recordSamples) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Isolate_BeginCpuProfile(hIsolate, nameScope.Value, recordSamples); + } + } + + void IV8SplitProxyNative.V8Isolate_EndCpuProfile(V8Isolate.Handle hIsolate, string name, IntPtr pAction) + { + using (var nameScope = StdString.CreateScope(name)) + { + V8Isolate_EndCpuProfile(hIsolate, nameScope.Value, pAction); + } + } + + void IV8SplitProxyNative.V8Isolate_CollectCpuProfileSample(V8Isolate.Handle hIsolate) + { + V8Isolate_CollectCpuProfileSample(hIsolate); + } + + uint IV8SplitProxyNative.V8Isolate_GetCpuProfileSampleInterval(V8Isolate.Handle hIsolate) + { + return V8Isolate_GetCpuProfileSampleInterval(hIsolate); + } + + void IV8SplitProxyNative.V8Isolate_SetCpuProfileSampleInterval(V8Isolate.Handle hIsolate, uint value) + { + V8Isolate_SetCpuProfileSampleInterval(hIsolate, value); + } + + #endregion + + #region V8 context methods + + UIntPtr IV8SplitProxyNative.V8Context_GetMaxIsolateHeapSize(V8Context.Handle hContext) + { + return V8Context_GetMaxIsolateHeapSize(hContext); + } + + void IV8SplitProxyNative.V8Context_SetMaxIsolateHeapSize(V8Context.Handle hContext, UIntPtr size) + { + V8Context_SetMaxIsolateHeapSize(hContext, size); + } + + double IV8SplitProxyNative.V8Context_GetIsolateHeapSizeSampleInterval(V8Context.Handle hContext) + { + return V8Context_GetIsolateHeapSizeSampleInterval(hContext); + } + + void IV8SplitProxyNative.V8Context_SetIsolateHeapSizeSampleInterval(V8Context.Handle hContext, double milliseconds) + { + V8Context_SetIsolateHeapSizeSampleInterval(hContext, milliseconds); + } + + UIntPtr IV8SplitProxyNative.V8Context_GetMaxIsolateStackUsage(V8Context.Handle hContext) + { + return V8Context_GetMaxIsolateStackUsage(hContext); + } + + void IV8SplitProxyNative.V8Context_SetMaxIsolateStackUsage(V8Context.Handle hContext, UIntPtr size) + { + V8Context_SetMaxIsolateStackUsage(hContext, size); + } + + void IV8SplitProxyNative.V8Context_InvokeWithLock(V8Context.Handle hContext, IntPtr pAction) + { + V8Context_InvokeWithLock(hContext, pAction); + } + + object IV8SplitProxyNative.V8Context_GetRootItem(V8Context.Handle hContext) + { + using (var itemScope = V8Value.CreateScope()) + { + V8Context_GetRootItem(hContext, itemScope.Value); + return V8Value.Get(itemScope.Value); + } + } + + void IV8SplitProxyNative.V8Context_AddGlobalItem(V8Context.Handle hContext, string name, object value, bool globalMembers) + { + using (var nameScope = StdString.CreateScope(name)) + { + using (var valueScope = V8Value.CreateScope(value)) + { + V8Context_AddGlobalItem(hContext, nameScope.Value, valueScope.Value, globalMembers); + } + } + } + + void IV8SplitProxyNative.V8Context_AwaitDebuggerAndPause(V8Context.Handle hContext) + { + V8Context_AwaitDebuggerAndPause(hContext); + } + + object IV8SplitProxyNative.V8Context_ExecuteCode(V8Context.Handle hContext, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, bool evaluate) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var resultScope = V8Value.CreateScope()) + { + V8Context_ExecuteCode(hContext, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, evaluate, resultScope.Value); + return V8Value.Get(resultScope.Value); + } + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Context_Compile(V8Context.Handle hContext, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + return V8Context_Compile(hContext, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value); + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Context_CompileProducingCache(V8Context.Handle hContext, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, V8CacheKind cacheKind, out byte[] cacheBytes) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var cacheBytesScope = StdByteArray.CreateScope()) + { + var hScript = V8Context_CompileProducingCache(hContext, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, cacheKind, cacheBytesScope.Value); + cacheBytes = StdByteArray.ToArray(cacheBytesScope.Value); + return hScript; + } + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Context_CompileConsumingCache(V8Context.Handle hContext, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, V8CacheKind cacheKind, byte[] cacheBytes, out bool cacheAccepted) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var cacheBytesScope = StdByteArray.CreateScope(cacheBytes)) + { + return V8Context_CompileConsumingCache(hContext, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, cacheKind, cacheBytesScope.Value, out cacheAccepted); + } + } + } + } + } + + object IV8SplitProxyNative.V8Context_ExecuteScript(V8Context.Handle hContext, V8Script.Handle hScript, bool evaluate) + { + using (var resultScope = V8Value.CreateScope()) + { + V8Context_ExecuteScript(hContext, hScript, evaluate, resultScope.Value); + return V8Value.Get(resultScope.Value); + } + } + + void IV8SplitProxyNative.V8Context_Interrupt(V8Context.Handle hContext) + { + V8Context_Interrupt(hContext); + } + + void IV8SplitProxyNative.V8Context_GetIsolateHeapStatistics(V8Context.Handle hContext, out ulong totalHeapSize, out ulong totalHeapSizeExecutable, out ulong totalPhysicalSize, out ulong usedHeapSize, out ulong heapSizeLimit) + { + V8Context_GetIsolateHeapStatistics(hContext, out totalHeapSize, out totalHeapSizeExecutable, out totalPhysicalSize, out usedHeapSize, out heapSizeLimit); + } + + void IV8SplitProxyNative.V8Context_GetIsolateStatistics(V8Context.Handle hContext, out ulong scriptCount, out ulong scriptCacheSize, out ulong moduleCount, out ulong[] postedTaskCounts, out ulong[] invokedTaskCounts) + { + using (var postedTaskCountsScope = StdUInt64Array.CreateScope()) + { + using (var invokedTaskCountsScope = StdUInt64Array.CreateScope()) + { + V8Context_GetIsolateStatistics(hContext, out scriptCount, out scriptCacheSize, out moduleCount, postedTaskCountsScope.Value, invokedTaskCountsScope.Value); + postedTaskCounts = StdUInt64Array.ToArray(postedTaskCountsScope.Value); + invokedTaskCounts = StdUInt64Array.ToArray(invokedTaskCountsScope.Value); + } + } + } + + void IV8SplitProxyNative.V8Context_GetStatistics(V8Context.Handle hContext, out ulong scriptCount, out ulong moduleCount, out ulong moduleCacheSize) + { + V8Context_GetStatistics(hContext, out scriptCount, out moduleCount, out moduleCacheSize); + } + + void IV8SplitProxyNative.V8Context_CollectGarbage(V8Context.Handle hContext, bool exhaustive) + { + V8Context_CollectGarbage(hContext, exhaustive); + } + + void IV8SplitProxyNative.V8Context_OnAccessSettingsChanged(V8Context.Handle hContext) + { + V8Context_OnAccessSettingsChanged(hContext); + } + + bool IV8SplitProxyNative.V8Context_BeginCpuProfile(V8Context.Handle hContext, string name, bool recordSamples) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Context_BeginCpuProfile(hContext, nameScope.Value, recordSamples); + } + } + + void IV8SplitProxyNative.V8Context_EndCpuProfile(V8Context.Handle hContext, string name, IntPtr pAction) + { + using (var nameScope = StdString.CreateScope(name)) + { + V8Context_EndCpuProfile(hContext, nameScope.Value, pAction); + } + } + + void IV8SplitProxyNative.V8Context_CollectCpuProfileSample(V8Context.Handle hContext) + { + V8Context_CollectCpuProfileSample(hContext); + } + + uint IV8SplitProxyNative.V8Context_GetCpuProfileSampleInterval(V8Context.Handle hContext) + { + return V8Context_GetCpuProfileSampleInterval(hContext); + } + + void IV8SplitProxyNative.V8Context_SetCpuProfileSampleInterval(V8Context.Handle hContext, uint value) + { + V8Context_SetCpuProfileSampleInterval(hContext, value); + } + + #endregion + + #region V8 object methods + + object IV8SplitProxyNative.V8Object_GetNamedProperty(V8Object.Handle hObject, string name) + { + using (var nameScope = StdString.CreateScope(name)) + { + using (var valueScope = V8Value.CreateScope()) + { + V8Object_GetNamedProperty(hObject, nameScope.Value, valueScope.Value); + return V8Value.Get(valueScope.Value); + } + } + } + + void IV8SplitProxyNative.V8Object_SetNamedProperty(V8Object.Handle hObject, string name, object value) + { + using (var nameScope = StdString.CreateScope(name)) + { + using (var valueScope = V8Value.CreateScope(value)) + { + V8Object_SetNamedProperty(hObject, nameScope.Value, valueScope.Value); + } + } + } + + bool IV8SplitProxyNative.V8Object_DeleteNamedProperty(V8Object.Handle hObject, string name) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Object_DeleteNamedProperty(hObject, nameScope.Value); + } + } + + string[] IV8SplitProxyNative.V8Object_GetPropertyNames(V8Object.Handle hObject) + { + using (var namesScope = StdStringArray.CreateScope()) + { + V8Object_GetPropertyNames(hObject, namesScope.Value); + return StdStringArray.ToArray(namesScope.Value); + } + } + + object IV8SplitProxyNative.V8Object_GetIndexedProperty(V8Object.Handle hObject, int index) + { + using (var valueScope = V8Value.CreateScope()) + { + V8Object_GetIndexedProperty(hObject, index, valueScope.Value); + return V8Value.Get(valueScope.Value); + } + } + + void IV8SplitProxyNative.V8Object_SetIndexedProperty(V8Object.Handle hObject, int index, object value) + { + using (var valueScope = V8Value.CreateScope(value)) + { + V8Object_SetIndexedProperty(hObject, index, valueScope.Value); + } + } + + bool IV8SplitProxyNative.V8Object_DeleteIndexedProperty(V8Object.Handle hObject, int index) + { + return V8Object_DeleteIndexedProperty(hObject, index); + } + + int[] IV8SplitProxyNative.V8Object_GetPropertyIndices(V8Object.Handle hObject) + { + using (var indicesScope = StdInt32Array.CreateScope()) + { + V8Object_GetPropertyIndices(hObject, indicesScope.Value); + return StdInt32Array.ToArray(indicesScope.Value); + } + } + + object IV8SplitProxyNative.V8Object_Invoke(V8Object.Handle hObject, bool asConstructor, object[] args) + { + using (var argsScope = StdV8ValueArray.CreateScope(args)) + { + using (var resultScope = V8Value.CreateScope()) + { + V8Object_Invoke(hObject, asConstructor, argsScope.Value, resultScope.Value); + return V8Value.Get(resultScope.Value); + } + } + } + + object IV8SplitProxyNative.V8Object_InvokeMethod(V8Object.Handle hObject, string name, object[] args) + { + using (var nameScope = StdString.CreateScope(name)) + { + using (var argsScope = StdV8ValueArray.CreateScope(args)) + { + using (var resultScope = V8Value.CreateScope()) + { + V8Object_InvokeMethod(hObject, nameScope.Value, argsScope.Value, resultScope.Value); + return V8Value.Get(resultScope.Value); + } + } + } + } + + void IV8SplitProxyNative.V8Object_GetArrayBufferOrViewInfo(V8Object.Handle hObject, out IV8Object arrayBuffer, out ulong offset, out ulong size, out ulong length) + { + using (var arrayBufferScope = V8Value.CreateScope()) + { + V8Object_GetArrayBufferOrViewInfo(hObject, arrayBufferScope.Value, out offset, out size, out length); + arrayBuffer = (IV8Object)V8Value.Get(arrayBufferScope.Value); + } + } + + void IV8SplitProxyNative.V8Object_InvokeWithArrayBufferOrViewData(V8Object.Handle hObject, IntPtr pAction) + { + V8Object_InvokeWithArrayBufferOrViewData(hObject, pAction); + } + + #endregion + + #region V8 debug callback methods + + void IV8SplitProxyNative.V8DebugCallback_ConnectClient(V8DebugCallback.Handle hCallback) + { + V8DebugCallback_ConnectClient(hCallback); + } + + void IV8SplitProxyNative.V8DebugCallback_SendCommand(V8DebugCallback.Handle hCallback, string command) + { + using (var commandScope = StdString.CreateScope(command)) + { + V8DebugCallback_SendCommand(hCallback, commandScope.Value); + } + } + + void IV8SplitProxyNative.V8DebugCallback_DisconnectClient(V8DebugCallback.Handle hCallback) + { + V8DebugCallback_DisconnectClient(hCallback); + } + + #endregion + + #region native callback methods + + void IV8SplitProxyNative.NativeCallback_Invoke(NativeCallback.Handle hCallback) + { + NativeCallback_Invoke(hCallback); + } + + #endregion + + #region V8 entity cleanup + + void IV8SplitProxyNative.V8Entity_Release(V8Entity.Handle hEntity) + { + V8Entity_Release(hEntity); + } + + void IV8SplitProxyNative.V8Entity_DestroyHandle(V8Entity.Handle hEntity) + { + V8Entity_DestroyHandle(hEntity); + } + + #endregion + + #region error handling + + void IV8SplitProxyNative.HostException_Schedule(string message, object exception) + { + using (var messageScope = StdString.CreateScope(message)) + { + using (var exceptionScope = V8Value.CreateScope(exception)) + { + HostException_Schedule(messageScope.Value, exceptionScope.Value); + } + } + } + + #endregion + + #region unit test support + + UIntPtr IV8SplitProxyNative.V8UnitTestSupport_GetTextDigest(string value) + { + using (var valueScope = StdString.CreateScope(value)) + { + return V8UnitTestSupport_GetTextDigest(valueScope.Value); + } + } + + void IV8SplitProxyNative.V8UnitTestSupport_GetStatistics(out ulong isolateCount, out ulong contextCount) + { + V8UnitTestSupport_GetStatistics(out isolateCount, out contextCount); + } + + #endregion + + #endregion + + #region native methods + + #region initialization + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr V8SplitProxyManaged_SetMethodTable( + [In] IntPtr pMethodTable + ); + + #endregion + + #region StdString methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdString.Ptr StdString_New( + [In] [MarshalAs(UnmanagedType.LPWStr)] string value, + [In] int length + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdString_GetValue( + [In] StdString.Ptr pString, + [Out] out int length + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdString_SetValue( + [In] StdString.Ptr pString, + [In] [MarshalAs(UnmanagedType.LPWStr)] string value, + [In] int length + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdString_Delete( + [In] StdString.Ptr pString + ); + + #endregion + + #region StdStringArray methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdStringArray.Ptr StdStringArray_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdStringArray_GetElementCount( + [In] StdStringArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdStringArray_SetElementCount( + [In] StdStringArray.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdStringArray_GetElement( + [In] StdStringArray.Ptr pArray, + [In] int index, + [Out] out int length + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdStringArray_SetElement( + [In] StdStringArray.Ptr pArray, + [In] int index, + [In] [MarshalAs(UnmanagedType.LPWStr)] string value, + [In] int length + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdStringArray_Delete( + [In] StdStringArray.Ptr pArray + ); + + #endregion + + #region StdByteArray methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdByteArray.Ptr StdByteArray_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdByteArray_GetElementCount( + [In] StdByteArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdByteArray_SetElementCount( + [In] StdByteArray.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdByteArray_GetData( + [In] StdByteArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdByteArray_Delete( + [In] StdByteArray.Ptr pArray + ); + + #endregion + + #region StdInt32Array methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdInt32Array.Ptr StdInt32Array_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdInt32Array_GetElementCount( + [In] StdInt32Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdInt32Array_SetElementCount( + [In] StdInt32Array.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdInt32Array_GetData( + [In] StdInt32Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdInt32Array_Delete( + [In] StdInt32Array.Ptr pArray + ); + + #endregion + + #region StdUInt32Array methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdUInt32Array.Ptr StdUInt32Array_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdUInt32Array_GetElementCount( + [In] StdUInt32Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdUInt32Array_SetElementCount( + [In] StdUInt32Array.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdUInt32Array_GetData( + [In] StdUInt32Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdUInt32Array_Delete( + [In] StdUInt32Array.Ptr pArray + ); + + #endregion + + #region StdUInt64Array methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdUInt64Array.Ptr StdUInt64Array_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdUInt64Array_GetElementCount( + [In] StdUInt64Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdUInt64Array_SetElementCount( + [In] StdUInt64Array.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdUInt64Array_GetData( + [In] StdUInt64Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdUInt64Array_Delete( + [In] StdUInt64Array.Ptr pArray + ); + + #endregion + + #region StdPtrArray methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdPtrArray.Ptr StdPtrArray_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdPtrArray_GetElementCount( + [In] StdPtrArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdPtrArray_SetElementCount( + [In] StdPtrArray.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdPtrArray_GetData( + [In] StdPtrArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdPtrArray_Delete( + [In] StdPtrArray.Ptr pArray + ); + + #endregion + + #region StdV8ValueArray methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern StdV8ValueArray.Ptr StdV8ValueArray_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdV8ValueArray_GetElementCount( + [In] StdV8ValueArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdV8ValueArray_SetElementCount( + [In] StdV8ValueArray.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Value.Ptr StdV8ValueArray_GetData( + [In] StdV8ValueArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdV8ValueArray_Delete( + [In] StdV8ValueArray.Ptr pArray + ); + + #endregion + + #region V8Value methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Value.Ptr V8Value_New(); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetNonexistent( + [In] V8Value.Ptr pV8Value + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetUndefined( + [In] V8Value.Ptr pV8Value + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetNull( + [In] V8Value.Ptr pV8Value + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetBoolean( + [In] V8Value.Ptr pV8Value, + [In] [MarshalAs(UnmanagedType.I1)] bool value + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetNumber( + [In] V8Value.Ptr pV8Value, + [In] double value + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetInt32( + [In] V8Value.Ptr pV8Value, + [In] int value + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetUInt32( + [In] V8Value.Ptr pV8Value, + [In] uint value + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetString( + [In] V8Value.Ptr pV8Value, + [In] [MarshalAs(UnmanagedType.LPWStr)] string value, + [In] int length + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetDateTime( + [In] V8Value.Ptr pV8Value, + [In] double value + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetBigInt( + [In] V8Value.Ptr pV8Value, + [In] int signBit, + [In] [MarshalAs(UnmanagedType.LPArray)] byte[] bytes, + [In] int length + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetV8Object( + [In] V8Value.Ptr pV8Value, + [In] V8Object.Handle hObject, + [In] V8Value.Subtype subtype + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetHostObject( + [In] V8Value.Ptr pV8Value, + [In] IntPtr pObject + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Value.Type V8Value_Decode( + [In] V8Value.Ptr pV8Value, + [Out] out int intValue, + [Out] out uint uintValue, + [Out] out double doubleValue, + [Out] out IntPtr ptrOrHandle + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_Delete( + [In] V8Value.Ptr pV8Value + ); + + #endregion + + #region V8CpuProfile methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8CpuProfile_GetInfo( + [In] V8CpuProfile.Ptr pProfile, + [In] V8Entity.Handle hEntity, + [In] StdString.Ptr pName, + [Out] out ulong startTimestamp, + [Out] out ulong endTimestamp, + [Out] out int sampleCount, + [Out] out V8CpuProfile.Node.Ptr pRootNode + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8CpuProfile_GetSample( + [In] V8CpuProfile.Ptr pProfile, + [In] int index, + [Out] out ulong nodeId, + [Out] out ulong timestamp + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8CpuProfileNode_GetInfo( + [In] V8CpuProfile.Node.Ptr pNode, + [In] V8Entity.Handle hEntity, + [Out] out ulong nodeId, + [Out] out long scriptId, + [In] StdString.Ptr pScriptName, + [In] StdString.Ptr pFunctionName, + [In] StdString.Ptr pBailoutReason, + [Out] out long lineNumber, + [Out] out long columnNumber, + [Out] out ulong hitCount, + [Out] out uint hitLineCount, + [Out] out int childCount + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8CpuProfileNode_GetHitLines( + [In] V8CpuProfile.Node.Ptr pNode, + [In] StdInt32Array.Ptr pLineNumbers, + [In] StdUInt32Array.Ptr pHitCounts + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8CpuProfile.Node.Ptr V8CpuProfileNode_GetChildNode( + [In] V8CpuProfile.Node.Ptr pNode, + [In] int index + ); + + #endregion + + #region V8 isolate methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Isolate.Handle V8Isolate_Create( + [In] StdString.Ptr pName, + [In] int maxNewSpaceSize, + [In] int maxOldSpaceSize, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDebugging, + [In] [MarshalAs(UnmanagedType.I1)] bool enableRemoteDebugging, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDynamicModuleImports, + [In] int debugPort + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Context.Handle V8Isolate_CreateContext( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pName, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDebugging, + [In] [MarshalAs(UnmanagedType.I1)] bool enableRemoteDebugging, + [In] [MarshalAs(UnmanagedType.I1)] bool disableGlobalMembers, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDateTimeConversion, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDynamicModuleImports, + [In] int debugPort + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8Isolate_GetMaxHeapSize( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_SetMaxHeapSize( + [In] V8Isolate.Handle hIsolate, + [In] UIntPtr size + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern double V8Isolate_GetHeapSizeSampleInterval( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_SetHeapSizeSampleInterval( + [In] V8Isolate.Handle hIsolate, + [In] double milliseconds + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8Isolate_GetMaxStackUsage( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_SetMaxStackUsage( + [In] V8Isolate.Handle hIsolate, + [In] UIntPtr size + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_AwaitDebuggerAndPause( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Isolate_Compile( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Isolate_CompileProducingCache( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] V8CacheKind cacheKind, + [In] StdByteArray.Ptr pCacheBytes + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Isolate_CompileConsumingCache( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] V8CacheKind cacheKind, + [In] StdByteArray.Ptr pCacheBytes, + [Out] [MarshalAs(UnmanagedType.I1)] out bool cacheAccepted + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_GetHeapStatistics( + [In] V8Isolate.Handle hIsolate, + [Out] out ulong totalHeapSize, + [Out] out ulong totalHeapSizeExecutable, + [Out] out ulong totalPhysicalSize, + [Out] out ulong usedHeapSize, + [Out] out ulong heapSizeLimit + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_GetStatistics( + [In] V8Isolate.Handle hIsolate, + [Out] out ulong scriptCount, + [Out] out ulong scriptCacheSize, + [Out] out ulong moduleCount, + [In] StdUInt64Array.Ptr pPostedTaskCounts, + [In] StdUInt64Array.Ptr pInvokedTaskCounts + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_CollectGarbage( + [In] V8Isolate.Handle hIsolate, + [In] [MarshalAs(UnmanagedType.I1)] bool exhaustive + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8Isolate_BeginCpuProfile( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pName, + [In] [MarshalAs(UnmanagedType.I1)] bool recordSamples + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_EndCpuProfile( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pName, + [In] IntPtr pAction + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_CollectCpuProfileSample( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern uint V8Isolate_GetCpuProfileSampleInterval( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_SetCpuProfileSampleInterval( + [In] V8Isolate.Handle hIsolate, + [In] uint value + ); + + #endregion + + #region V8 context methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8Context_GetMaxIsolateHeapSize( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_SetMaxIsolateHeapSize( + [In] V8Context.Handle hContext, + [In] UIntPtr size + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern double V8Context_GetIsolateHeapSizeSampleInterval( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_SetIsolateHeapSizeSampleInterval( + [In] V8Context.Handle hContext, + [In] double milliseconds + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8Context_GetMaxIsolateStackUsage( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_SetMaxIsolateStackUsage( + [In] V8Context.Handle hContext, + [In] UIntPtr size + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_InvokeWithLock( + [In] V8Context.Handle hContext, + [In] IntPtr pAction + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_GetRootItem( + [In] V8Context.Handle hContext, + [In] V8Value.Ptr pItem + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_AddGlobalItem( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pName, + [In] V8Value.Ptr pValue, + [In] [MarshalAs(UnmanagedType.I1)] bool globalMembers + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_AwaitDebuggerAndPause( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_ExecuteCode( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] [MarshalAs(UnmanagedType.I1)] bool evaluate, + [In] V8Value.Ptr pResult + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Context_Compile( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Context_CompileProducingCache( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] V8CacheKind cacheKind, + [In] StdByteArray.Ptr pCacheBytes + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Context_CompileConsumingCache( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] V8CacheKind cacheKind, + [In] StdByteArray.Ptr pCacheBytes, + [Out] [MarshalAs(UnmanagedType.I1)] out bool cacheAccepted + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_ExecuteScript( + [In] V8Context.Handle hContext, + [In] V8Script.Handle hScript, + [In] [MarshalAs(UnmanagedType.I1)] bool evaluate, + [In] V8Value.Ptr pResult + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_Interrupt( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_GetIsolateHeapStatistics( + [In] V8Context.Handle hContext, + [Out] out ulong totalHeapSize, + [Out] out ulong totalHeapSizeExecutable, + [Out] out ulong totalPhysicalSize, + [Out] out ulong usedHeapSize, + [Out] out ulong heapSizeLimit + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_GetIsolateStatistics( + [In] V8Context.Handle hContext, + [Out] out ulong scriptCount, + [Out] out ulong scriptCacheSize, + [Out] out ulong moduleCount, + [In] StdUInt64Array.Ptr pPostedTaskCounts, + [In] StdUInt64Array.Ptr pInvokedTaskCounts + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_GetStatistics( + [In] V8Context.Handle hContext, + [Out] out ulong scriptCount, + [Out] out ulong moduleCount, + [Out] out ulong moduleCacheSize + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_CollectGarbage( + [In] V8Context.Handle hContext, + [In] [MarshalAs(UnmanagedType.I1)] bool exhaustive + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_OnAccessSettingsChanged( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8Context_BeginCpuProfile( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pName, + [In] [MarshalAs(UnmanagedType.I1)] bool recordSamples + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_EndCpuProfile( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pName, + [In] IntPtr pAction + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_CollectCpuProfileSample( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern uint V8Context_GetCpuProfileSampleInterval( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_SetCpuProfileSampleInterval( + [In] V8Context.Handle hContext, + [In] uint value + ); + + #endregion + + #region V8 object methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetNamedProperty( + [In] V8Object.Handle hObject, + [In] StdString.Ptr pName, + [In] V8Value.Ptr pValue + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_SetNamedProperty( + [In] V8Object.Handle hObject, + [In] StdString.Ptr pName, + [In] V8Value.Ptr pValue + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8Object_DeleteNamedProperty( + [In] V8Object.Handle hObject, + [In] StdString.Ptr pName + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetPropertyNames( + [In] V8Object.Handle hObject, + [In] StdStringArray.Ptr pNames + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetIndexedProperty( + [In] V8Object.Handle hObject, + [In] int index, + [In] V8Value.Ptr pValue + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_SetIndexedProperty( + [In] V8Object.Handle hObject, + [In] int index, + [In] V8Value.Ptr pValue + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8Object_DeleteIndexedProperty( + [In] V8Object.Handle hObject, + [In] int index + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetPropertyIndices( + [In] V8Object.Handle hObject, + [In] StdInt32Array.Ptr pIndices + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_Invoke( + [In] V8Object.Handle hObject, + [In] [MarshalAs(UnmanagedType.I1)] bool asConstructor, + [In] StdV8ValueArray.Ptr pArgs, + [In] V8Value.Ptr pResult + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_InvokeMethod( + [In] V8Object.Handle hObject, + [In] StdString.Ptr pName, + [In] StdV8ValueArray.Ptr pArgs, + [In] V8Value.Ptr pResult + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetArrayBufferOrViewInfo( + [In] V8Object.Handle hObject, + [In] V8Value.Ptr pArrayBuffer, + [Out] out ulong offset, + [Out] out ulong size, + [Out] out ulong length + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_InvokeWithArrayBufferOrViewData( + [In] V8Object.Handle hObject, + [In] IntPtr pAction + ); + + #endregion + + #region V8 debug callback methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8DebugCallback_ConnectClient( + [In] V8DebugCallback.Handle hCallback + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8DebugCallback_SendCommand( + [In] V8DebugCallback.Handle hCallback, + [In] StdString.Ptr pCommand + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8DebugCallback_DisconnectClient( + [In] V8DebugCallback.Handle hCallback + ); + + #endregion + + #region native callback methods + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void NativeCallback_Invoke( + [In] NativeCallback.Handle hCallback + ); + + #endregion + + #region V8 entity cleanup + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Entity_Release( + [In] V8Entity.Handle hEntity + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Entity_DestroyHandle( + [In] V8Entity.Handle hEntity + ); + + #endregion + + #region error handling + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void HostException_Schedule( + [In] StdString.Ptr pMessage, + [In] V8Value.Ptr pException + ); + + #endregion + + #region unit test support + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8UnitTestSupport_GetTextDigest( + [In] StdString.Ptr pString + ); + + [DllImport("ClearScriptV8.linux-arm64.so", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8UnitTestSupport_GetStatistics( + [Out] out ulong isolateCount, + [Out] out ulong contextCount + ); + + #endregion + + #endregion + } + + #endregion + + #region Nested type: MacX64Impl - private sealed class MacX64Impl : IV8SplitProxyNative + private sealed class MacX64Impl : IV8SplitProxyNative + { + public static readonly IV8SplitProxyNative Instance = new MacX64Impl(); + + #region IV8SplitProxyNative implementation + + #region initialization + + IntPtr IV8SplitProxyNative.V8SplitProxyManaged_SetMethodTable(IntPtr pMethodTable) + { + return V8SplitProxyManaged_SetMethodTable(pMethodTable); + } + + #endregion + + #region StdString methods + + StdString.Ptr IV8SplitProxyNative.StdString_New(string value) + { + return StdString_New(value, value.Length); + } + + string IV8SplitProxyNative.StdString_GetValue(StdString.Ptr pString) + { + var pValue = StdString_GetValue(pString, out var length); + return Marshal.PtrToStringUni(pValue, length); + } + + void IV8SplitProxyNative.StdString_SetValue(StdString.Ptr pString, string value) + { + StdString_SetValue(pString, value, value.Length); + } + + void IV8SplitProxyNative.StdString_Delete(StdString.Ptr pString) + { + StdString_Delete(pString); + } + + #endregion + + #region StdStringArray methods + + StdStringArray.Ptr IV8SplitProxyNative.StdStringArray_New(int elementCount) + { + return StdStringArray_New(elementCount); + } + + int IV8SplitProxyNative.StdStringArray_GetElementCount(StdStringArray.Ptr pArray) + { + return StdStringArray_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdStringArray_SetElementCount(StdStringArray.Ptr pArray, int elementCount) + { + StdStringArray_SetElementCount(pArray, elementCount); + } + + string IV8SplitProxyNative.StdStringArray_GetElement(StdStringArray.Ptr pArray, int index) + { + var pValue = StdStringArray_GetElement(pArray, index, out var length); + return Marshal.PtrToStringUni(pValue, length); + } + + void IV8SplitProxyNative.StdStringArray_SetElement(StdStringArray.Ptr pArray, int index, string value) + { + StdStringArray_SetElement(pArray, index, value, value.Length); + } + + void IV8SplitProxyNative.StdStringArray_Delete(StdStringArray.Ptr pArray) + { + StdStringArray_Delete(pArray); + } + + #endregion + + #region StdByteArray methods + + StdByteArray.Ptr IV8SplitProxyNative.StdByteArray_New(int elementCount) + { + return StdByteArray_New(elementCount); + } + + int IV8SplitProxyNative.StdByteArray_GetElementCount(StdByteArray.Ptr pArray) + { + return StdByteArray_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdByteArray_SetElementCount(StdByteArray.Ptr pArray, int elementCount) + { + StdByteArray_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdByteArray_GetData(StdByteArray.Ptr pArray) + { + return StdByteArray_GetData(pArray); + } + + void IV8SplitProxyNative.StdByteArray_Delete(StdByteArray.Ptr pArray) + { + StdByteArray_Delete(pArray); + } + + #endregion + + #region StdInt32Array methods + + StdInt32Array.Ptr IV8SplitProxyNative.StdInt32Array_New(int elementCount) + { + return StdInt32Array_New(elementCount); + } + + int IV8SplitProxyNative.StdInt32Array_GetElementCount(StdInt32Array.Ptr pArray) + { + return StdInt32Array_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdInt32Array_SetElementCount(StdInt32Array.Ptr pArray, int elementCount) + { + StdInt32Array_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdInt32Array_GetData(StdInt32Array.Ptr pArray) + { + return StdInt32Array_GetData(pArray); + } + + void IV8SplitProxyNative.StdInt32Array_Delete(StdInt32Array.Ptr pArray) + { + StdInt32Array_Delete(pArray); + } + + #endregion + + #region StdUInt32Array methods + + StdUInt32Array.Ptr IV8SplitProxyNative.StdUInt32Array_New(int elementCount) + { + return StdUInt32Array_New(elementCount); + } + + int IV8SplitProxyNative.StdUInt32Array_GetElementCount(StdUInt32Array.Ptr pArray) + { + return StdUInt32Array_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdUInt32Array_SetElementCount(StdUInt32Array.Ptr pArray, int elementCount) + { + StdUInt32Array_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdUInt32Array_GetData(StdUInt32Array.Ptr pArray) + { + return StdUInt32Array_GetData(pArray); + } + + void IV8SplitProxyNative.StdUInt32Array_Delete(StdUInt32Array.Ptr pArray) + { + StdUInt32Array_Delete(pArray); + } + + #endregion + + #region StdUInt64Array methods + + StdUInt64Array.Ptr IV8SplitProxyNative.StdUInt64Array_New(int elementCount) + { + return StdUInt64Array_New(elementCount); + } + + int IV8SplitProxyNative.StdUInt64Array_GetElementCount(StdUInt64Array.Ptr pArray) + { + return StdUInt64Array_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdUInt64Array_SetElementCount(StdUInt64Array.Ptr pArray, int elementCount) + { + StdUInt64Array_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdUInt64Array_GetData(StdUInt64Array.Ptr pArray) + { + return StdUInt64Array_GetData(pArray); + } + + void IV8SplitProxyNative.StdUInt64Array_Delete(StdUInt64Array.Ptr pArray) + { + StdUInt64Array_Delete(pArray); + } + + #endregion + + #region StdPtrArray methods + + StdPtrArray.Ptr IV8SplitProxyNative.StdPtrArray_New(int elementCount) + { + return StdPtrArray_New(elementCount); + } + + int IV8SplitProxyNative.StdPtrArray_GetElementCount(StdPtrArray.Ptr pArray) + { + return StdPtrArray_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdPtrArray_SetElementCount(StdPtrArray.Ptr pArray, int elementCount) + { + StdPtrArray_SetElementCount(pArray, elementCount); + } + + IntPtr IV8SplitProxyNative.StdPtrArray_GetData(StdPtrArray.Ptr pArray) + { + return StdPtrArray_GetData(pArray); + } + + void IV8SplitProxyNative.StdPtrArray_Delete(StdPtrArray.Ptr pArray) + { + StdPtrArray_Delete(pArray); + } + + #endregion + + #region StdV8ValueArray methods + + StdV8ValueArray.Ptr IV8SplitProxyNative.StdV8ValueArray_New(int elementCount) + { + return StdV8ValueArray_New(elementCount); + } + + int IV8SplitProxyNative.StdV8ValueArray_GetElementCount(StdV8ValueArray.Ptr pArray) + { + return StdV8ValueArray_GetElementCount(pArray); + } + + void IV8SplitProxyNative.StdV8ValueArray_SetElementCount(StdV8ValueArray.Ptr pArray, int elementCount) + { + StdV8ValueArray_SetElementCount(pArray, elementCount); + } + + V8Value.Ptr IV8SplitProxyNative.StdV8ValueArray_GetData(StdV8ValueArray.Ptr pArray) + { + return StdV8ValueArray_GetData(pArray); + } + + void IV8SplitProxyNative.StdV8ValueArray_Delete(StdV8ValueArray.Ptr pArray) + { + StdV8ValueArray_Delete(pArray); + } + + #endregion + + #region V8Value methods + + V8Value.Ptr IV8SplitProxyNative.V8Value_New() + { + return V8Value_New(); + } + + void IV8SplitProxyNative.V8Value_SetNonexistent(V8Value.Ptr pV8Value) + { + V8Value_SetNonexistent(pV8Value); + } + + void IV8SplitProxyNative.V8Value_SetUndefined(V8Value.Ptr pV8Value) + { + V8Value_SetUndefined(pV8Value); + } + + void IV8SplitProxyNative.V8Value_SetNull(V8Value.Ptr pV8Value) + { + V8Value_SetNull(pV8Value); + } + + void IV8SplitProxyNative.V8Value_SetBoolean(V8Value.Ptr pV8Value, bool value) + { + V8Value_SetBoolean(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetNumber(V8Value.Ptr pV8Value, double value) + { + V8Value_SetNumber(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetInt32(V8Value.Ptr pV8Value, int value) + { + V8Value_SetInt32(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetUInt32(V8Value.Ptr pV8Value, uint value) + { + V8Value_SetUInt32(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetString(V8Value.Ptr pV8Value, string value) + { + V8Value_SetString(pV8Value, value, value.Length); + } + + void IV8SplitProxyNative.V8Value_SetDateTime(V8Value.Ptr pV8Value, double value) + { + V8Value_SetDateTime(pV8Value, value); + } + + void IV8SplitProxyNative.V8Value_SetBigInt(V8Value.Ptr pV8Value, int signBit, byte[] bytes) + { + V8Value_SetBigInt(pV8Value, signBit, bytes, bytes.Length); + } + + void IV8SplitProxyNative.V8Value_SetV8Object(V8Value.Ptr pV8Value, V8Object.Handle hObject, V8Value.Subtype subtype) + { + V8Value_SetV8Object(pV8Value, hObject, subtype); + } + + void IV8SplitProxyNative.V8Value_SetHostObject(V8Value.Ptr pV8Value, IntPtr pObject) + { + V8Value_SetHostObject(pV8Value, pObject); + } + + V8Value.Type IV8SplitProxyNative.V8Value_Decode(V8Value.Ptr pV8Value, out int intValue, out uint uintValue, out double doubleValue, out IntPtr ptrOrHandle) + { + return V8Value_Decode(pV8Value, out intValue, out uintValue, out doubleValue, out ptrOrHandle); + } + + void IV8SplitProxyNative.V8Value_Delete(V8Value.Ptr pV8Value) + { + V8Value_Delete(pV8Value); + } + + #endregion + + #region V8CpuProfile methods + + void IV8SplitProxyNative.V8CpuProfile_GetInfo(V8CpuProfile.Ptr pProfile, V8Entity.Handle hEntity, out string name, out ulong startTimestamp, out ulong endTimestamp, out int sampleCount, out V8CpuProfile.Node.Ptr pRootNode) + { + using (var nameScope = StdString.CreateScope()) + { + V8CpuProfile_GetInfo(pProfile, hEntity, nameScope.Value, out startTimestamp, out endTimestamp, out sampleCount, out pRootNode); + name = StdString.GetValue(nameScope.Value); + } + } + + bool IV8SplitProxyNative.V8CpuProfile_GetSample(V8CpuProfile.Ptr pProfile, int index, out ulong nodeId, out ulong timestamp) + { + return V8CpuProfile_GetSample(pProfile, index, out nodeId, out timestamp); + } + + void IV8SplitProxyNative.V8CpuProfileNode_GetInfo(V8CpuProfile.Node.Ptr pNode, V8Entity.Handle hEntity, out ulong nodeId, out long scriptId, out string scriptName, out string functionName, out string bailoutReason, out long lineNumber, out long columnNumber, out ulong hitCount, out uint hitLineCount, out int childCount) + { + using (var scriptNameScope = StdString.CreateScope()) + { + using (var functionNameScope = StdString.CreateScope()) + { + using (var bailoutReasonScope = StdString.CreateScope()) + { + V8CpuProfileNode_GetInfo(pNode, hEntity, out nodeId, out scriptId, scriptNameScope.Value, functionNameScope.Value, bailoutReasonScope.Value, out lineNumber, out columnNumber, out hitCount, out hitLineCount, out childCount); + scriptName = StdString.GetValue(scriptNameScope.Value); + functionName = StdString.GetValue(functionNameScope.Value); + bailoutReason = StdString.GetValue(bailoutReasonScope.Value); + + } + } + } + } + + bool IV8SplitProxyNative.V8CpuProfileNode_GetHitLines(V8CpuProfile.Node.Ptr pNode, out int[] lineNumbers, out uint[] hitCounts) + { + using (var lineNumbersScope = StdInt32Array.CreateScope()) + { + using (var hitCountsScope = StdUInt32Array.CreateScope()) + { + var result = V8CpuProfileNode_GetHitLines(pNode, lineNumbersScope.Value, hitCountsScope.Value); + lineNumbers = StdInt32Array.ToArray(lineNumbersScope.Value); + hitCounts = StdUInt32Array.ToArray(hitCountsScope.Value); + return result; + } + } + } + + V8CpuProfile.Node.Ptr IV8SplitProxyNative.V8CpuProfileNode_GetChildNode(V8CpuProfile.Node.Ptr pNode, int index) + { + return V8CpuProfileNode_GetChildNode(pNode, index); + } + + #endregion + + #region V8 isolate methods + + V8Isolate.Handle IV8SplitProxyNative.V8Isolate_Create(string name, int maxNewSpaceSize, int maxOldSpaceSize, bool enableDebugging, bool enableRemoteDebugging, bool enableDynamicModuleImports, int debugPort) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Isolate_Create(nameScope.Value, maxNewSpaceSize, maxOldSpaceSize, enableDebugging, enableRemoteDebugging, enableDynamicModuleImports, debugPort); + } + } + + V8Context.Handle IV8SplitProxyNative.V8Isolate_CreateContext(V8Isolate.Handle hIsolate, string name, bool enableDebugging, bool enableRemoteDebugging, bool disableGlobalMembers, bool enableDateTimeConversion, bool enableDynamicModuleImports, int debugPort) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Isolate_CreateContext(hIsolate, nameScope.Value, enableDebugging, enableRemoteDebugging, disableGlobalMembers, enableDateTimeConversion, enableDynamicModuleImports, debugPort); + } + } + + UIntPtr IV8SplitProxyNative.V8Isolate_GetMaxHeapSize(V8Isolate.Handle hIsolate) + { + return V8Isolate_GetMaxHeapSize(hIsolate); + } + + void IV8SplitProxyNative.V8Isolate_SetMaxHeapSize(V8Isolate.Handle hIsolate, UIntPtr size) + { + V8Isolate_SetMaxHeapSize(hIsolate, size); + } + + double IV8SplitProxyNative.V8Isolate_GetHeapSizeSampleInterval(V8Isolate.Handle hIsolate) + { + return V8Isolate_GetHeapSizeSampleInterval(hIsolate); + } + + void IV8SplitProxyNative.V8Isolate_SetHeapSizeSampleInterval(V8Isolate.Handle hIsolate, double milliseconds) + { + V8Isolate_SetHeapSizeSampleInterval(hIsolate, milliseconds); + } + + UIntPtr IV8SplitProxyNative.V8Isolate_GetMaxStackUsage(V8Isolate.Handle hIsolate) + { + return V8Isolate_GetMaxStackUsage(hIsolate); + } + + void IV8SplitProxyNative.V8Isolate_SetMaxStackUsage(V8Isolate.Handle hIsolate, UIntPtr size) + { + V8Isolate_SetMaxStackUsage(hIsolate, size); + } + + void IV8SplitProxyNative.V8Isolate_AwaitDebuggerAndPause(V8Isolate.Handle hIsolate) + { + V8Isolate_AwaitDebuggerAndPause(hIsolate); + } + + V8Script.Handle IV8SplitProxyNative.V8Isolate_Compile(V8Isolate.Handle hIsolate, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + return V8Isolate_Compile(hIsolate, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value); + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Isolate_CompileProducingCache(V8Isolate.Handle hIsolate, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, V8CacheKind cacheKind, out byte[] cacheBytes) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var cacheBytesScope = StdByteArray.CreateScope()) + { + var hScript = V8Isolate_CompileProducingCache(hIsolate, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, cacheKind, cacheBytesScope.Value); + cacheBytes = StdByteArray.ToArray(cacheBytesScope.Value); + return hScript; + } + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Isolate_CompileConsumingCache(V8Isolate.Handle hIsolate, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, V8CacheKind cacheKind, byte[] cacheBytes, out bool cacheAccepted) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var cacheBytesScope = StdByteArray.CreateScope(cacheBytes)) + { + return V8Isolate_CompileConsumingCache(hIsolate, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, cacheKind, cacheBytesScope.Value, out cacheAccepted); + } + } + } + } + } + + void IV8SplitProxyNative.V8Isolate_GetHeapStatistics(V8Isolate.Handle hIsolate, out ulong totalHeapSize, out ulong totalHeapSizeExecutable, out ulong totalPhysicalSize, out ulong usedHeapSize, out ulong heapSizeLimit) + { + V8Isolate_GetHeapStatistics(hIsolate, out totalHeapSize, out totalHeapSizeExecutable, out totalPhysicalSize, out usedHeapSize, out heapSizeLimit); + } + + void IV8SplitProxyNative.V8Isolate_GetStatistics(V8Isolate.Handle hIsolate, out ulong scriptCount, out ulong scriptCacheSize, out ulong moduleCount, out ulong[] postedTaskCounts, out ulong[] invokedTaskCounts) + { + using (var postedTaskCountsScope = StdUInt64Array.CreateScope()) + { + using (var invokedTaskCountsScope = StdUInt64Array.CreateScope()) + { + V8Isolate_GetStatistics(hIsolate, out scriptCount, out scriptCacheSize, out moduleCount, postedTaskCountsScope.Value, invokedTaskCountsScope.Value); + postedTaskCounts = StdUInt64Array.ToArray(postedTaskCountsScope.Value); + invokedTaskCounts = StdUInt64Array.ToArray(invokedTaskCountsScope.Value); + } + } + } + + void IV8SplitProxyNative.V8Isolate_CollectGarbage(V8Isolate.Handle hIsolate, bool exhaustive) + { + V8Isolate_CollectGarbage(hIsolate, exhaustive); + } + + bool IV8SplitProxyNative.V8Isolate_BeginCpuProfile(V8Isolate.Handle hIsolate, string name, bool recordSamples) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Isolate_BeginCpuProfile(hIsolate, nameScope.Value, recordSamples); + } + } + + void IV8SplitProxyNative.V8Isolate_EndCpuProfile(V8Isolate.Handle hIsolate, string name, IntPtr pAction) + { + using (var nameScope = StdString.CreateScope(name)) + { + V8Isolate_EndCpuProfile(hIsolate, nameScope.Value, pAction); + } + } + + void IV8SplitProxyNative.V8Isolate_CollectCpuProfileSample(V8Isolate.Handle hIsolate) + { + V8Isolate_CollectCpuProfileSample(hIsolate); + } + + uint IV8SplitProxyNative.V8Isolate_GetCpuProfileSampleInterval(V8Isolate.Handle hIsolate) + { + return V8Isolate_GetCpuProfileSampleInterval(hIsolate); + } + + void IV8SplitProxyNative.V8Isolate_SetCpuProfileSampleInterval(V8Isolate.Handle hIsolate, uint value) + { + V8Isolate_SetCpuProfileSampleInterval(hIsolate, value); + } + + #endregion + + #region V8 context methods + + UIntPtr IV8SplitProxyNative.V8Context_GetMaxIsolateHeapSize(V8Context.Handle hContext) + { + return V8Context_GetMaxIsolateHeapSize(hContext); + } + + void IV8SplitProxyNative.V8Context_SetMaxIsolateHeapSize(V8Context.Handle hContext, UIntPtr size) + { + V8Context_SetMaxIsolateHeapSize(hContext, size); + } + + double IV8SplitProxyNative.V8Context_GetIsolateHeapSizeSampleInterval(V8Context.Handle hContext) + { + return V8Context_GetIsolateHeapSizeSampleInterval(hContext); + } + + void IV8SplitProxyNative.V8Context_SetIsolateHeapSizeSampleInterval(V8Context.Handle hContext, double milliseconds) + { + V8Context_SetIsolateHeapSizeSampleInterval(hContext, milliseconds); + } + + UIntPtr IV8SplitProxyNative.V8Context_GetMaxIsolateStackUsage(V8Context.Handle hContext) + { + return V8Context_GetMaxIsolateStackUsage(hContext); + } + + void IV8SplitProxyNative.V8Context_SetMaxIsolateStackUsage(V8Context.Handle hContext, UIntPtr size) + { + V8Context_SetMaxIsolateStackUsage(hContext, size); + } + + void IV8SplitProxyNative.V8Context_InvokeWithLock(V8Context.Handle hContext, IntPtr pAction) + { + V8Context_InvokeWithLock(hContext, pAction); + } + + object IV8SplitProxyNative.V8Context_GetRootItem(V8Context.Handle hContext) + { + using (var itemScope = V8Value.CreateScope()) + { + V8Context_GetRootItem(hContext, itemScope.Value); + return V8Value.Get(itemScope.Value); + } + } + + void IV8SplitProxyNative.V8Context_AddGlobalItem(V8Context.Handle hContext, string name, object value, bool globalMembers) + { + using (var nameScope = StdString.CreateScope(name)) + { + using (var valueScope = V8Value.CreateScope(value)) + { + V8Context_AddGlobalItem(hContext, nameScope.Value, valueScope.Value, globalMembers); + } + } + } + + void IV8SplitProxyNative.V8Context_AwaitDebuggerAndPause(V8Context.Handle hContext) + { + V8Context_AwaitDebuggerAndPause(hContext); + } + + object IV8SplitProxyNative.V8Context_ExecuteCode(V8Context.Handle hContext, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, bool evaluate) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var resultScope = V8Value.CreateScope()) + { + V8Context_ExecuteCode(hContext, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, evaluate, resultScope.Value); + return V8Value.Get(resultScope.Value); + } + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Context_Compile(V8Context.Handle hContext, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + return V8Context_Compile(hContext, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value); + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Context_CompileProducingCache(V8Context.Handle hContext, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, V8CacheKind cacheKind, out byte[] cacheBytes) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var cacheBytesScope = StdByteArray.CreateScope()) + { + var hScript = V8Context_CompileProducingCache(hContext, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, cacheKind, cacheBytesScope.Value); + cacheBytes = StdByteArray.ToArray(cacheBytesScope.Value); + return hScript; + } + } + } + } + } + + V8Script.Handle IV8SplitProxyNative.V8Context_CompileConsumingCache(V8Context.Handle hContext, string resourceName, string sourceMapUrl, ulong uniqueId, bool isModule, IntPtr pDocumentInfo, string code, V8CacheKind cacheKind, byte[] cacheBytes, out bool cacheAccepted) + { + using (var resourceNameScope = StdString.CreateScope(resourceName)) + { + using (var sourceMapUrlScope = StdString.CreateScope(sourceMapUrl)) + { + using (var codeScope = StdString.CreateScope(code)) + { + using (var cacheBytesScope = StdByteArray.CreateScope(cacheBytes)) + { + return V8Context_CompileConsumingCache(hContext, resourceNameScope.Value, sourceMapUrlScope.Value, uniqueId, isModule, pDocumentInfo, codeScope.Value, cacheKind, cacheBytesScope.Value, out cacheAccepted); + } + } + } + } + } + + object IV8SplitProxyNative.V8Context_ExecuteScript(V8Context.Handle hContext, V8Script.Handle hScript, bool evaluate) + { + using (var resultScope = V8Value.CreateScope()) + { + V8Context_ExecuteScript(hContext, hScript, evaluate, resultScope.Value); + return V8Value.Get(resultScope.Value); + } + } + + void IV8SplitProxyNative.V8Context_Interrupt(V8Context.Handle hContext) + { + V8Context_Interrupt(hContext); + } + + void IV8SplitProxyNative.V8Context_GetIsolateHeapStatistics(V8Context.Handle hContext, out ulong totalHeapSize, out ulong totalHeapSizeExecutable, out ulong totalPhysicalSize, out ulong usedHeapSize, out ulong heapSizeLimit) + { + V8Context_GetIsolateHeapStatistics(hContext, out totalHeapSize, out totalHeapSizeExecutable, out totalPhysicalSize, out usedHeapSize, out heapSizeLimit); + } + + void IV8SplitProxyNative.V8Context_GetIsolateStatistics(V8Context.Handle hContext, out ulong scriptCount, out ulong scriptCacheSize, out ulong moduleCount, out ulong[] postedTaskCounts, out ulong[] invokedTaskCounts) + { + using (var postedTaskCountsScope = StdUInt64Array.CreateScope()) + { + using (var invokedTaskCountsScope = StdUInt64Array.CreateScope()) + { + V8Context_GetIsolateStatistics(hContext, out scriptCount, out scriptCacheSize, out moduleCount, postedTaskCountsScope.Value, invokedTaskCountsScope.Value); + postedTaskCounts = StdUInt64Array.ToArray(postedTaskCountsScope.Value); + invokedTaskCounts = StdUInt64Array.ToArray(invokedTaskCountsScope.Value); + } + } + } + + void IV8SplitProxyNative.V8Context_GetStatistics(V8Context.Handle hContext, out ulong scriptCount, out ulong moduleCount, out ulong moduleCacheSize) + { + V8Context_GetStatistics(hContext, out scriptCount, out moduleCount, out moduleCacheSize); + } + + void IV8SplitProxyNative.V8Context_CollectGarbage(V8Context.Handle hContext, bool exhaustive) + { + V8Context_CollectGarbage(hContext, exhaustive); + } + + void IV8SplitProxyNative.V8Context_OnAccessSettingsChanged(V8Context.Handle hContext) + { + V8Context_OnAccessSettingsChanged(hContext); + } + + bool IV8SplitProxyNative.V8Context_BeginCpuProfile(V8Context.Handle hContext, string name, bool recordSamples) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Context_BeginCpuProfile(hContext, nameScope.Value, recordSamples); + } + } + + void IV8SplitProxyNative.V8Context_EndCpuProfile(V8Context.Handle hContext, string name, IntPtr pAction) + { + using (var nameScope = StdString.CreateScope(name)) + { + V8Context_EndCpuProfile(hContext, nameScope.Value, pAction); + } + } + + void IV8SplitProxyNative.V8Context_CollectCpuProfileSample(V8Context.Handle hContext) + { + V8Context_CollectCpuProfileSample(hContext); + } + + uint IV8SplitProxyNative.V8Context_GetCpuProfileSampleInterval(V8Context.Handle hContext) + { + return V8Context_GetCpuProfileSampleInterval(hContext); + } + + void IV8SplitProxyNative.V8Context_SetCpuProfileSampleInterval(V8Context.Handle hContext, uint value) + { + V8Context_SetCpuProfileSampleInterval(hContext, value); + } + + #endregion + + #region V8 object methods + + object IV8SplitProxyNative.V8Object_GetNamedProperty(V8Object.Handle hObject, string name) + { + using (var nameScope = StdString.CreateScope(name)) + { + using (var valueScope = V8Value.CreateScope()) + { + V8Object_GetNamedProperty(hObject, nameScope.Value, valueScope.Value); + return V8Value.Get(valueScope.Value); + } + } + } + + void IV8SplitProxyNative.V8Object_SetNamedProperty(V8Object.Handle hObject, string name, object value) + { + using (var nameScope = StdString.CreateScope(name)) + { + using (var valueScope = V8Value.CreateScope(value)) + { + V8Object_SetNamedProperty(hObject, nameScope.Value, valueScope.Value); + } + } + } + + bool IV8SplitProxyNative.V8Object_DeleteNamedProperty(V8Object.Handle hObject, string name) + { + using (var nameScope = StdString.CreateScope(name)) + { + return V8Object_DeleteNamedProperty(hObject, nameScope.Value); + } + } + + string[] IV8SplitProxyNative.V8Object_GetPropertyNames(V8Object.Handle hObject) + { + using (var namesScope = StdStringArray.CreateScope()) + { + V8Object_GetPropertyNames(hObject, namesScope.Value); + return StdStringArray.ToArray(namesScope.Value); + } + } + + object IV8SplitProxyNative.V8Object_GetIndexedProperty(V8Object.Handle hObject, int index) + { + using (var valueScope = V8Value.CreateScope()) + { + V8Object_GetIndexedProperty(hObject, index, valueScope.Value); + return V8Value.Get(valueScope.Value); + } + } + + void IV8SplitProxyNative.V8Object_SetIndexedProperty(V8Object.Handle hObject, int index, object value) + { + using (var valueScope = V8Value.CreateScope(value)) + { + V8Object_SetIndexedProperty(hObject, index, valueScope.Value); + } + } + + bool IV8SplitProxyNative.V8Object_DeleteIndexedProperty(V8Object.Handle hObject, int index) + { + return V8Object_DeleteIndexedProperty(hObject, index); + } + + int[] IV8SplitProxyNative.V8Object_GetPropertyIndices(V8Object.Handle hObject) + { + using (var indicesScope = StdInt32Array.CreateScope()) + { + V8Object_GetPropertyIndices(hObject, indicesScope.Value); + return StdInt32Array.ToArray(indicesScope.Value); + } + } + + object IV8SplitProxyNative.V8Object_Invoke(V8Object.Handle hObject, bool asConstructor, object[] args) + { + using (var argsScope = StdV8ValueArray.CreateScope(args)) + { + using (var resultScope = V8Value.CreateScope()) + { + V8Object_Invoke(hObject, asConstructor, argsScope.Value, resultScope.Value); + return V8Value.Get(resultScope.Value); + } + } + } + + object IV8SplitProxyNative.V8Object_InvokeMethod(V8Object.Handle hObject, string name, object[] args) + { + using (var nameScope = StdString.CreateScope(name)) + { + using (var argsScope = StdV8ValueArray.CreateScope(args)) + { + using (var resultScope = V8Value.CreateScope()) + { + V8Object_InvokeMethod(hObject, nameScope.Value, argsScope.Value, resultScope.Value); + return V8Value.Get(resultScope.Value); + } + } + } + } + + void IV8SplitProxyNative.V8Object_GetArrayBufferOrViewInfo(V8Object.Handle hObject, out IV8Object arrayBuffer, out ulong offset, out ulong size, out ulong length) + { + using (var arrayBufferScope = V8Value.CreateScope()) + { + V8Object_GetArrayBufferOrViewInfo(hObject, arrayBufferScope.Value, out offset, out size, out length); + arrayBuffer = (IV8Object)V8Value.Get(arrayBufferScope.Value); + } + } + + void IV8SplitProxyNative.V8Object_InvokeWithArrayBufferOrViewData(V8Object.Handle hObject, IntPtr pAction) + { + V8Object_InvokeWithArrayBufferOrViewData(hObject, pAction); + } + + #endregion + + #region V8 debug callback methods + + void IV8SplitProxyNative.V8DebugCallback_ConnectClient(V8DebugCallback.Handle hCallback) + { + V8DebugCallback_ConnectClient(hCallback); + } + + void IV8SplitProxyNative.V8DebugCallback_SendCommand(V8DebugCallback.Handle hCallback, string command) + { + using (var commandScope = StdString.CreateScope(command)) + { + V8DebugCallback_SendCommand(hCallback, commandScope.Value); + } + } + + void IV8SplitProxyNative.V8DebugCallback_DisconnectClient(V8DebugCallback.Handle hCallback) + { + V8DebugCallback_DisconnectClient(hCallback); + } + + #endregion + + #region native callback methods + + void IV8SplitProxyNative.NativeCallback_Invoke(NativeCallback.Handle hCallback) + { + NativeCallback_Invoke(hCallback); + } + + #endregion + + #region V8 entity cleanup + + void IV8SplitProxyNative.V8Entity_Release(V8Entity.Handle hEntity) + { + V8Entity_Release(hEntity); + } + + void IV8SplitProxyNative.V8Entity_DestroyHandle(V8Entity.Handle hEntity) + { + V8Entity_DestroyHandle(hEntity); + } + + #endregion + + #region error handling + + void IV8SplitProxyNative.HostException_Schedule(string message, object exception) + { + using (var messageScope = StdString.CreateScope(message)) + { + using (var exceptionScope = V8Value.CreateScope(exception)) + { + HostException_Schedule(messageScope.Value, exceptionScope.Value); + } + } + } + + #endregion + + #region unit test support + + UIntPtr IV8SplitProxyNative.V8UnitTestSupport_GetTextDigest(string value) + { + using (var valueScope = StdString.CreateScope(value)) + { + return V8UnitTestSupport_GetTextDigest(valueScope.Value); + } + } + + void IV8SplitProxyNative.V8UnitTestSupport_GetStatistics(out ulong isolateCount, out ulong contextCount) + { + V8UnitTestSupport_GetStatistics(out isolateCount, out contextCount); + } + + #endregion + + #endregion + + #region native methods + + #region initialization + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr V8SplitProxyManaged_SetMethodTable( + [In] IntPtr pMethodTable + ); + + #endregion + + #region StdString methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern StdString.Ptr StdString_New( + [In] [MarshalAs(UnmanagedType.LPWStr)] string value, + [In] int length + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdString_GetValue( + [In] StdString.Ptr pString, + [Out] out int length + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdString_SetValue( + [In] StdString.Ptr pString, + [In] [MarshalAs(UnmanagedType.LPWStr)] string value, + [In] int length + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdString_Delete( + [In] StdString.Ptr pString + ); + + #endregion + + #region StdStringArray methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern StdStringArray.Ptr StdStringArray_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdStringArray_GetElementCount( + [In] StdStringArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdStringArray_SetElementCount( + [In] StdStringArray.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdStringArray_GetElement( + [In] StdStringArray.Ptr pArray, + [In] int index, + [Out] out int length + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdStringArray_SetElement( + [In] StdStringArray.Ptr pArray, + [In] int index, + [In] [MarshalAs(UnmanagedType.LPWStr)] string value, + [In] int length + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdStringArray_Delete( + [In] StdStringArray.Ptr pArray + ); + + #endregion + + #region StdByteArray methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern StdByteArray.Ptr StdByteArray_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdByteArray_GetElementCount( + [In] StdByteArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdByteArray_SetElementCount( + [In] StdByteArray.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdByteArray_GetData( + [In] StdByteArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdByteArray_Delete( + [In] StdByteArray.Ptr pArray + ); + + #endregion + + #region StdInt32Array methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern StdInt32Array.Ptr StdInt32Array_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdInt32Array_GetElementCount( + [In] StdInt32Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdInt32Array_SetElementCount( + [In] StdInt32Array.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdInt32Array_GetData( + [In] StdInt32Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdInt32Array_Delete( + [In] StdInt32Array.Ptr pArray + ); + + #endregion + + #region StdUInt32Array methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern StdUInt32Array.Ptr StdUInt32Array_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdUInt32Array_GetElementCount( + [In] StdUInt32Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdUInt32Array_SetElementCount( + [In] StdUInt32Array.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdUInt32Array_GetData( + [In] StdUInt32Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdUInt32Array_Delete( + [In] StdUInt32Array.Ptr pArray + ); + + #endregion + + #region StdUInt64Array methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern StdUInt64Array.Ptr StdUInt64Array_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdUInt64Array_GetElementCount( + [In] StdUInt64Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdUInt64Array_SetElementCount( + [In] StdUInt64Array.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdUInt64Array_GetData( + [In] StdUInt64Array.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdUInt64Array_Delete( + [In] StdUInt64Array.Ptr pArray + ); + + #endregion + + #region StdPtrArray methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern StdPtrArray.Ptr StdPtrArray_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdPtrArray_GetElementCount( + [In] StdPtrArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdPtrArray_SetElementCount( + [In] StdPtrArray.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern IntPtr StdPtrArray_GetData( + [In] StdPtrArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdPtrArray_Delete( + [In] StdPtrArray.Ptr pArray + ); + + #endregion + + #region StdV8ValueArray methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern StdV8ValueArray.Ptr StdV8ValueArray_New( + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern int StdV8ValueArray_GetElementCount( + [In] StdV8ValueArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdV8ValueArray_SetElementCount( + [In] StdV8ValueArray.Ptr pArray, + [In] int elementCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Value.Ptr StdV8ValueArray_GetData( + [In] StdV8ValueArray.Ptr pArray + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void StdV8ValueArray_Delete( + [In] StdV8ValueArray.Ptr pArray + ); + + #endregion + + #region V8Value methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Value.Ptr V8Value_New(); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetNonexistent( + [In] V8Value.Ptr pV8Value + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetUndefined( + [In] V8Value.Ptr pV8Value + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetNull( + [In] V8Value.Ptr pV8Value + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetBoolean( + [In] V8Value.Ptr pV8Value, + [In] [MarshalAs(UnmanagedType.I1)] bool value + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetNumber( + [In] V8Value.Ptr pV8Value, + [In] double value + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetInt32( + [In] V8Value.Ptr pV8Value, + [In] int value + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetUInt32( + [In] V8Value.Ptr pV8Value, + [In] uint value + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetString( + [In] V8Value.Ptr pV8Value, + [In] [MarshalAs(UnmanagedType.LPWStr)] string value, + [In] int length + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetDateTime( + [In] V8Value.Ptr pV8Value, + [In] double value + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetBigInt( + [In] V8Value.Ptr pV8Value, + [In] int signBit, + [In] [MarshalAs(UnmanagedType.LPArray)] byte[] bytes, + [In] int length + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetV8Object( + [In] V8Value.Ptr pV8Value, + [In] V8Object.Handle hObject, + [In] V8Value.Subtype subtype + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_SetHostObject( + [In] V8Value.Ptr pV8Value, + [In] IntPtr pObject + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Value.Type V8Value_Decode( + [In] V8Value.Ptr pV8Value, + [Out] out int intValue, + [Out] out uint uintValue, + [Out] out double doubleValue, + [Out] out IntPtr ptrOrHandle + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Value_Delete( + [In] V8Value.Ptr pV8Value + ); + + #endregion + + #region V8CpuProfile methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8CpuProfile_GetInfo( + [In] V8CpuProfile.Ptr pProfile, + [In] V8Entity.Handle hEntity, + [In] StdString.Ptr pName, + [Out] out ulong startTimestamp, + [Out] out ulong endTimestamp, + [Out] out int sampleCount, + [Out] out V8CpuProfile.Node.Ptr pRootNode + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8CpuProfile_GetSample( + [In] V8CpuProfile.Ptr pProfile, + [In] int index, + [Out] out ulong nodeId, + [Out] out ulong timestamp + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8CpuProfileNode_GetInfo( + [In] V8CpuProfile.Node.Ptr pNode, + [In] V8Entity.Handle hEntity, + [Out] out ulong nodeId, + [Out] out long scriptId, + [In] StdString.Ptr pScriptName, + [In] StdString.Ptr pFunctionName, + [In] StdString.Ptr pBailoutReason, + [Out] out long lineNumber, + [Out] out long columnNumber, + [Out] out ulong hitCount, + [Out] out uint hitLineCount, + [Out] out int childCount + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8CpuProfileNode_GetHitLines( + [In] V8CpuProfile.Node.Ptr pNode, + [In] StdInt32Array.Ptr pLineNumbers, + [In] StdUInt32Array.Ptr pHitCounts + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern V8CpuProfile.Node.Ptr V8CpuProfileNode_GetChildNode( + [In] V8CpuProfile.Node.Ptr pNode, + [In] int index + ); + + #endregion + + #region V8 isolate methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Isolate.Handle V8Isolate_Create( + [In] StdString.Ptr pName, + [In] int maxNewSpaceSize, + [In] int maxOldSpaceSize, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDebugging, + [In] [MarshalAs(UnmanagedType.I1)] bool enableRemoteDebugging, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDynamicModuleImports, + [In] int debugPort + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Context.Handle V8Isolate_CreateContext( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pName, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDebugging, + [In] [MarshalAs(UnmanagedType.I1)] bool enableRemoteDebugging, + [In] [MarshalAs(UnmanagedType.I1)] bool disableGlobalMembers, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDateTimeConversion, + [In] [MarshalAs(UnmanagedType.I1)] bool enableDynamicModuleImports, + [In] int debugPort + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8Isolate_GetMaxHeapSize( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_SetMaxHeapSize( + [In] V8Isolate.Handle hIsolate, + [In] UIntPtr size + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern double V8Isolate_GetHeapSizeSampleInterval( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_SetHeapSizeSampleInterval( + [In] V8Isolate.Handle hIsolate, + [In] double milliseconds + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8Isolate_GetMaxStackUsage( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_SetMaxStackUsage( + [In] V8Isolate.Handle hIsolate, + [In] UIntPtr size + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_AwaitDebuggerAndPause( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Isolate_Compile( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Isolate_CompileProducingCache( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] V8CacheKind cacheKind, + [In] StdByteArray.Ptr pCacheBytes + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Isolate_CompileConsumingCache( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] V8CacheKind cacheKind, + [In] StdByteArray.Ptr pCacheBytes, + [Out] [MarshalAs(UnmanagedType.I1)] out bool cacheAccepted + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_GetHeapStatistics( + [In] V8Isolate.Handle hIsolate, + [Out] out ulong totalHeapSize, + [Out] out ulong totalHeapSizeExecutable, + [Out] out ulong totalPhysicalSize, + [Out] out ulong usedHeapSize, + [Out] out ulong heapSizeLimit + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_GetStatistics( + [In] V8Isolate.Handle hIsolate, + [Out] out ulong scriptCount, + [Out] out ulong scriptCacheSize, + [Out] out ulong moduleCount, + [In] StdUInt64Array.Ptr pPostedTaskCounts, + [In] StdUInt64Array.Ptr pInvokedTaskCounts + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_CollectGarbage( + [In] V8Isolate.Handle hIsolate, + [In] [MarshalAs(UnmanagedType.I1)] bool exhaustive + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8Isolate_BeginCpuProfile( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pName, + [In] [MarshalAs(UnmanagedType.I1)] bool recordSamples + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_EndCpuProfile( + [In] V8Isolate.Handle hIsolate, + [In] StdString.Ptr pName, + [In] IntPtr pAction + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_CollectCpuProfileSample( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern uint V8Isolate_GetCpuProfileSampleInterval( + [In] V8Isolate.Handle hIsolate + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Isolate_SetCpuProfileSampleInterval( + [In] V8Isolate.Handle hIsolate, + [In] uint value + ); + + #endregion + + #region V8 context methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8Context_GetMaxIsolateHeapSize( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_SetMaxIsolateHeapSize( + [In] V8Context.Handle hContext, + [In] UIntPtr size + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern double V8Context_GetIsolateHeapSizeSampleInterval( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_SetIsolateHeapSizeSampleInterval( + [In] V8Context.Handle hContext, + [In] double milliseconds + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8Context_GetMaxIsolateStackUsage( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_SetMaxIsolateStackUsage( + [In] V8Context.Handle hContext, + [In] UIntPtr size + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_InvokeWithLock( + [In] V8Context.Handle hContext, + [In] IntPtr pAction + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_GetRootItem( + [In] V8Context.Handle hContext, + [In] V8Value.Ptr pItem + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_AddGlobalItem( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pName, + [In] V8Value.Ptr pValue, + [In] [MarshalAs(UnmanagedType.I1)] bool globalMembers + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_AwaitDebuggerAndPause( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_ExecuteCode( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] [MarshalAs(UnmanagedType.I1)] bool evaluate, + [In] V8Value.Ptr pResult + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Context_Compile( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Context_CompileProducingCache( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] V8CacheKind cacheKind, + [In] StdByteArray.Ptr pCacheBytes + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern V8Script.Handle V8Context_CompileConsumingCache( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pResourceName, + [In] StdString.Ptr pSourceMapUrl, + [In] ulong uniqueId, + [In] [MarshalAs(UnmanagedType.I1)] bool isModule, + [In] IntPtr pDocumentInfo, + [In] StdString.Ptr pCode, + [In] V8CacheKind cacheKind, + [In] StdByteArray.Ptr pCacheBytes, + [Out] [MarshalAs(UnmanagedType.I1)] out bool cacheAccepted + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_ExecuteScript( + [In] V8Context.Handle hContext, + [In] V8Script.Handle hScript, + [In] [MarshalAs(UnmanagedType.I1)] bool evaluate, + [In] V8Value.Ptr pResult + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_Interrupt( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_GetIsolateHeapStatistics( + [In] V8Context.Handle hContext, + [Out] out ulong totalHeapSize, + [Out] out ulong totalHeapSizeExecutable, + [Out] out ulong totalPhysicalSize, + [Out] out ulong usedHeapSize, + [Out] out ulong heapSizeLimit + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_GetIsolateStatistics( + [In] V8Context.Handle hContext, + [Out] out ulong scriptCount, + [Out] out ulong scriptCacheSize, + [Out] out ulong moduleCount, + [In] StdUInt64Array.Ptr pPostedTaskCounts, + [In] StdUInt64Array.Ptr pInvokedTaskCounts + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_GetStatistics( + [In] V8Context.Handle hContext, + [Out] out ulong scriptCount, + [Out] out ulong moduleCount, + [Out] out ulong moduleCacheSize + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_CollectGarbage( + [In] V8Context.Handle hContext, + [In] [MarshalAs(UnmanagedType.I1)] bool exhaustive + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_OnAccessSettingsChanged( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8Context_BeginCpuProfile( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pName, + [In] [MarshalAs(UnmanagedType.I1)] bool recordSamples + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_EndCpuProfile( + [In] V8Context.Handle hContext, + [In] StdString.Ptr pName, + [In] IntPtr pAction + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_CollectCpuProfileSample( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern uint V8Context_GetCpuProfileSampleInterval( + [In] V8Context.Handle hContext + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Context_SetCpuProfileSampleInterval( + [In] V8Context.Handle hContext, + [In] uint value + ); + + #endregion + + #region V8 object methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetNamedProperty( + [In] V8Object.Handle hObject, + [In] StdString.Ptr pName, + [In] V8Value.Ptr pValue + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_SetNamedProperty( + [In] V8Object.Handle hObject, + [In] StdString.Ptr pName, + [In] V8Value.Ptr pValue + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8Object_DeleteNamedProperty( + [In] V8Object.Handle hObject, + [In] StdString.Ptr pName + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetPropertyNames( + [In] V8Object.Handle hObject, + [In] StdStringArray.Ptr pNames + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetIndexedProperty( + [In] V8Object.Handle hObject, + [In] int index, + [In] V8Value.Ptr pValue + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_SetIndexedProperty( + [In] V8Object.Handle hObject, + [In] int index, + [In] V8Value.Ptr pValue + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [return: MarshalAs(UnmanagedType.I1)] + private static extern bool V8Object_DeleteIndexedProperty( + [In] V8Object.Handle hObject, + [In] int index + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetPropertyIndices( + [In] V8Object.Handle hObject, + [In] StdInt32Array.Ptr pIndices + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_Invoke( + [In] V8Object.Handle hObject, + [In] [MarshalAs(UnmanagedType.I1)] bool asConstructor, + [In] StdV8ValueArray.Ptr pArgs, + [In] V8Value.Ptr pResult + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_InvokeMethod( + [In] V8Object.Handle hObject, + [In] StdString.Ptr pName, + [In] StdV8ValueArray.Ptr pArgs, + [In] V8Value.Ptr pResult + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_GetArrayBufferOrViewInfo( + [In] V8Object.Handle hObject, + [In] V8Value.Ptr pArrayBuffer, + [Out] out ulong offset, + [Out] out ulong size, + [Out] out ulong length + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Object_InvokeWithArrayBufferOrViewData( + [In] V8Object.Handle hObject, + [In] IntPtr pAction + ); + + #endregion + + #region V8 debug callback methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8DebugCallback_ConnectClient( + [In] V8DebugCallback.Handle hCallback + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8DebugCallback_SendCommand( + [In] V8DebugCallback.Handle hCallback, + [In] StdString.Ptr pCommand + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8DebugCallback_DisconnectClient( + [In] V8DebugCallback.Handle hCallback + ); + + #endregion + + #region native callback methods + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void NativeCallback_Invoke( + [In] NativeCallback.Handle hCallback + ); + + #endregion + + #region V8 entity cleanup + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Entity_Release( + [In] V8Entity.Handle hEntity + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8Entity_DestroyHandle( + [In] V8Entity.Handle hEntity + ); + + #endregion + + #region error handling + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void HostException_Schedule( + [In] StdString.Ptr pMessage, + [In] V8Value.Ptr pException + ); + + #endregion + + #region unit test support + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern UIntPtr V8UnitTestSupport_GetTextDigest( + [In] StdString.Ptr pString + ); + + [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + private static extern void V8UnitTestSupport_GetStatistics( + [Out] out ulong isolateCount, + [Out] out ulong contextCount + ); + + #endregion + + #endregion + } + + #endregion + + + #region Nested type: MacArm64Impl + + private sealed class MacArm64Impl : IV8SplitProxyNative { - public static readonly IV8SplitProxyNative Instance = new MacX64Impl(); + public static readonly IV8SplitProxyNative Instance = new MacArm64Impl(); #region IV8SplitProxyNative implementation @@ -10339,7 +15964,7 @@ void IV8SplitProxyNative.V8UnitTestSupport_GetStatistics(out ulong isolateCount, #region initialization - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern IntPtr V8SplitProxyManaged_SetMethodTable( [In] IntPtr pMethodTable ); @@ -10348,26 +15973,26 @@ [In] IntPtr pMethodTable #region StdString methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern StdString.Ptr StdString_New( [In] [MarshalAs(UnmanagedType.LPWStr)] string value, [In] int length ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern IntPtr StdString_GetValue( [In] StdString.Ptr pString, [Out] out int length ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdString_SetValue( [In] StdString.Ptr pString, [In] [MarshalAs(UnmanagedType.LPWStr)] string value, [In] int length ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdString_Delete( [In] StdString.Ptr pString ); @@ -10376,30 +16001,30 @@ [In] StdString.Ptr pString #region StdStringArray methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern StdStringArray.Ptr StdStringArray_New( [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern int StdStringArray_GetElementCount( [In] StdStringArray.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdStringArray_SetElementCount( [In] StdStringArray.Ptr pArray, [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern IntPtr StdStringArray_GetElement( [In] StdStringArray.Ptr pArray, [In] int index, [Out] out int length ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdStringArray_SetElement( [In] StdStringArray.Ptr pArray, [In] int index, @@ -10407,7 +16032,7 @@ [In] [MarshalAs(UnmanagedType.LPWStr)] string value, [In] int length ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdStringArray_Delete( [In] StdStringArray.Ptr pArray ); @@ -10416,28 +16041,28 @@ [In] StdStringArray.Ptr pArray #region StdByteArray methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern StdByteArray.Ptr StdByteArray_New( [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern int StdByteArray_GetElementCount( [In] StdByteArray.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdByteArray_SetElementCount( [In] StdByteArray.Ptr pArray, [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern IntPtr StdByteArray_GetData( [In] StdByteArray.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdByteArray_Delete( [In] StdByteArray.Ptr pArray ); @@ -10446,28 +16071,28 @@ [In] StdByteArray.Ptr pArray #region StdInt32Array methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern StdInt32Array.Ptr StdInt32Array_New( [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern int StdInt32Array_GetElementCount( [In] StdInt32Array.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdInt32Array_SetElementCount( [In] StdInt32Array.Ptr pArray, [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern IntPtr StdInt32Array_GetData( [In] StdInt32Array.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdInt32Array_Delete( [In] StdInt32Array.Ptr pArray ); @@ -10476,28 +16101,28 @@ [In] StdInt32Array.Ptr pArray #region StdUInt32Array methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern StdUInt32Array.Ptr StdUInt32Array_New( [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern int StdUInt32Array_GetElementCount( [In] StdUInt32Array.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdUInt32Array_SetElementCount( [In] StdUInt32Array.Ptr pArray, [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern IntPtr StdUInt32Array_GetData( [In] StdUInt32Array.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdUInt32Array_Delete( [In] StdUInt32Array.Ptr pArray ); @@ -10506,28 +16131,28 @@ [In] StdUInt32Array.Ptr pArray #region StdUInt64Array methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern StdUInt64Array.Ptr StdUInt64Array_New( [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern int StdUInt64Array_GetElementCount( [In] StdUInt64Array.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdUInt64Array_SetElementCount( [In] StdUInt64Array.Ptr pArray, [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern IntPtr StdUInt64Array_GetData( [In] StdUInt64Array.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdUInt64Array_Delete( [In] StdUInt64Array.Ptr pArray ); @@ -10536,28 +16161,28 @@ [In] StdUInt64Array.Ptr pArray #region StdPtrArray methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern StdPtrArray.Ptr StdPtrArray_New( [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern int StdPtrArray_GetElementCount( [In] StdPtrArray.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdPtrArray_SetElementCount( [In] StdPtrArray.Ptr pArray, [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern IntPtr StdPtrArray_GetData( [In] StdPtrArray.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdPtrArray_Delete( [In] StdPtrArray.Ptr pArray ); @@ -10566,28 +16191,28 @@ [In] StdPtrArray.Ptr pArray #region StdV8ValueArray methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern StdV8ValueArray.Ptr StdV8ValueArray_New( [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern int StdV8ValueArray_GetElementCount( [In] StdV8ValueArray.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdV8ValueArray_SetElementCount( [In] StdV8ValueArray.Ptr pArray, [In] int elementCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern V8Value.Ptr StdV8ValueArray_GetData( [In] StdV8ValueArray.Ptr pArray ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void StdV8ValueArray_Delete( [In] StdV8ValueArray.Ptr pArray ); @@ -10596,62 +16221,62 @@ [In] StdV8ValueArray.Ptr pArray #region V8Value methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern V8Value.Ptr V8Value_New(); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_SetNonexistent( [In] V8Value.Ptr pV8Value ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_SetUndefined( [In] V8Value.Ptr pV8Value ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_SetNull( [In] V8Value.Ptr pV8Value ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_SetBoolean( [In] V8Value.Ptr pV8Value, [In] [MarshalAs(UnmanagedType.I1)] bool value ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_SetNumber( [In] V8Value.Ptr pV8Value, [In] double value ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_SetInt32( [In] V8Value.Ptr pV8Value, [In] int value ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_SetUInt32( [In] V8Value.Ptr pV8Value, [In] uint value ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_SetString( [In] V8Value.Ptr pV8Value, [In] [MarshalAs(UnmanagedType.LPWStr)] string value, [In] int length ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_SetDateTime( [In] V8Value.Ptr pV8Value, [In] double value ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_SetBigInt( [In] V8Value.Ptr pV8Value, [In] int signBit, @@ -10659,20 +16284,20 @@ [In] [MarshalAs(UnmanagedType.LPArray)] byte[] bytes, [In] int length ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_SetV8Object( [In] V8Value.Ptr pV8Value, [In] V8Object.Handle hObject, [In] V8Value.Subtype subtype ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_SetHostObject( [In] V8Value.Ptr pV8Value, [In] IntPtr pObject ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern V8Value.Type V8Value_Decode( [In] V8Value.Ptr pV8Value, [Out] out int intValue, @@ -10681,7 +16306,7 @@ private static extern V8Value.Type V8Value_Decode( [Out] out IntPtr ptrOrHandle ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Value_Delete( [In] V8Value.Ptr pV8Value ); @@ -10690,7 +16315,7 @@ [In] V8Value.Ptr pV8Value #region V8CpuProfile methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8CpuProfile_GetInfo( [In] V8CpuProfile.Ptr pProfile, [In] V8Entity.Handle hEntity, @@ -10701,7 +16326,7 @@ private static extern void V8CpuProfile_GetInfo( [Out] out V8CpuProfile.Node.Ptr pRootNode ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs(UnmanagedType.I1)] private static extern bool V8CpuProfile_GetSample( [In] V8CpuProfile.Ptr pProfile, @@ -10710,7 +16335,7 @@ private static extern bool V8CpuProfile_GetSample( [Out] out ulong timestamp ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8CpuProfileNode_GetInfo( [In] V8CpuProfile.Node.Ptr pNode, [In] V8Entity.Handle hEntity, @@ -10726,7 +16351,7 @@ private static extern void V8CpuProfileNode_GetInfo( [Out] out int childCount ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs(UnmanagedType.I1)] private static extern bool V8CpuProfileNode_GetHitLines( [In] V8CpuProfile.Node.Ptr pNode, @@ -10734,7 +16359,7 @@ private static extern bool V8CpuProfileNode_GetHitLines( [In] StdUInt32Array.Ptr pHitCounts ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern V8CpuProfile.Node.Ptr V8CpuProfileNode_GetChildNode( [In] V8CpuProfile.Node.Ptr pNode, [In] int index @@ -10744,7 +16369,7 @@ [In] int index #region V8 isolate methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern V8Isolate.Handle V8Isolate_Create( [In] StdString.Ptr pName, [In] int maxNewSpaceSize, @@ -10755,7 +16380,7 @@ [In] [MarshalAs(UnmanagedType.I1)] bool enableDynamicModuleImports, [In] int debugPort ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern V8Context.Handle V8Isolate_CreateContext( [In] V8Isolate.Handle hIsolate, [In] StdString.Ptr pName, @@ -10767,45 +16392,45 @@ [In] [MarshalAs(UnmanagedType.I1)] bool enableDynamicModuleImports, [In] int debugPort ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern UIntPtr V8Isolate_GetMaxHeapSize( [In] V8Isolate.Handle hIsolate ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Isolate_SetMaxHeapSize( [In] V8Isolate.Handle hIsolate, [In] UIntPtr size ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern double V8Isolate_GetHeapSizeSampleInterval( [In] V8Isolate.Handle hIsolate ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Isolate_SetHeapSizeSampleInterval( [In] V8Isolate.Handle hIsolate, [In] double milliseconds ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern UIntPtr V8Isolate_GetMaxStackUsage( [In] V8Isolate.Handle hIsolate ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Isolate_SetMaxStackUsage( [In] V8Isolate.Handle hIsolate, [In] UIntPtr size ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Isolate_AwaitDebuggerAndPause( [In] V8Isolate.Handle hIsolate ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern V8Script.Handle V8Isolate_Compile( [In] V8Isolate.Handle hIsolate, [In] StdString.Ptr pResourceName, @@ -10816,7 +16441,7 @@ [In] [MarshalAs(UnmanagedType.I1)] bool isModule, [In] StdString.Ptr pCode ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern V8Script.Handle V8Isolate_CompileProducingCache( [In] V8Isolate.Handle hIsolate, [In] StdString.Ptr pResourceName, @@ -10829,7 +16454,7 @@ [In] [MarshalAs(UnmanagedType.I1)] bool isModule, [In] StdByteArray.Ptr pCacheBytes ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern V8Script.Handle V8Isolate_CompileConsumingCache( [In] V8Isolate.Handle hIsolate, [In] StdString.Ptr pResourceName, @@ -10843,7 +16468,7 @@ [In] [MarshalAs(UnmanagedType.I1)] bool isModule, [Out] [MarshalAs(UnmanagedType.I1)] out bool cacheAccepted ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Isolate_GetHeapStatistics( [In] V8Isolate.Handle hIsolate, [Out] out ulong totalHeapSize, @@ -10853,7 +16478,7 @@ private static extern void V8Isolate_GetHeapStatistics( [Out] out ulong heapSizeLimit ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Isolate_GetStatistics( [In] V8Isolate.Handle hIsolate, [Out] out ulong scriptCount, @@ -10863,13 +16488,13 @@ private static extern void V8Isolate_GetStatistics( [In] StdUInt64Array.Ptr pInvokedTaskCounts ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Isolate_CollectGarbage( [In] V8Isolate.Handle hIsolate, [In] [MarshalAs(UnmanagedType.I1)] bool exhaustive ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs(UnmanagedType.I1)] private static extern bool V8Isolate_BeginCpuProfile( [In] V8Isolate.Handle hIsolate, @@ -10877,24 +16502,24 @@ private static extern bool V8Isolate_BeginCpuProfile( [In] [MarshalAs(UnmanagedType.I1)] bool recordSamples ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Isolate_EndCpuProfile( [In] V8Isolate.Handle hIsolate, [In] StdString.Ptr pName, [In] IntPtr pAction ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Isolate_CollectCpuProfileSample( [In] V8Isolate.Handle hIsolate ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern uint V8Isolate_GetCpuProfileSampleInterval( [In] V8Isolate.Handle hIsolate ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Isolate_SetCpuProfileSampleInterval( [In] V8Isolate.Handle hIsolate, [In] uint value @@ -10904,52 +16529,52 @@ [In] uint value #region V8 context methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern UIntPtr V8Context_GetMaxIsolateHeapSize( [In] V8Context.Handle hContext ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_SetMaxIsolateHeapSize( [In] V8Context.Handle hContext, [In] UIntPtr size ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern double V8Context_GetIsolateHeapSizeSampleInterval( [In] V8Context.Handle hContext ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_SetIsolateHeapSizeSampleInterval( [In] V8Context.Handle hContext, [In] double milliseconds ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern UIntPtr V8Context_GetMaxIsolateStackUsage( [In] V8Context.Handle hContext ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_SetMaxIsolateStackUsage( [In] V8Context.Handle hContext, [In] UIntPtr size ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_InvokeWithLock( [In] V8Context.Handle hContext, [In] IntPtr pAction ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_GetRootItem( [In] V8Context.Handle hContext, [In] V8Value.Ptr pItem ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_AddGlobalItem( [In] V8Context.Handle hContext, [In] StdString.Ptr pName, @@ -10957,12 +16582,12 @@ private static extern void V8Context_AddGlobalItem( [In] [MarshalAs(UnmanagedType.I1)] bool globalMembers ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_AwaitDebuggerAndPause( [In] V8Context.Handle hContext ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_ExecuteCode( [In] V8Context.Handle hContext, [In] StdString.Ptr pResourceName, @@ -10975,7 +16600,7 @@ [In] [MarshalAs(UnmanagedType.I1)] bool evaluate, [In] V8Value.Ptr pResult ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern V8Script.Handle V8Context_Compile( [In] V8Context.Handle hContext, [In] StdString.Ptr pResourceName, @@ -10986,7 +16611,7 @@ [In] [MarshalAs(UnmanagedType.I1)] bool isModule, [In] StdString.Ptr pCode ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern V8Script.Handle V8Context_CompileProducingCache( [In] V8Context.Handle hContext, [In] StdString.Ptr pResourceName, @@ -10999,7 +16624,7 @@ [In] [MarshalAs(UnmanagedType.I1)] bool isModule, [In] StdByteArray.Ptr pCacheBytes ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern V8Script.Handle V8Context_CompileConsumingCache( [In] V8Context.Handle hContext, [In] StdString.Ptr pResourceName, @@ -11013,7 +16638,7 @@ [In] [MarshalAs(UnmanagedType.I1)] bool isModule, [Out] [MarshalAs(UnmanagedType.I1)] out bool cacheAccepted ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_ExecuteScript( [In] V8Context.Handle hContext, [In] V8Script.Handle hScript, @@ -11021,12 +16646,12 @@ [In] [MarshalAs(UnmanagedType.I1)] bool evaluate, [In] V8Value.Ptr pResult ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_Interrupt( [In] V8Context.Handle hContext ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_GetIsolateHeapStatistics( [In] V8Context.Handle hContext, [Out] out ulong totalHeapSize, @@ -11036,7 +16661,7 @@ private static extern void V8Context_GetIsolateHeapStatistics( [Out] out ulong heapSizeLimit ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_GetIsolateStatistics( [In] V8Context.Handle hContext, [Out] out ulong scriptCount, @@ -11046,7 +16671,7 @@ private static extern void V8Context_GetIsolateStatistics( [In] StdUInt64Array.Ptr pInvokedTaskCounts ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_GetStatistics( [In] V8Context.Handle hContext, [Out] out ulong scriptCount, @@ -11054,18 +16679,18 @@ private static extern void V8Context_GetStatistics( [Out] out ulong moduleCacheSize ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_CollectGarbage( [In] V8Context.Handle hContext, [In] [MarshalAs(UnmanagedType.I1)] bool exhaustive ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_OnAccessSettingsChanged( [In] V8Context.Handle hContext ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs(UnmanagedType.I1)] private static extern bool V8Context_BeginCpuProfile( [In] V8Context.Handle hContext, @@ -11073,24 +16698,24 @@ private static extern bool V8Context_BeginCpuProfile( [In] [MarshalAs(UnmanagedType.I1)] bool recordSamples ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_EndCpuProfile( [In] V8Context.Handle hContext, [In] StdString.Ptr pName, [In] IntPtr pAction ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_CollectCpuProfileSample( [In] V8Context.Handle hContext ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern uint V8Context_GetCpuProfileSampleInterval( [In] V8Context.Handle hContext ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Context_SetCpuProfileSampleInterval( [In] V8Context.Handle hContext, [In] uint value @@ -11100,61 +16725,61 @@ [In] uint value #region V8 object methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Object_GetNamedProperty( [In] V8Object.Handle hObject, [In] StdString.Ptr pName, [In] V8Value.Ptr pValue ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Object_SetNamedProperty( [In] V8Object.Handle hObject, [In] StdString.Ptr pName, [In] V8Value.Ptr pValue ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs(UnmanagedType.I1)] private static extern bool V8Object_DeleteNamedProperty( [In] V8Object.Handle hObject, [In] StdString.Ptr pName ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Object_GetPropertyNames( [In] V8Object.Handle hObject, [In] StdStringArray.Ptr pNames ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Object_GetIndexedProperty( [In] V8Object.Handle hObject, [In] int index, [In] V8Value.Ptr pValue ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Object_SetIndexedProperty( [In] V8Object.Handle hObject, [In] int index, [In] V8Value.Ptr pValue ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] [return: MarshalAs(UnmanagedType.I1)] private static extern bool V8Object_DeleteIndexedProperty( [In] V8Object.Handle hObject, [In] int index ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Object_GetPropertyIndices( [In] V8Object.Handle hObject, [In] StdInt32Array.Ptr pIndices ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Object_Invoke( [In] V8Object.Handle hObject, [In] [MarshalAs(UnmanagedType.I1)] bool asConstructor, @@ -11162,7 +16787,7 @@ [In] [MarshalAs(UnmanagedType.I1)] bool asConstructor, [In] V8Value.Ptr pResult ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Object_InvokeMethod( [In] V8Object.Handle hObject, [In] StdString.Ptr pName, @@ -11170,7 +16795,7 @@ private static extern void V8Object_InvokeMethod( [In] V8Value.Ptr pResult ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Object_GetArrayBufferOrViewInfo( [In] V8Object.Handle hObject, [In] V8Value.Ptr pArrayBuffer, @@ -11179,7 +16804,7 @@ private static extern void V8Object_GetArrayBufferOrViewInfo( [Out] out ulong length ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Object_InvokeWithArrayBufferOrViewData( [In] V8Object.Handle hObject, [In] IntPtr pAction @@ -11189,18 +16814,18 @@ [In] IntPtr pAction #region V8 debug callback methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8DebugCallback_ConnectClient( [In] V8DebugCallback.Handle hCallback ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8DebugCallback_SendCommand( [In] V8DebugCallback.Handle hCallback, [In] StdString.Ptr pCommand ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8DebugCallback_DisconnectClient( [In] V8DebugCallback.Handle hCallback ); @@ -11209,7 +16834,7 @@ [In] V8DebugCallback.Handle hCallback #region native callback methods - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void NativeCallback_Invoke( [In] NativeCallback.Handle hCallback ); @@ -11218,12 +16843,12 @@ [In] NativeCallback.Handle hCallback #region V8 entity cleanup - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Entity_Release( [In] V8Entity.Handle hEntity ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8Entity_DestroyHandle( [In] V8Entity.Handle hEntity ); @@ -11232,7 +16857,7 @@ [In] V8Entity.Handle hEntity #region error handling - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void HostException_Schedule( [In] StdString.Ptr pMessage, [In] V8Value.Ptr pException @@ -11242,12 +16867,12 @@ [In] V8Value.Ptr pException #region unit test support - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern UIntPtr V8UnitTestSupport_GetTextDigest( [In] StdString.Ptr pString ); - [DllImport("ClearScriptV8.osx-x64.dylib", CallingConvention = CallingConvention.Cdecl)] + [DllImport("ClearScriptV8.osx-arm64.dylib", CallingConvention = CallingConvention.Cdecl)] private static extern void V8UnitTestSupport_GetStatistics( [Out] out ulong isolateCount, [Out] out ulong contextCount diff --git a/ClearScript/V8/SplitProxy/V8SplitProxyNative.NetCore.cs b/ClearScript/V8/SplitProxy/V8SplitProxyNative.NetCore.cs deleted file mode 100644 index e933bee57..000000000 --- a/ClearScript/V8/SplitProxy/V8SplitProxyNative.NetCore.cs +++ /dev/null @@ -1,61 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT license. - -using System; -using System.Runtime.InteropServices; - -namespace Microsoft.ClearScript.V8.SplitProxy -{ - internal static partial class V8SplitProxyNative - { - private static IV8SplitProxyNative CreateInstance() - { - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - if (RuntimeInformation.ProcessArchitecture == Architecture.X64) - { - return new WinX64Impl(); - } - - if (RuntimeInformation.ProcessArchitecture == Architecture.X86) - { - return new WinX86Impl(); - } - - if (RuntimeInformation.ProcessArchitecture == Architecture.Arm) - { - return new WinArmImpl(); - } - - if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64) - { - return new WinArm64Impl(); - } - - throw new PlatformNotSupportedException("Unsupported process architecture"); - } - - if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) - { - if (RuntimeInformation.ProcessArchitecture == Architecture.X64) - { - return new LinuxX64Impl(); - } - - throw new PlatformNotSupportedException("Unsupported process architecture"); - } - - if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) - { - if (RuntimeInformation.ProcessArchitecture == Architecture.X64) - { - return new MacX64Impl(); - } - - throw new PlatformNotSupportedException("Unsupported process architecture"); - } - - throw new PlatformNotSupportedException("Unsupported operating system"); - } - } -} diff --git a/ClearScript/V8/SplitProxy/V8SplitProxyNative.NetFramework.cs b/ClearScript/V8/SplitProxy/V8SplitProxyNative.NetFramework.cs deleted file mode 100644 index 75139bba5..000000000 --- a/ClearScript/V8/SplitProxy/V8SplitProxyNative.NetFramework.cs +++ /dev/null @@ -1,36 +0,0 @@ -// Copyright (c) Microsoft Corporation. All rights reserved. -// Licensed under the MIT license. - -using System; -using Microsoft.ClearScript.Util; - -namespace Microsoft.ClearScript.V8.SplitProxy -{ - internal static partial class V8SplitProxyNative - { - private static IV8SplitProxyNative CreateInstance() - { - if (MiscHelpers.ProcessorArchitectureIsIntel()) - { - if (Environment.Is64BitProcess) - { - return new WinX64Impl(); - } - - return new WinX86Impl(); - } - - if (MiscHelpers.ProcessorArchitectureIsArm()) - { - if (Environment.Is64BitProcess) - { - return new WinArm64Impl(); - } - - return new WinArmImpl(); - } - - throw new PlatformNotSupportedException("Unsupported machine architecture"); - } - } -} diff --git a/ClearScript/V8/SplitProxy/V8SplitProxyNative.cs b/ClearScript/V8/SplitProxy/V8SplitProxyNative.cs index 7a1853ed2..68ec20f98 100644 --- a/ClearScript/V8/SplitProxy/V8SplitProxyNative.cs +++ b/ClearScript/V8/SplitProxy/V8SplitProxyNative.cs @@ -2,6 +2,7 @@ // Licensed under the MIT license. using System; +using System.Runtime.InteropServices; using Microsoft.ClearScript.Util; namespace Microsoft.ClearScript.V8.SplitProxy @@ -69,6 +70,71 @@ public static T InvokeNoThrow(Func func) } } + private static IV8SplitProxyNative CreateInstance() + { + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + if (RuntimeInformation.ProcessArchitecture == Architecture.X64) + { + return new WinX64Impl(); + } + + if (RuntimeInformation.ProcessArchitecture == Architecture.X86) + { + return new WinX86Impl(); + } + + if (RuntimeInformation.ProcessArchitecture == Architecture.Arm) + { + return new WinArmImpl(); + } + + if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64) + { + return new WinArm64Impl(); + } + + throw new PlatformNotSupportedException("Unsupported process architecture"); + } + + if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) + { + if (RuntimeInformation.ProcessArchitecture == Architecture.X64) + { + return new LinuxX64Impl(); + } + + if (RuntimeInformation.ProcessArchitecture == Architecture.Arm) + { + return new LinuxArmImpl(); + } + + if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64) + { + return new LinuxArm64Impl(); + } + + throw new PlatformNotSupportedException("Unsupported process architecture"); + } + + if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) + { + if (RuntimeInformation.ProcessArchitecture == Architecture.X64) + { + return new MacX64Impl(); + } + + if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64) + { + return new MacArm64Impl(); + } + + throw new PlatformNotSupportedException("Unsupported process architecture"); + } + + throw new PlatformNotSupportedException("Unsupported operating system"); + } + private static void ThrowScheduledException() { if (V8SplitProxyManaged.ScheduledException != null) diff --git a/ClearScript/V8/SplitProxy/V8SplitProxyNative.tt b/ClearScript/V8/SplitProxy/V8SplitProxyNative.tt index a01cc3ea2..83cd91733 100644 --- a/ClearScript/V8/SplitProxy/V8SplitProxyNative.tt +++ b/ClearScript/V8/SplitProxy/V8SplitProxyNative.tt @@ -12,7 +12,10 @@ ("WinArm", "win-arm.dll"), ("WinArm64", "win-arm64.dll"), ("LinuxX64", "linux-x64.so"), - ("MacX64", "osx-x64.dylib") + ("LinuxArm", "linux-arm.so"), + ("LinuxArm64", "linux-arm64.so"), + ("MacX64", "osx-x64.dylib"), + ("MacArm64", "osx-arm64.dylib") }; #> diff --git a/ClearScript/V8/V8Proxy.NetCore.cs b/ClearScript/V8/V8Proxy.NetCore.cs index 5e3ec90e9..71ae6e026 100644 --- a/ClearScript/V8/V8Proxy.NetCore.cs +++ b/ClearScript/V8/V8Proxy.NetCore.cs @@ -10,56 +10,6 @@ internal abstract partial class V8Proxy { [ThreadStatic] private static string loadLibraryErrorMessage; - private static IntPtr LoadNativeAssembly() - { - string platform; - string architecture; - string extension; - - if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) - { - platform = "win"; - extension = "dll"; - } - else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) - { - platform = "linux"; - extension = "so"; - } - else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) - { - platform = "osx"; - extension = "dylib"; - } - else - { - throw new PlatformNotSupportedException("Unsupported OS platform"); - } - - if (RuntimeInformation.ProcessArchitecture == Architecture.X64) - { - architecture = "x64"; - } - else if (RuntimeInformation.ProcessArchitecture == Architecture.X86) - { - architecture = "x86"; - } - else if (RuntimeInformation.ProcessArchitecture == Architecture.Arm) - { - architecture = "arm"; - } - else if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64) - { - architecture = "arm64"; - } - else - { - throw new PlatformNotSupportedException("Unsupported process architecture"); - } - - return LoadNativeLibrary("ClearScriptV8", platform, architecture, extension); - } - private static IntPtr LoadLibrary(string path) { try diff --git a/ClearScript/V8/V8Proxy.NetFramework.cs b/ClearScript/V8/V8Proxy.NetFramework.cs index 41afa42b5..582f6a85a 100644 --- a/ClearScript/V8/V8Proxy.NetFramework.cs +++ b/ClearScript/V8/V8Proxy.NetFramework.cs @@ -9,26 +9,6 @@ namespace Microsoft.ClearScript.V8 { internal abstract partial class V8Proxy { - private static IntPtr LoadNativeAssembly() - { - string architecture; - - if (MiscHelpers.ProcessorArchitectureIsIntel()) - { - architecture = Environment.Is64BitProcess ? "x64" : "x86"; - } - else if (MiscHelpers.ProcessorArchitectureIsArm()) - { - architecture = Environment.Is64BitProcess ? "arm64" : "arm"; - } - else - { - throw new PlatformNotSupportedException("Unsupported processor architecture"); - } - - return LoadNativeLibrary("ClearScriptV8", "win", architecture, "dll"); - } - private static IntPtr LoadLibrary(string path) { return NativeMethods.LoadLibraryW(path); diff --git a/ClearScript/V8/V8Proxy.cs b/ClearScript/V8/V8Proxy.cs index bc7e92638..deb8bc1dc 100644 --- a/ClearScript/V8/V8Proxy.cs +++ b/ClearScript/V8/V8Proxy.cs @@ -5,6 +5,7 @@ using System.Collections.Generic; using System.IO; using System.Linq; +using System.Runtime.InteropServices; using System.Text; using Microsoft.ClearScript.Util; @@ -43,6 +44,56 @@ internal static void OnEntityHolderDestroyed() } } + private static IntPtr LoadNativeAssembly() + { + string platform; + string architecture; + string extension; + + if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows)) + { + platform = "win"; + extension = "dll"; + } + else if (RuntimeInformation.IsOSPlatform(OSPlatform.Linux)) + { + platform = "linux"; + extension = "so"; + } + else if (RuntimeInformation.IsOSPlatform(OSPlatform.OSX)) + { + platform = "osx"; + extension = "dylib"; + } + else + { + throw new PlatformNotSupportedException("Unsupported OS platform"); + } + + if (RuntimeInformation.ProcessArchitecture == Architecture.X64) + { + architecture = "x64"; + } + else if (RuntimeInformation.ProcessArchitecture == Architecture.X86) + { + architecture = "x86"; + } + else if (RuntimeInformation.ProcessArchitecture == Architecture.Arm) + { + architecture = "arm"; + } + else if (RuntimeInformation.ProcessArchitecture == Architecture.Arm64) + { + architecture = "arm64"; + } + else + { + throw new PlatformNotSupportedException("Unsupported process architecture"); + } + + return LoadNativeLibrary("ClearScriptV8", platform, architecture, extension); + } + private static IntPtr LoadNativeLibrary(string baseName, string platform, string architecture, string extension) { var fileName = $"{baseName}.{platform}-{architecture}.{extension}"; diff --git a/ClearScript/doc/Build.docx b/ClearScript/doc/Build.docx index c10d853f6805e4635135a1fb2bca426157a82bb6..7193bc953b427c7d2f9cfa330c1962202d3c8ba0 100644 GIT binary patch delta 21095 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 - - - Debug - x86 - 8.0.30703 - 2.0 - {7922A2F5-3585-4A60-98FB-1BDB4D5ECD29} - Exe - Properties - Microsoft.ClearScript.Test - ClearScriptBenchmarks - v4.7.2 - 512 - - - - - - - - - - - AnyCPU - ..\bin\Debug\ - false - TRACE;DEBUG;NETFRAMEWORK - prompt - full - true - false - - - AnyCPU - ..\bin\Release\ - false - TRACE;NETFRAMEWORK - true - prompt - pdbonly - true - true - false - - - - - - - - - - TextTemplatingFileGenerator - AssemblyInfo.cs - - - True - True - AssemblyInfo.tt - - - - - - - - - {f1022c3f-afbc-4f23-b4de-c6c0742aeff2} - ClearScript.Core - - - {59cc81a3-3d97-469a-9c8b-533f920085f1} - ClearScript.V8 - - - {bc560ff8-ab7a-4da9-a1fd-99221447d370} - ClearScript.Windows - - - - - - - - - \ No newline at end of file diff --git a/ClearScriptBenchmarks/Properties/AssemblyInfo.cs b/ClearScriptBenchmarks/Properties/AssemblyInfo.cs index 36c4d57c5..e5ff43f29 100644 --- a/ClearScriptBenchmarks/Properties/AssemblyInfo.cs +++ b/ClearScriptBenchmarks/Properties/AssemblyInfo.cs @@ -13,4 +13,4 @@ [assembly: ComVisible(false)] [assembly: AssemblyVersion("7.0.0")] [assembly: AssemblyFileVersion("7.0.0")] -[assembly: AssemblyInformationalVersion("7.0.0-rc5")] +[assembly: AssemblyInformationalVersion("7.0.0")] diff --git a/ClearScriptConsole/ClearScriptConsole.csproj b/ClearScriptConsole/ClearScriptConsole.csproj deleted file mode 100644 index f10708533..000000000 --- a/ClearScriptConsole/ClearScriptConsole.csproj +++ /dev/null @@ -1,97 +0,0 @@ - - - - Debug - x86 - 8.0.30703 - 2.0 - {28980C99-77E7-4B62-8484-AF06C5745B8C} - Exe - Properties - Microsoft.ClearScript.Test - ClearScriptConsole - v4.5 - 512 - - - - - - - - - - - AnyCPU - ..\bin\Debug\ - false - TRACE;DEBUG;NETFRAMEWORK - prompt - full - true - true - true - - - AnyCPU - ..\bin\Release\ - false - TRACE;NETFRAMEWORK - true - prompt - pdbonly - true - true - true - true - - - - - - - - - - - - - True - True - AssemblyInfo.tt - - - TextTemplatingFileGenerator - AssemblyInfo.cs - - - - - - - - {f1022c3f-afbc-4f23-b4de-c6c0742aeff2} - ClearScript.Core - - - {59cc81a3-3d97-469a-9c8b-533f920085f1} - ClearScript.V8 - - - {bc560ff8-ab7a-4da9-a1fd-99221447d370} - ClearScript.Windows - - - - - - - - - \ No newline at end of file diff --git a/ClearScriptConsole/Properties/AssemblyInfo.cs b/ClearScriptConsole/Properties/AssemblyInfo.cs index e3a70ca83..6fc85cd26 100644 --- a/ClearScriptConsole/Properties/AssemblyInfo.cs +++ b/ClearScriptConsole/Properties/AssemblyInfo.cs @@ -13,4 +13,4 @@ [assembly: ComVisible(false)] [assembly: AssemblyVersion("7.0.0")] [assembly: AssemblyFileVersion("7.0.0")] -[assembly: AssemblyInformationalVersion("7.0.0-rc5")] +[assembly: AssemblyInformationalVersion("7.0.0")] diff --git a/ClearScriptTest/AccessContextTest.cs b/ClearScriptTest/AccessContextTest.cs index b24ba857d..56cf1e8c1 100644 --- a/ClearScriptTest/AccessContextTest.cs +++ b/ClearScriptTest/AccessContextTest.cs @@ -10,8 +10,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class AccessContextTest : ClearScriptTest { diff --git a/ClearScriptTest/BaseInterfaceMemberAccessTest.cs b/ClearScriptTest/BaseInterfaceMemberAccessTest.cs index 46d9fca20..6e00bd218 100644 --- a/ClearScriptTest/BaseInterfaceMemberAccessTest.cs +++ b/ClearScriptTest/BaseInterfaceMemberAccessTest.cs @@ -11,9 +11,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] - [DeploymentItem("JavaScript", "JavaScript")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class BaseInterfaceMemberAccessTest : ClearScriptTest { diff --git a/ClearScriptTest/BaseMemberAccessTest.cs b/ClearScriptTest/BaseMemberAccessTest.cs index 7f8840e98..ae60f8a77 100644 --- a/ClearScriptTest/BaseMemberAccessTest.cs +++ b/ClearScriptTest/BaseMemberAccessTest.cs @@ -11,8 +11,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class BaseMemberAccessTest : ClearScriptTest { diff --git a/ClearScriptTest/BugFixTest.cs b/ClearScriptTest/BugFixTest.cs index fe915e4f7..39043366e 100644 --- a/ClearScriptTest/BugFixTest.cs +++ b/ClearScriptTest/BugFixTest.cs @@ -24,10 +24,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] - [DeploymentItem("ClearScriptConsole.exe")] - [DeploymentItem("Microsoft.VisualStudio.QualityTools.UnitTestFramework.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] [SuppressMessage("ReSharper", "StringLiteralTypo", Justification = "Typos in test code are acceptable.")] [SuppressMessage("ReSharper", "IdentifierTypo", Justification = "Typos in test code are acceptable.")] diff --git a/ClearScriptTest/ClearScriptTest.csproj b/ClearScriptTest/ClearScriptTest.csproj deleted file mode 100644 index 41be3d090..000000000 --- a/ClearScriptTest/ClearScriptTest.csproj +++ /dev/null @@ -1,293 +0,0 @@ - - - - Debug - AnyCPU - - - 2.0 - {EDC7144E-FDA9-4CC7-B2CD-B5EBFD610A7D} - Library - Properties - Microsoft.ClearScript.Test - ClearScriptTest - v4.6 - 512 - {3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} - - - - true - full - false - ..\bin\Debug\ - TRACE;DEBUG;NETFRAMEWORK - prompt - 4 - true - false - - - pdbonly - true - ..\bin\Release\ - TRACE;NETFRAMEWORK - prompt - 4 - true - false - - - true - $(SolutionDir)ClearScript.snk - - - true - $(SolutionDir)ClearScript.DelaySign.snk - true - - - - - - - ..\packages\Newtonsoft.Json.11.0.2\lib\net45\Newtonsoft.Json.dll - - - - 3.5 - - - - - - - - False - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - TextTemplatingFileGenerator - AssemblyInfo.cs - - - - True - True - AssemblyInfo.tt - - - - - - - - - - - - - - - - - - - {B691E011-1797-432E-907A-4D8C69339129} - 6 - 0 - 0 - tlbimp - False - False - - - {420B2830-E718-11CF-893D-00A0C9054228} - 1 - 0 - 0 - tlbimp - False - False - - - {944DE083-8FB8-45CF-BCB7-C477ACB2F897} - 1 - 0 - 0 - tlbimp - False - False - - - - - {f1022c3f-afbc-4f23-b4de-c6c0742aeff2} - ClearScript.Core - - - {59cc81a3-3d97-469a-9c8b-533f920085f1} - ClearScript.V8 - - - {bc560ff8-ab7a-4da9-a1fd-99221447d370} - ClearScript.Windows - - - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - - - \ No newline at end of file diff --git a/ClearScriptTest/CrossEngineTest.cs b/ClearScriptTest/CrossEngineTest.cs index d7aeff14a..3de180f2b 100644 --- a/ClearScriptTest/CrossEngineTest.cs +++ b/ClearScriptTest/CrossEngineTest.cs @@ -12,8 +12,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class CrossEngineTest : ClearScriptTest { diff --git a/ClearScriptTest/DynamicHostItemTest.cs b/ClearScriptTest/DynamicHostItemTest.cs index c8f8af603..0d6cbd916 100644 --- a/ClearScriptTest/DynamicHostItemTest.cs +++ b/ClearScriptTest/DynamicHostItemTest.cs @@ -8,8 +8,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] [SuppressMessage("ReSharper", "StringLiteralTypo", Justification = "Typos in test code are acceptable.")] public partial class DynamicHostItemTest : ClearScriptTest diff --git a/ClearScriptTest/ExplicitBaseInterfaceMemberAccessTest.cs b/ClearScriptTest/ExplicitBaseInterfaceMemberAccessTest.cs index 4833e814c..61f04889e 100644 --- a/ClearScriptTest/ExplicitBaseInterfaceMemberAccessTest.cs +++ b/ClearScriptTest/ExplicitBaseInterfaceMemberAccessTest.cs @@ -11,8 +11,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class ExplicitBaseInterfaceMemberAccessTest : ClearScriptTest { diff --git a/ClearScriptTest/ExplicitInterfaceMemberAccessTest.cs b/ClearScriptTest/ExplicitInterfaceMemberAccessTest.cs index 21c17b417..074706cc6 100644 --- a/ClearScriptTest/ExplicitInterfaceMemberAccessTest.cs +++ b/ClearScriptTest/ExplicitInterfaceMemberAccessTest.cs @@ -11,8 +11,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class ExplicitInterfaceMemberAccessTest : ClearScriptTest { diff --git a/ClearScriptTest/ExtendedHostFunctionsTest.cs b/ClearScriptTest/ExtendedHostFunctionsTest.cs index 253ee188b..650372c21 100644 --- a/ClearScriptTest/ExtendedHostFunctionsTest.cs +++ b/ClearScriptTest/ExtendedHostFunctionsTest.cs @@ -12,8 +12,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class ExtendedHostFunctionsTest : ClearScriptTest { diff --git a/ClearScriptTest/ExtensionsTest.cs b/ClearScriptTest/ExtensionsTest.cs index 37c1b7872..ea8fe3bde 100644 --- a/ClearScriptTest/ExtensionsTest.cs +++ b/ClearScriptTest/ExtensionsTest.cs @@ -12,8 +12,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class ExtensionsTest : ClearScriptTest { diff --git a/ClearScriptTest/HostFunctionsTest.cs b/ClearScriptTest/HostFunctionsTest.cs index 1779bd10d..9e73bb224 100644 --- a/ClearScriptTest/HostFunctionsTest.cs +++ b/ClearScriptTest/HostFunctionsTest.cs @@ -14,8 +14,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class HostFunctionsTest : ClearScriptTest { diff --git a/ClearScriptTest/HostListTest.cs b/ClearScriptTest/HostListTest.cs index d36b674c1..0434afa3a 100644 --- a/ClearScriptTest/HostListTest.cs +++ b/ClearScriptTest/HostListTest.cs @@ -11,8 +11,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class HostListTest : ClearScriptTest { diff --git a/ClearScriptTest/HostVariableTest.cs b/ClearScriptTest/HostVariableTest.cs index f3fe9b92e..e80f051ef 100644 --- a/ClearScriptTest/HostVariableTest.cs +++ b/ClearScriptTest/HostVariableTest.cs @@ -10,8 +10,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class HostVariableTest : ClearScriptTest { diff --git a/ClearScriptTest/InterfaceMemberAccessTest.cs b/ClearScriptTest/InterfaceMemberAccessTest.cs index e6713734a..bf2f9dd2a 100644 --- a/ClearScriptTest/InterfaceMemberAccessTest.cs +++ b/ClearScriptTest/InterfaceMemberAccessTest.cs @@ -11,8 +11,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class InterfaceMemberAccessTest : ClearScriptTest { diff --git a/ClearScriptTest/JScriptEngineTest.cs b/ClearScriptTest/JScriptEngineTest.cs index 37fc47389..d5982f28e 100644 --- a/ClearScriptTest/JScriptEngineTest.cs +++ b/ClearScriptTest/JScriptEngineTest.cs @@ -24,9 +24,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] - [DeploymentItem("JavaScript", "JavaScript")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] [SuppressMessage("ReSharper", "StringLiteralTypo", Justification = "Typos in test code are acceptable.")] public class JScriptEngineTest : ClearScriptTest diff --git a/ClearScriptTest/JScriptModuleTest.cs b/ClearScriptTest/JScriptModuleTest.cs index a18fb2f39..f30811c05 100644 --- a/ClearScriptTest/JScriptModuleTest.cs +++ b/ClearScriptTest/JScriptModuleTest.cs @@ -13,9 +13,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] - [DeploymentItem("JavaScript", "JavaScript")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] [SuppressMessage("ReSharper", "StringLiteralTypo", Justification = "Typos in test code are acceptable.")] public class JScriptModuleTest : ClearScriptTest diff --git a/ClearScriptTest/MemberAccessTest.cs b/ClearScriptTest/MemberAccessTest.cs index 4b1623ccf..2b8108a89 100644 --- a/ClearScriptTest/MemberAccessTest.cs +++ b/ClearScriptTest/MemberAccessTest.cs @@ -12,8 +12,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class MemberAccessTest : ClearScriptTest { diff --git a/ClearScriptTest/Misc.NetFramework.cs b/ClearScriptTest/Misc.NetFramework.cs index b5dd6f009..aa90a7954 100644 --- a/ClearScriptTest/Misc.NetFramework.cs +++ b/ClearScriptTest/Misc.NetFramework.cs @@ -21,6 +21,7 @@ public static void InvokeVBTestSub(string code, string extraDefinitions = null) options.ReferencedAssemblies.Add("ClearScript.V8.dll"); options.ReferencedAssemblies.Add("ClearScript.Windows.dll"); options.ReferencedAssemblies.Add("ClearScriptTest.dll"); + options.ReferencedAssemblies.Add("System.Runtime.dll"); options.ReferencedAssemblies.Add(typeof(Enumerable).Assembly.Location); options.ReferencedAssemblies.Add(typeof(Assert).Assembly.Location); var results = new VBCodeProvider().CompileAssemblyFromSource(options, MiscHelpers.FormatInvariant(@" @@ -62,6 +63,7 @@ public static object InvokeVBTestFunction(string code, string extraDefinitions = options.ReferencedAssemblies.Add("ClearScript.V8.dll"); options.ReferencedAssemblies.Add("ClearScript.Windows.dll"); options.ReferencedAssemblies.Add("ClearScriptTest.dll"); + options.ReferencedAssemblies.Add("System.Runtime.dll"); options.ReferencedAssemblies.Add(typeof(Enumerable).Assembly.Location); options.ReferencedAssemblies.Add(typeof(Assert).Assembly.Location); var results = new VBCodeProvider().CompileAssemblyFromSource(options, MiscHelpers.FormatInvariant(@" diff --git a/ClearScriptTest/Properties/AssemblyInfo.cs b/ClearScriptTest/Properties/AssemblyInfo.cs index 3f43fdecd..9fa3414f4 100644 --- a/ClearScriptTest/Properties/AssemblyInfo.cs +++ b/ClearScriptTest/Properties/AssemblyInfo.cs @@ -13,4 +13,4 @@ [assembly: ComVisible(false)] [assembly: AssemblyVersion("7.0.0")] [assembly: AssemblyFileVersion("7.0.0")] -[assembly: AssemblyInformationalVersion("7.0.0-rc5")] +[assembly: AssemblyInformationalVersion("7.0.0")] diff --git a/ClearScriptTest/PropertyBagTest.cs b/ClearScriptTest/PropertyBagTest.cs index 1a4908478..d5dd62a95 100644 --- a/ClearScriptTest/PropertyBagTest.cs +++ b/ClearScriptTest/PropertyBagTest.cs @@ -9,8 +9,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public partial class PropertyBagTest : ClearScriptTest { diff --git a/ClearScriptTest/ScriptAccessTest.cs b/ClearScriptTest/ScriptAccessTest.cs index de0a08335..eb14ed09c 100644 --- a/ClearScriptTest/ScriptAccessTest.cs +++ b/ClearScriptTest/ScriptAccessTest.cs @@ -12,8 +12,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class ScriptAccessTest : ClearScriptTest { diff --git a/ClearScriptTest/StaticMemberAccessTest.cs b/ClearScriptTest/StaticMemberAccessTest.cs index 9c764c6eb..64843f50e 100644 --- a/ClearScriptTest/StaticMemberAccessTest.cs +++ b/ClearScriptTest/StaticMemberAccessTest.cs @@ -11,8 +11,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class StaticMemberAccessTest : ClearScriptTest { diff --git a/ClearScriptTest/TypeRestrictionTest.cs b/ClearScriptTest/TypeRestrictionTest.cs index d45e0eda1..224fd7580 100644 --- a/ClearScriptTest/TypeRestrictionTest.cs +++ b/ClearScriptTest/TypeRestrictionTest.cs @@ -8,8 +8,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class TypeRestrictionTest : ClearScriptTest { diff --git a/ClearScriptTest/V8ArrayBufferOrViewTest.cs b/ClearScriptTest/V8ArrayBufferOrViewTest.cs index fd5e5d26e..93d2640ef 100644 --- a/ClearScriptTest/V8ArrayBufferOrViewTest.cs +++ b/ClearScriptTest/V8ArrayBufferOrViewTest.cs @@ -12,8 +12,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class V8ArrayBufferOrViewTest : ClearScriptTest { diff --git a/ClearScriptTest/V8ModuleTest.cs b/ClearScriptTest/V8ModuleTest.cs index dc4cd96c2..00bee7d92 100644 --- a/ClearScriptTest/V8ModuleTest.cs +++ b/ClearScriptTest/V8ModuleTest.cs @@ -13,9 +13,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] - [DeploymentItem("JavaScript", "JavaScript")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] public class V8ModuleTest : ClearScriptTest { diff --git a/ClearScriptTest/V8ScriptEngineTest.cs b/ClearScriptTest/V8ScriptEngineTest.cs index 356854636..7f6a24f79 100644 --- a/ClearScriptTest/V8ScriptEngineTest.cs +++ b/ClearScriptTest/V8ScriptEngineTest.cs @@ -26,9 +26,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] - [DeploymentItem("JavaScript", "JavaScript")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] [SuppressMessage("ReSharper", "StringLiteralTypo", Justification = "Typos in test code are acceptable.")] public partial class V8ScriptEngineTest : ClearScriptTest diff --git a/ClearScriptTest/VBScriptEngineTest.cs b/ClearScriptTest/VBScriptEngineTest.cs index 59fb1c36a..56b8b7927 100644 --- a/ClearScriptTest/VBScriptEngineTest.cs +++ b/ClearScriptTest/VBScriptEngineTest.cs @@ -23,9 +23,6 @@ namespace Microsoft.ClearScript.Test { [TestClass] - [DeploymentItem("ClearScriptV8.win-x64.dll")] - [DeploymentItem("ClearScriptV8.win-x86.dll")] - [DeploymentItem("VBScript", "VBScript")] [SuppressMessage("Microsoft.Design", "CA1001:TypesThatOwnDisposableFieldsShouldBeDisposable", Justification = "Test classes use TestCleanupAttribute for deterministic teardown.")] [SuppressMessage("ReSharper", "StringLiteralTypo", Justification = "Typos in test code are acceptable.")] public class VBScriptEngineTest : ClearScriptTest diff --git a/ClearScriptTest/packages.config b/ClearScriptTest/packages.config deleted file mode 100644 index c8b3ae63a..000000000 --- a/ClearScriptTest/packages.config +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/ClearScriptV8/CommonPlatform.h b/ClearScriptV8/CommonPlatform.h index 2de78d8a1..02808c5da 100644 --- a/ClearScriptV8/CommonPlatform.h +++ b/ClearScriptV8/CommonPlatform.h @@ -79,12 +79,6 @@ //----------------------------------------------------------------------------- -#ifndef NORETURN - #define NORETURN __declspec(noreturn) -#endif // !NORETURN - -//----------------------------------------------------------------------------- - #define BEGIN_COMPOUND_MACRO \ do \ { diff --git a/ClearScriptV8/V8ContextImpl.cpp b/ClearScriptV8/V8ContextImpl.cpp index 53c24d90c..5fbb6cfb9 100644 --- a/ClearScriptV8/V8ContextImpl.cpp +++ b/ClearScriptV8/V8ContextImpl.cpp @@ -2955,9 +2955,6 @@ v8::ScriptOrigin V8ContextImpl::CreateScriptOrigin(const V8DocumentInfo& documen { FROM_MAYBE_TRY - auto hOptions = CreatePrimitiveArray(1); - //SetPrimitiveArrayItem(hOptions, 0, CreateBigInt(documentInfo.GetUniqueId())); - return v8::ScriptOrigin( FROM_MAYBE(CreateString(documentInfo.GetResourceName())), v8::Local(), @@ -2967,8 +2964,7 @@ v8::ScriptOrigin V8ContextImpl::CreateScriptOrigin(const V8DocumentInfo& documen (documentInfo.GetSourceMapUrl().GetLength() > 0) ? FROM_MAYBE(CreateString(documentInfo.GetSourceMapUrl())) : v8::Local(), v8::Local(), v8::Local(), - documentInfo.IsModule() ? GetTrue() : GetFalse(), - hOptions + documentInfo.IsModule() ? GetTrue() : GetFalse() ); FROM_MAYBE_CATCH diff --git a/ClearScriptV8/V8DocumentInfo.h b/ClearScriptV8/V8DocumentInfo.h index 8c91fe8e8..376abcec0 100644 --- a/ClearScriptV8/V8DocumentInfo.h +++ b/ClearScriptV8/V8DocumentInfo.h @@ -22,7 +22,7 @@ struct V8DocumentInfo final { } - V8DocumentInfo(StdString&& resourceName, StdString&& sourceMapUrl, uint64_t uniqueId, bool isModule, void* pvDocumentInfo) : + V8DocumentInfo(StdString&& resourceName, StdString&& sourceMapUrl, uint64_t uniqueId, bool isModule, void* pvDocumentInfo): m_ResourceName(std::move(resourceName)), m_SourceMapUrl(std::move(sourceMapUrl)), m_UniqueId(uniqueId), diff --git a/ClearScriptV8/win-x64/ClearScriptV8.win-x64.vcxproj b/ClearScriptV8/win-x64/ClearScriptV8.win-x64.vcxproj index fb5bc7451..8639a46c6 100644 --- a/ClearScriptV8/win-x64/ClearScriptV8.win-x64.vcxproj +++ b/ClearScriptV8/win-x64/ClearScriptV8.win-x64.vcxproj @@ -1,192 +1,192 @@  - - - Debug - x64 - - - Release - x64 - - - - {CDCF4EEA-1CA4-412E-8C77-78893A67A577} - ManagedCProj - ClearScriptV864 - ClearScriptV8.win-x64 - - - - DynamicLibrary - true - Unicode - - - DynamicLibrary - false - Unicode - true - - - v142 - $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) - - - v141 - $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) - - - v140 - - - v120 - - - - - - - - - - - - - $(SolutionDir)bin\$(Configuration)\ - MixedRecommendedRules.ruleset - - - false - $(SolutionDir)bin\$(Configuration)\ - MixedRecommendedRules.ruleset - - - - Level4 - Disabled - WIN32;_DEBUG;%(PreprocessorDefinitions) - $(SolutionDir)V8\build\v8\include;$(SolutionDir)ClearScript\Exports;$(IncludePath) - - - - - NotUsing - $(OutDir) - true - true - true - false - true - stdcpp17 - MultiThreadedDebug - - - DebugFull - true - dbghelp.lib;winmm.lib;$(SolutionDir)V8\build\v8\out\$(Platform)\$(Configuration)\obj\v8_monolith.lib - true - - - $(SolutionDir)\ClearScript\Exports - - - - - Level4 - WIN32;NDEBUG;%(PreprocessorDefinitions) - $(SolutionDir)V8\build\v8\include;$(SolutionDir)ClearScript\Exports;$(IncludePath) - - - - - NotUsing - $(OutDir) - true - true - true - true - MaxSpeed - AnySuitable - true - Speed - true - true - stdcpp17 - MultiThreaded - - - DebugFull - true - dbghelp.lib;winmm.lib;$(SolutionDir)V8\build\v8\out\$(Platform)\$(Configuration)\obj\v8_monolith.lib - UseLinkTimeCodeGeneration - true - true - true - - - $(SolutionDir)\ClearScript\Exports - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Debug + x64 + + + Release + x64 + + + + {CDCF4EEA-1CA4-412E-8C77-78893A67A577} + ManagedCProj + ClearScriptV864 + ClearScriptV8.win-x64 + + + + DynamicLibrary + true + Unicode + + + DynamicLibrary + false + Unicode + true + + + v142 + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + + + v141 + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + + + v140 + + + v120 + + + + + + + + + + + + + $(SolutionDir)bin\$(Configuration)\ + MixedRecommendedRules.ruleset + + + false + $(SolutionDir)bin\$(Configuration)\ + MixedRecommendedRules.ruleset + + + + Level4 + Disabled + WIN32;_DEBUG;%(PreprocessorDefinitions) + $(SolutionDir)V8\build\v8\include;$(SolutionDir)ClearScript\Exports;$(IncludePath) + + + + + NotUsing + $(OutDir) + true + true + true + false + true + stdcpp17 + MultiThreadedDebug + + + DebugFull + true + dbghelp.lib;winmm.lib;$(SolutionDir)V8\build\v8\out\$(Platform)\$(Configuration)\obj\v8_monolith.lib + true + + + $(SolutionDir)\ClearScript\Exports + + + + + Level4 + WIN32;NDEBUG;%(PreprocessorDefinitions) + $(SolutionDir)V8\build\v8\include;$(SolutionDir)ClearScript\Exports;$(IncludePath) + + + + + NotUsing + $(OutDir) + true + true + true + true + MaxSpeed + AnySuitable + true + Speed + true + true + stdcpp17 + MultiThreaded + + + DebugFull + true + dbghelp.lib;winmm.lib;$(SolutionDir)V8\build\v8\out\$(Platform)\$(Configuration)\obj\v8_monolith.lib + UseLinkTimeCodeGeneration + true + true + true + + + $(SolutionDir)\ClearScript\Exports + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/ClearScriptV8/win-x86/ClearScriptV8.win-x86.vcxproj b/ClearScriptV8/win-x86/ClearScriptV8.win-x86.vcxproj index 9c8c3c91b..34e61bdd0 100644 --- a/ClearScriptV8/win-x86/ClearScriptV8.win-x86.vcxproj +++ b/ClearScriptV8/win-x86/ClearScriptV8.win-x86.vcxproj @@ -1,191 +1,191 @@  - - - Debug - Win32 - - - Release - Win32 - - - - {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6} - ManagedCProj - ClearScriptV832 - ClearScriptV8.win-x86 - - - - DynamicLibrary - true - Unicode - - - DynamicLibrary - false - Unicode - true - - - v142 - $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) - - - v141 - $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) - - - v140 - - - v120 - - - - - - - - - - - - - $(SolutionDir)bin\$(Configuration)\ - MixedRecommendedRules.ruleset - - - false - $(SolutionDir)bin\$(Configuration)\ - MixedRecommendedRules.ruleset - - - - Level4 - Disabled - WIN32;_DEBUG;%(PreprocessorDefinitions) - $(SolutionDir)V8\build\v8\include;$(SolutionDir)ClearScript\Exports;$(IncludePath) - - - - - NotUsing - $(OutDir) - true - true - true - true - stdcpp17 - MultiThreadedDebug - - - DebugFull - true - dbghelp.lib;winmm.lib;$(SolutionDir)V8\build\v8\out\$(Platform)\$(Configuration)\obj\v8_monolith.lib - true - - - $(SolutionDir)\ClearScript\Exports - - - - - Level4 - WIN32;NDEBUG;%(PreprocessorDefinitions) - $(SolutionDir)V8\build\v8\include;$(SolutionDir)ClearScript\Exports;$(IncludePath) - - - - - NotUsing - $(OutDir) - true - true - true - true - MaxSpeed - Speed - AnySuitable - true - true - true - stdcpp17 - MultiThreaded - - - DebugFull - true - dbghelp.lib;winmm.lib;$(SolutionDir)V8\build\v8\out\$(Platform)\$(Configuration)\obj\v8_monolith.lib - UseLinkTimeCodeGeneration - true - true - true - - - $(SolutionDir)\ClearScript\Exports - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + Debug + Win32 + + + Release + Win32 + + + + {2D63EA35-BA9C-4E77-B5A4-4938DBBFEFA6} + ManagedCProj + ClearScriptV832 + ClearScriptV8.win-x86 + + + + DynamicLibrary + true + Unicode + + + DynamicLibrary + false + Unicode + true + + + v142 + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + + + v141 + $([Microsoft.Build.Utilities.ToolLocationHelper]::GetLatestSDKTargetPlatformVersion('Windows', '10.0')) + + + v140 + + + v120 + + + + + + + + + + + + + $(SolutionDir)bin\$(Configuration)\ + MixedRecommendedRules.ruleset + + + false + $(SolutionDir)bin\$(Configuration)\ + MixedRecommendedRules.ruleset + + + + Level4 + Disabled + WIN32;_DEBUG;%(PreprocessorDefinitions) + $(SolutionDir)V8\build\v8\include;$(SolutionDir)ClearScript\Exports;$(IncludePath) + + + + + NotUsing + $(OutDir) + true + true + true + true + stdcpp17 + MultiThreadedDebug + + + DebugFull + true + dbghelp.lib;winmm.lib;$(SolutionDir)V8\build\v8\out\$(Platform)\$(Configuration)\obj\v8_monolith.lib + true + + + $(SolutionDir)\ClearScript\Exports + + + + + Level4 + WIN32;NDEBUG;%(PreprocessorDefinitions) + $(SolutionDir)V8\build\v8\include;$(SolutionDir)ClearScript\Exports;$(IncludePath) + + + + + NotUsing + $(OutDir) + true + true + true + true + MaxSpeed + Speed + AnySuitable + true + true + true + stdcpp17 + MultiThreaded + + + DebugFull + true + dbghelp.lib;winmm.lib;$(SolutionDir)V8\build\v8\out\$(Platform)\$(Configuration)\obj\v8_monolith.lib + UseLinkTimeCodeGeneration + true + true + true + + + $(SolutionDir)\ClearScript\Exports + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/NetCore/ClearScript.Core/ClearScript.Core.csproj b/NetCore/ClearScript.Core/ClearScript.Core.csproj new file mode 100644 index 000000000..0a1b64c49 --- /dev/null +++ b/NetCore/ClearScript.Core/ClearScript.Core.csproj @@ -0,0 +1,177 @@ + + + + netcoreapp3.1;net5.0 + Microsoft.ClearScript + false + + + + TRACE;DEBUG + true + CA1416 + true + ..\..\bin\Debug + ..\..\bin\Debug\$(TargetFramework)\ClearScript.Core.xml + + + + TRACE + true + CA1416 + true + ..\..\bin\Release + ..\..\bin\Release\$(TargetFramework)\ClearScript.Core.xml + + + + true + $(SolutionDir)ClearScript.snk + + + true + $(SolutionDir)ClearScript.DelaySign.snk + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NetCore/ClearScript.V8/ClearScript.V8.csproj b/NetCore/ClearScript.V8/ClearScript.V8.csproj new file mode 100644 index 000000000..3f4eae4ed --- /dev/null +++ b/NetCore/ClearScript.V8/ClearScript.V8.csproj @@ -0,0 +1,158 @@ + + + + netcoreapp3.1;net5.0 + Microsoft.ClearScript + false + + + + TRACE;DEBUG + true + true + ..\..\bin\Debug + ..\..\bin\Debug\$(TargetFramework)\ClearScript.V8.xml + + + + TRACE + true + true + ..\..\bin\Release + ..\..\bin\Release\$(TargetFramework)\ClearScript.V8.xml + + + + true + $(SolutionDir)ClearScript.snk + + + true + $(SolutionDir)ClearScript.DelaySign.snk + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + PreserveNewest + false + + + PreserveNewest + false + + + PreserveNewest + false + + + PreserveNewest + false + + + + + PreserveNewest + false + + + PreserveNewest + false + + + PreserveNewest + false + + + PreserveNewest + false + + + + + + PreserveNewest + false + + + + + PreserveNewest + false + + + + + PreserveNewest + false + + + + + + PreserveNewest + false + + + + + PreserveNewest + false + + + + + + + + + + + + diff --git a/NetCore/ClearScript.Windows/ClearScript.Windows.csproj b/NetCore/ClearScript.Windows/ClearScript.Windows.csproj new file mode 100644 index 000000000..5a8c2a404 --- /dev/null +++ b/NetCore/ClearScript.Windows/ClearScript.Windows.csproj @@ -0,0 +1,64 @@ + + + + netcoreapp3.1;net5.0-windows + true + Microsoft.ClearScript + false + + + + TRACE;DEBUG + true + CS0618;CA1416 + true + ..\..\bin\Debug + ..\..\bin\Debug\$(TargetFramework)\ClearScript.Windows.xml + + + + TRACE + true + CS0618;CA1416 + true + ..\..\bin\Release + ..\..\bin\Release\$(TargetFramework)\ClearScript.Windows.xml + + + + true + $(SolutionDir)ClearScript.snk + + + true + $(SolutionDir)ClearScript.DelaySign.snk + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/NetCore/ClearScript/ClearScript.Core.csproj b/NetCore/ClearScript/ClearScript.Core.csproj deleted file mode 100644 index 529516c62..000000000 --- a/NetCore/ClearScript/ClearScript.Core.csproj +++ /dev/null @@ -1,181 +0,0 @@ - - - - netcoreapp3.1 - Microsoft.ClearScript - ClearScript.Core - false - - - - TRACE;DEBUG - true - CS0618 - true - ..\..\bin\Debug - - ..\..\bin\Debug\netcoreapp3.1\ClearScript.Core.xml - - - - true - CS0618 - true - TRACE - ..\..\bin\Release - - ..\..\bin\Release\netcoreapp3.1\ClearScript.Core.xml - - - - true - $(SolutionDir)ClearScript.snk - - - true - $(SolutionDir)ClearScript.DelaySign.snk - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/NetCore/ClearScript/ClearScript.V8.csproj b/NetCore/ClearScript/ClearScript.V8.csproj deleted file mode 100644 index 0f96f064a..000000000 --- a/NetCore/ClearScript/ClearScript.V8.csproj +++ /dev/null @@ -1,128 +0,0 @@ - - - - netcoreapp3.1 - Microsoft.ClearScript - ClearScript.V8 - false - - - - TRACE;DEBUG - true - CS0618 - true - ..\..\bin\Debug - - ..\..\bin\Debug\netcoreapp3.1\ClearScript.V8.xml - - - - true - CS0618 - true - TRACE - ..\..\bin\Release - - ..\..\bin\Release\netcoreapp3.1\ClearScript.V8.xml - - - - true - $(SolutionDir)ClearScript.snk - - - true - $(SolutionDir)ClearScript.DelaySign.snk - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - PreserveNewest - false - - - PreserveNewest - false - - - PreserveNewest - false - - - PreserveNewest - false - - - - - - PreserveNewest - false - - - - - - PreserveNewest - false - - - - - - - - - - - - diff --git a/NetCore/ClearScript/ClearScript.Windows.csproj b/NetCore/ClearScript/ClearScript.Windows.csproj deleted file mode 100644 index 235d8631e..000000000 --- a/NetCore/ClearScript/ClearScript.Windows.csproj +++ /dev/null @@ -1,67 +0,0 @@ - - - - netcoreapp3.1 - true - Microsoft.ClearScript - ClearScript.Windows - false - - - - TRACE;DEBUG - true - CS0618 - true - ..\..\bin\Debug - - ..\..\bin\Debug\netcoreapp3.1\ClearScript.Windows.xml - - - - true - CS0618 - true - TRACE - ..\..\bin\Release - - ..\..\bin\Release\netcoreapp3.1\ClearScript.Windows.xml - - - - true - $(SolutionDir)ClearScript.snk - - - true - $(SolutionDir)ClearScript.DelaySign.snk - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/NetCore/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj b/NetCore/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj index 17260d787..7e21a41ba 100644 --- a/NetCore/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj +++ b/NetCore/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj @@ -1,41 +1,38 @@  - - Exe - netcoreapp3.1 - Microsoft.ClearScript.Test - false - + + Exe + netcoreapp3.1;net5.0-windows + Microsoft.ClearScript.Test + false + - - DEBUG;TRACE - - true - - ..\..\bin\Debug - + + DEBUG;TRACE + true + ..\..\bin\Debug + - - - true - - ..\..\bin\Release - + + TRACE + true + ..\..\bin\Release + - - - - - + + + + + - - - + + + - - - - - + + + + + diff --git a/NetCore/ClearScriptConsole/ClearScriptConsole.csproj b/NetCore/ClearScriptConsole/ClearScriptConsole.csproj index 6e830f5ba..e5520529a 100644 --- a/NetCore/ClearScriptConsole/ClearScriptConsole.csproj +++ b/NetCore/ClearScriptConsole/ClearScriptConsole.csproj @@ -1,51 +1,46 @@  - - Exe - netcoreapp3.1 - Microsoft.ClearScript.Test - ClearScriptConsole - false - - - - DEBUG;TRACE - true - ..\..\bin\Debug - - - true - x86 - - - - TRACE - true - ..\..\bin\Release - - - true - x86 - - - - - - - - - - - - - - - - - - - - - + + Exe + netcoreapp3.1;net5.0-windows + Microsoft.ClearScript.Test + false + + + + DEBUG;TRACE + true + ..\..\bin\Debug + true + x86 + + + + TRACE + true + ..\..\bin\Release + true + x86 + + + + + + + + + + + + + + + + + + + + + diff --git a/NetCore/ClearScriptTest/ClearScriptTest.csproj b/NetCore/ClearScriptTest/ClearScriptTest.csproj index b26ccacc3..d7983e015 100644 --- a/NetCore/ClearScriptTest/ClearScriptTest.csproj +++ b/NetCore/ClearScriptTest/ClearScriptTest.csproj @@ -1,246 +1,246 @@  - - netcoreapp3.1 - false - Microsoft.ClearScript.Test - false - + + netcoreapp3.1;net5.0-windows + Microsoft.ClearScript.Test + false + - - DEBUG;TRACE - true - ..\..\bin\Debug - - - + + DEBUG;TRACE + CA1416 + true + ..\..\bin\Debug + - - TRACE - true - ..\..\bin\Release - - - + + TRACE + CA1416 + true + ..\..\bin\Release + - - true - $(SolutionDir)ClearScript.snk - - - true - $(SolutionDir)ClearScript.DelaySign.snk - true - + + true + $(SolutionDir)ClearScript.snk + + + true + $(SolutionDir)ClearScript.DelaySign.snk + true + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - 420b2830-e718-11cf-893d-00a0c9054228 - 1 - 0 - tlbimp - 0 - false - false - - - b691e011-1797-432e-907a-4d8c69339129 - 6 - 0 - tlbimp - 0 - false - false - - - 944de083-8fb8-45cf-bcb7-c477acb2f897 - 1 - 0 - tlbimp - 0 - false - false - - + + + 420b2830-e718-11cf-893d-00a0c9054228 + 1 + 0 + tlbimp + 0 + false + false + + + b691e011-1797-432e-907a-4d8c69339129 + 6 + 0 + tlbimp + 0 + false + false + + + 944de083-8fb8-45cf-bcb7-c477acb2f897 + 1 + 0 + tlbimp + 0 + false + false + + - - - - - - - + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + - - - + + + - - - - - + + + + + diff --git a/NetFramework/ClearScript.Core/ClearScript.Core.csproj b/NetFramework/ClearScript.Core/ClearScript.Core.csproj new file mode 100644 index 000000000..2dd8f9282 --- /dev/null +++ b/NetFramework/ClearScript.Core/ClearScript.Core.csproj @@ -0,0 +1,211 @@ + + + + net45;net471 + Microsoft.ClearScript + false + + + + TRACE;DEBUG + true + true + ..\..\bin\Debug + ..\..\bin\Debug\$(TargetFramework)\ClearScript.Core.xml + + + + TRACE + true + true + ..\..\bin\Release + ..\..\bin\Release\$(TargetFramework)\ClearScript.Core.xml + + + + true + $(SolutionDir)ClearScript.snk + + + true + $(SolutionDir)ClearScript.DelaySign.snk + true + + + + + + + + + + + True + True + DelegateFactory.tt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + True + AssemblyInfo.Core.tt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TextTemplatingFileGenerator + DelegateFactory.Generated.cs + + + True + True + VersionSymbols.tt + + + TextTemplatingFileGenerator + VersionSymbols.h + + + TextTemplatingFileGenerator + AssemblyInfo.Core.cs + + + + + + + + + + + + + + + + + diff --git a/NetFramework/ClearScript.V8/ClearScript.V8.csproj b/NetFramework/ClearScript.V8/ClearScript.V8.csproj new file mode 100644 index 000000000..f6e20d51f --- /dev/null +++ b/NetFramework/ClearScript.V8/ClearScript.V8.csproj @@ -0,0 +1,185 @@ + + + + net45;net471 + Microsoft.ClearScript + false + + + + TRACE;DEBUG + true + true + ..\..\bin\Debug + ..\..\bin\Debug\$(TargetFramework)\ClearScript.V8.xml + + + + TRACE + true + true + ..\..\bin\Release + ..\..\bin\Release\$(TargetFramework)\ClearScript.V8.xml + + + + true + $(SolutionDir)ClearScript.snk + + + true + $(SolutionDir)ClearScript.DelaySign.snk + true + + + + + True + True + AssemblyInfo.V8.tt + + + + + + + + + + + + + + + + True + True + V8SplitProxyNative.tt + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + TextTemplatingFileGenerator + AssemblyInfo.V8.cs + + + TextTemplatingFileGenerator + V8SplitProxyNative.Generated.cs + + + + + + PreserveNewest + false + + + PreserveNewest + false + + + PreserveNewest + false + + + PreserveNewest + false + + + + + PreserveNewest + false + + + PreserveNewest + false + + + PreserveNewest + false + + + PreserveNewest + false + + + + + + PreserveNewest + false + + + + + PreserveNewest + false + + + + + PreserveNewest + false + + + + + + PreserveNewest + false + + + + + PreserveNewest + false + + + + + + + + + + + + + + + + + + + + diff --git a/NetFramework/ClearScript.Windows/ClearScript.Windows.csproj b/NetFramework/ClearScript.Windows/ClearScript.Windows.csproj new file mode 100644 index 000000000..42ffa3dbb --- /dev/null +++ b/NetFramework/ClearScript.Windows/ClearScript.Windows.csproj @@ -0,0 +1,81 @@ + + + + net45 + true + Microsoft.ClearScript + false + + + + TRACE;DEBUG + true + true + ..\..\bin\Debug + ..\..\bin\Debug\$(TargetFramework)\ClearScript.Windows.xml + + + + TRACE + true + true + ..\..\bin\Release + ..\..\bin\Release\$(TargetFramework)\ClearScript.Windows.xml + + + + true + $(SolutionDir)ClearScript.snk + + + true + $(SolutionDir)ClearScript.DelaySign.snk + true + + + + + True + True + AssemblyInfo.Windows.tt + + + + + + + + + + + + + + + + + + + + + + + + TextTemplatingFileGenerator + AssemblyInfo.Windows.cs + + + + + + + + + + + + + + + + diff --git a/NetFramework/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj b/NetFramework/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj new file mode 100644 index 000000000..c092935c2 --- /dev/null +++ b/NetFramework/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj @@ -0,0 +1,59 @@ + + + + Exe + net471 + Microsoft.ClearScript.Test + false + + + + DEBUG;TRACE + true + ..\..\bin\Debug + AnyCPU + + + + TRACE + true + ..\..\bin\Release + AnyCPU + + + + + + True + True + AssemblyInfo.tt + + + + + + + + + + + TextTemplatingFileGenerator + AssemblyInfo.cs + + + + + + + + + + + + + + + + + + diff --git a/NetFramework/ClearScriptConsole/ClearScriptConsole.csproj b/NetFramework/ClearScriptConsole/ClearScriptConsole.csproj new file mode 100644 index 000000000..10024ed31 --- /dev/null +++ b/NetFramework/ClearScriptConsole/ClearScriptConsole.csproj @@ -0,0 +1,67 @@ + + + + Exe + net45;net46 + Microsoft.ClearScript.Test + false + + + + DEBUG;TRACE + true + ..\..\bin\Debug + true + AnyCPU + true + + + + TRACE + true + ..\..\bin\Release + true + AnyCPU + true + + + + + + + True + True + AssemblyInfo.tt + + + + + + + + + + TextTemplatingFileGenerator + AssemblyInfo.cs + + + + + + + + + + + + + + + + + + + + + + diff --git a/NetFramework/ClearScriptTest/ClearScriptTest.csproj b/NetFramework/ClearScriptTest/ClearScriptTest.csproj new file mode 100644 index 000000000..368faf1af --- /dev/null +++ b/NetFramework/ClearScriptTest/ClearScriptTest.csproj @@ -0,0 +1,262 @@ + + + + net46 + true + Microsoft.ClearScript.Test + false + + + + DEBUG;TRACE + true + ..\..\bin\Debug + + + + TRACE + true + ..\..\bin\Release + + + + true + $(SolutionDir)ClearScript.snk + + + true + $(SolutionDir)ClearScript.DelaySign.snk + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + True + True + AssemblyInfo.tt + + + + + + + + + + + + + + + + + + 420b2830-e718-11cf-893d-00a0c9054228 + 1 + 0 + tlbimp + 0 + false + false + + + b691e011-1797-432e-907a-4d8c69339129 + 6 + 0 + tlbimp + 0 + false + false + + + 944de083-8fb8-45cf-bcb7-c477acb2f897 + 1 + 0 + tlbimp + 0 + false + false + + + + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + + + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + TextTemplatingFileGenerator + AssemblyInfo.cs + + + PreserveNewest + + + PreserveNewest + + + + + + + + + + + + + + + + + + + + + + diff --git a/Unix/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj b/Unix/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj index d7369d920..3f0ccd2d0 100644 --- a/Unix/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj +++ b/Unix/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj @@ -1,37 +1,37 @@  - - Exe - netcoreapp3.1 - Microsoft.ClearScript.Test - false - + + Exe + netcoreapp3.1;net5.0 + Microsoft.ClearScript.Test + false + - - DEBUG;TRACE - true - ..\..\bin\Debug\Unix - + + DEBUG;TRACE + true + ..\..\bin\Debug\Unix + - - TRACE - true - ..\..\bin\Release\Unix - + + TRACE + true + ..\..\bin\Release\Unix + - - - - - + + + + + - - - + + + - - - - + + + + diff --git a/Unix/ClearScriptConsole/ClearScriptConsole.csproj b/Unix/ClearScriptConsole/ClearScriptConsole.csproj index e381849c4..a59d7541b 100644 --- a/Unix/ClearScriptConsole/ClearScriptConsole.csproj +++ b/Unix/ClearScriptConsole/ClearScriptConsole.csproj @@ -1,44 +1,44 @@  - - Exe - netcoreapp3.1 - Microsoft.ClearScript.Test - ClearScriptConsole - false - - - - DEBUG;TRACE - true - ..\..\bin\Debug\Unix - true - - - - TRACE - true - ..\..\bin\Release\Unix - true - - - - - - - - - - - - - - - - - - - - + + Exe + netcoreapp3.1;net5.0 + Microsoft.ClearScript.Test + ClearScriptConsole + false + + + + DEBUG;TRACE + true + ..\..\bin\Debug\Unix + true + + + + TRACE + true + ..\..\bin\Release\Unix + true + + + + + + + + + + + + + + + + + + + + diff --git a/Unix/ClearScriptTest/ClearScriptTest.csproj b/Unix/ClearScriptTest/ClearScriptTest.csproj index eafc4b9b4..5d02c6877 100644 --- a/Unix/ClearScriptTest/ClearScriptTest.csproj +++ b/Unix/ClearScriptTest/ClearScriptTest.csproj @@ -1,206 +1,209 @@  - - netcoreapp3.1 - false - Microsoft.ClearScript.Test - false - + + netcoreapp3.1;net5.0 + false + Microsoft.ClearScript.Test + false + - - DEBUG;TRACE - true - ..\..\bin\Debug\Unix - + + DEBUG;TRACE + true + ..\..\bin\Debug\Unix + - - TRACE - true - ..\..\bin\Release\Unix - + + TRACE + true + ..\..\bin\Release\Unix + - - true - $(SolutionDir)ClearScript.snk - - - true - $(SolutionDir)ClearScript.DelaySign.snk - true - + + true + $(SolutionDir)ClearScript.snk + + + true + $(SolutionDir)ClearScript.DelaySign.snk + true + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - - - - + + + + + + all + runtime; build; native; contentfiles; analyzers; buildtransitive + + + - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - - PreserveNewest - - + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + + PreserveNewest + + - - - + + + - - - - + + + + diff --git a/Unix/ClearScriptV8/Makefile b/Unix/ClearScriptV8/Makefile index 16f0f60dc..a5ed70c1c 100644 --- a/Unix/ClearScriptV8/Makefile +++ b/Unix/ClearScriptV8/Makefile @@ -22,6 +22,16 @@ ifeq ($(ARCH), x86_64) ARCHSUFFIX = x64 else ifeq ($(ARCH), i386) ARCHSUFFIX = x86 +else ifeq ($(ARCH), arm) + ARCHSUFFIX = arm +else ifeq ($(ARCH), arm32) + ARCHSUFFIX = arm +else ifeq ($(ARCH), aarch32) + ARCHSUFFIX = arm +else ifeq ($(ARCH), arm64) + ARCHSUFFIX = arm64 +else ifeq ($(ARCH), aarch64) + ARCHSUFFIX = arm64 else $(error unsupported machine architecture '$(ARCH)') endif diff --git a/Unix/Makefile b/Unix/Makefile index 5c125b7d4..f29317097 100644 --- a/Unix/Makefile +++ b/Unix/Makefile @@ -10,12 +10,12 @@ ROOTDIR = $(abspath $(MAKEDIR)/..) UNIXDIR = $(ROOTDIR)/Unix NETCOREDIR = $(ROOTDIR)/NetCore -.PHONY: all test clean cleanv8 zapv8 +.PHONY: all test clean buildv8 cleanv8 zapv8 all: make -f $(UNIXDIR)/ClearScriptV8/Makefile - dotnet build --nologo --verbosity quiet -c $(CONFIG) $(NETCOREDIR)/ClearScript/ClearScript.Core.csproj - dotnet build --nologo --verbosity quiet -c $(CONFIG) $(NETCOREDIR)/ClearScript/ClearScript.V8.csproj + dotnet build --nologo --verbosity quiet -c $(CONFIG) $(NETCOREDIR)/ClearScript.Core/ClearScript.Core.csproj + dotnet build --nologo --verbosity quiet -c $(CONFIG) $(NETCOREDIR)/ClearScript.V8/ClearScript.V8.csproj dotnet build --nologo --verbosity quiet -c $(CONFIG) $(UNIXDIR)/ClearScriptConsole/ClearScriptConsole.csproj dotnet build --nologo --verbosity quiet -c $(CONFIG) $(UNIXDIR)/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj dotnet build --nologo --verbosity quiet -c $(CONFIG) $(UNIXDIR)/ClearScriptTest/ClearScriptTest.csproj @@ -25,8 +25,8 @@ test: all clean: make -f $(UNIXDIR)/ClearScriptV8/Makefile clean - dotnet clean --nologo --verbosity quiet -c $(CONFIG) $(NETCOREDIR)/ClearScript/ClearScript.Core.csproj - dotnet clean --nologo --verbosity quiet -c $(CONFIG) $(NETCOREDIR)/ClearScript/ClearScript.V8.csproj + dotnet clean --nologo --verbosity quiet -c $(CONFIG) $(NETCOREDIR)/ClearScript.Core/ClearScript.Core.csproj + dotnet clean --nologo --verbosity quiet -c $(CONFIG) $(NETCOREDIR)/ClearScript.V8/ClearScript.V8.csproj dotnet clean --nologo --verbosity quiet -c $(CONFIG) $(UNIXDIR)/ClearScriptConsole/ClearScriptConsole.csproj dotnet clean --nologo --verbosity quiet -c $(CONFIG) $(UNIXDIR)/ClearScriptBenchmarks/ClearScriptBenchmarks.csproj dotnet clean --nologo --verbosity quiet -c $(CONFIG) $(UNIXDIR)/ClearScriptTest/ClearScriptTest.csproj @@ -34,5 +34,8 @@ clean: cleanv8: make -f $(UNIXDIR)/ClearScriptV8/Makefile cleanv8 +buildv8: + make -f $(UNIXDIR)/ClearScriptV8/Makefile buildv8 + zapv8: make -f $(UNIXDIR)/ClearScriptV8/Makefile zapv8 diff --git a/Unix/V8Update.sh b/Unix/V8Update.sh index c7a83a9a5..c1e48e73a 100644 --- a/Unix/V8Update.sh +++ b/Unix/V8Update.sh @@ -1,6 +1,6 @@ #!/bin/bash -v8testedrev=8.7.220.16 +v8testedrev=8.7.220.25 function usage { echo diff --git a/V8/V8Patch.txt b/V8/V8Patch.txt index 09e316eac..99b89ea05 100644 --- a/V8/V8Patch.txt +++ b/V8/V8Patch.txt @@ -1,8 +1,8 @@ diff --git a/BUILD.gn b/BUILD.gn -index 704ed28caa..653da104f0 100644 +index 94b598bc9a..3c00cacb98 100644 --- a/BUILD.gn +++ b/BUILD.gn -@@ -664,7 +664,7 @@ config("toolchain") { +@@ -663,7 +663,7 @@ config("toolchain") { visibility = [ "./*" ] defines = [] diff --git a/V8Update.cmd b/V8Update.cmd index 41509246b..2b786a531 100644 --- a/V8Update.cmd +++ b/V8Update.cmd @@ -1,7 +1,7 @@ @echo off setlocal -set v8testedrev=8.7.220.16 +set v8testedrev=8.7.220.25 ::----------------------------------------------------------------------------- :: process arguments diff --git a/Version.tt b/Version.tt index 59fb92340..01c9730c6 100644 --- a/Version.tt +++ b/Version.tt @@ -1,5 +1,5 @@ <# var version = new Version(7, 0, 0); - var versionSuffix = "-rc5"; + var versionSuffix = string.Empty; new Random(versionSuffix.Length); // suppress "versionSuffix not used" warning #> diff --git a/docs/Details/Build.html b/docs/Details/Build.html index 918baad58..d9be40640 100644 --- a/docs/Details/Build.html +++ b/docs/Details/Build.html @@ -3,7 +3,6 @@ -Building, Integrating, and Deploying ClearScript