Skip to content

Commit 4d6048f

Browse files
Version 5.4.4: Added fast data transfer between host arrays and JavaScript typed arrays (and other ArrayBuffer views) (Issue #83); IEnumerable instances now support ES6 iteration and for...of when exposed in V8ScriptEngine; added fully dynamic treatment for exposed IDispatchEx instances (Issue #96); fixed host member enumeration and deletion on JScript with Standards Mode (Issue #94); improved numeric argument conversion and matching (Issue #95); fixed nested termination behavior on V8; added tests for bug fixes and new APIs. Tested with V8 4.7.80.25.
1 parent ba8bf45 commit 4d6048f

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+5909
-510
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ obj/
2727
_ReSharper*/
2828
[Tt]est[Rr]esult*
2929
*.sdf
30+
*.opendb
3031
*.opensdf
3132
*.shfbproj_*
3233
ClearScript/V8/V8/build/

ClearScript.NoV8.sln.DotSettings

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
22
<s:String x:Key="/Default/CodeInspection/CSharpLanguageProject/LanguageLevel/@EntryValue">CSharp40</s:String>
3+
<s:Boolean x:Key="/Default/CodeInspection/ExcludedFiles/FileMasksToSkip/=_002A_002Ecpp/@EntryIndexedValue">True</s:Boolean>
4+
<s:Boolean x:Key="/Default/CodeInspection/ExcludedFiles/FileMasksToSkip/=_002A_002Eh/@EntryIndexedValue">True</s:Boolean>
5+
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ArrangeRedundantParentheses/@EntryIndexedValue">DO_NOT_SHOW</s:String>
36
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConvertIfStatementToConditionalTernaryExpression/@EntryIndexedValue">DO_NOT_SHOW</s:String>
47
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConvertIfStatementToNullCoalescingExpression/@EntryIndexedValue">DO_NOT_SHOW</s:String>
58
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ImpureMethodCallOnReadonlyValueField/@EntryIndexedValue">DO_NOT_SHOW</s:String>

ClearScript.sln.DotSettings

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation">
22
<s:String x:Key="/Default/CodeInspection/CSharpLanguageProject/LanguageLevel/@EntryValue">CSharp40</s:String>
3+
<s:Boolean x:Key="/Default/CodeInspection/ExcludedFiles/FileMasksToSkip/=_002A_002Ecpp/@EntryIndexedValue">True</s:Boolean>
4+
<s:Boolean x:Key="/Default/CodeInspection/ExcludedFiles/FileMasksToSkip/=_002A_002Eh/@EntryIndexedValue">True</s:Boolean>
5+
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ArrangeRedundantParentheses/@EntryIndexedValue">DO_NOT_SHOW</s:String>
36
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConvertIfStatementToConditionalTernaryExpression/@EntryIndexedValue">DO_NOT_SHOW</s:String>
47
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ConvertIfStatementToNullCoalescingExpression/@EntryIndexedValue">DO_NOT_SHOW</s:String>
58
<s:String x:Key="/Default/CodeInspection/Highlighting/InspectionSeverities/=ImpureMethodCallOnReadonlyValueField/@EntryIndexedValue">DO_NOT_SHOW</s:String>

ClearScript/ClearScript.csproj

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,10 @@
6969
<Compile Include="BindSignature.cs" />
7070
<Compile Include="IScriptEngineException.cs" />
7171
<Compile Include="DefaultScriptUsageAttribute.cs" />
72+
<Compile Include="JavaScript\IArrayBuffer.cs" />
73+
<Compile Include="JavaScript\IArrayBufferView.cs" />
74+
<Compile Include="JavaScript\IDataView.cs" />
75+
<Compile Include="JavaScript\ITypedArray.cs" />
7276
<Compile Include="NoDefaultScriptAccessAttribute.cs" />
7377
<Compile Include="NoScriptAccessAttribute.cs" />
7478
<Compile Include="Properties\AssemblyInfo.cs">
@@ -97,7 +101,11 @@
97101
<Compile Include="Util\Scope.cs" />
98102
<Compile Include="Util\SocketHelpers.cs" />
99103
<Compile Include="Util\SpecialDispIDs.cs" />
104+
<Compile Include="Util\UnmanagedMemoryHelpers.cs" />
105+
<Compile Include="Util\VTablePatcher.cs" />
100106
<Compile Include="V8\IV8DebugListener.cs" />
107+
<Compile Include="V8\V8ArrayBufferOrViewInfo.cs" />
108+
<Compile Include="V8\V8ArrayBufferOrViewKind.cs" />
101109
<Compile Include="V8\V8DebugAgent.cs" />
102110
<Compile Include="V8\V8RuntimeHeapInfo.cs" />
103111
<Compile Include="V8\V8Script.cs" />

ClearScript/Exports/VersionSymbols.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -63,5 +63,5 @@
6363

6464
#pragma once
6565

66-
#define CLEARSCRIPT_VERSION_STRING "5.4.3.0"
67-
#define CLEARSCRIPT_VERSION_COMMA_SEPARATED 5,4,3,0
66+
#define CLEARSCRIPT_VERSION_STRING "5.4.4.0"
67+
#define CLEARSCRIPT_VERSION_COMMA_SEPARATED 5,4,4,0

ClearScript/HostItem.InvokeMethod.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -343,7 +343,11 @@ private static CSharpArgumentInfo CreateArgInfo(object arg)
343343
if (arg != null)
344344
{
345345
flags |= CSharpArgumentInfoFlags.UseCompileTimeType;
346-
if (arg is IOutArg)
346+
if (arg is int)
347+
{
348+
flags |= CSharpArgumentInfoFlags.Constant;
349+
}
350+
else if (arg is IOutArg)
347351
{
348352
flags |= CSharpArgumentInfoFlags.IsOut;
349353
}

0 commit comments

Comments
 (0)