Version 5.3.7: Fixed V8ScriptEngine compiled script evaluation result marshaling (Issue #16), added a test for the fix, cleared PYTHONPATH in V8Update. Tested with V8 3.21.2.

This commit is contained in:
ClearScript 2013-08-22 22:17:06 -04:00
Родитель 21f490f61d
Коммит 6c75e44d6b
10 изменённых файлов: 28 добавлений и 17 удалений

Просмотреть файл

@ -63,5 +63,5 @@
#pragma once
#define CLEARSCRIPT_VERSION_STRING "5.3.6.0"
#define CLEARSCRIPT_VERSION_COMMA_SEPARATED 5,3,6,0
#define CLEARSCRIPT_VERSION_STRING "5.3.7.0"
#define CLEARSCRIPT_VERSION_COMMA_SEPARATED 5,3,7,0

Просмотреть файл

@ -73,5 +73,5 @@ using System.Runtime.InteropServices;
[assembly: InternalsVisibleTo("ClearScriptTest")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("5.3.6.0")]
[assembly: AssemblyFileVersion("5.3.6.0")]
[assembly: AssemblyVersion("5.3.7.0")]
[assembly: AssemblyFileVersion("5.3.7.0")]

Просмотреть файл

@ -1,6 +1,6 @@
Index: src/utils.h
===================================================================
--- src/utils.h (revision 16178)
--- src/utils.h (revision 16272)
+++ src/utils.h (working copy)
@@ -109,7 +109,7 @@
// These are kind of 2's complement reciprocal of the divisors.
@ -13,7 +13,7 @@ Index: src/utils.h
// lithium-codegen-arm.cc : LCodeGen::TryEmitSignedIntegerDivisionByConstant().
Index: tools/gyp/v8.gyp
===================================================================
--- tools/gyp/v8.gyp (revision 16178)
--- tools/gyp/v8.gyp (revision 16272)
+++ tools/gyp/v8.gyp (working copy)
@@ -33,6 +33,7 @@
'targets': [

Просмотреть файл

@ -364,7 +364,7 @@ namespace Microsoft.ClearScript.V8
MiscHelpers.VerifyNonNullArgument(script, "script");
VerifyNotDisposed();
return ScriptInvoke(() =>
return MarshalToHost(ScriptInvoke(() =>
{
var stateObjects = new object[2];
using (var timer = new Timer(OnContinuationTimer, stateObjects, Timeout.Infinite, Timeout.Infinite))
@ -374,7 +374,7 @@ namespace Microsoft.ClearScript.V8
timer.Change(continuationInterval, Timeout.Infinite);
return proxy.Execute(script);
}
});
}), false);
}
// ReSharper restore ParameterHidesMember

Просмотреть файл

@ -69,5 +69,5 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCopyright("(c) Microsoft Corporation")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("5.3.6.0")]
[assembly: AssemblyFileVersion("5.3.6.0")]
[assembly: AssemblyVersion("5.3.7.0")]
[assembly: AssemblyFileVersion("5.3.7.0")]

Просмотреть файл

@ -69,5 +69,5 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCopyright("(c) Microsoft Corporation")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("5.3.6.0")]
[assembly: AssemblyFileVersion("5.3.6.0")]
[assembly: AssemblyVersion("5.3.7.0")]
[assembly: AssemblyFileVersion("5.3.7.0")]

Просмотреть файл

@ -244,6 +244,16 @@ namespace Microsoft.ClearScript.Test
Assert.AreEqual((long)int.MaxValue * 123 + 1, engine.Evaluate("Int32.MaxValue * 123 + 1"));
}
[TestMethod, TestCategory("BugFix")]
public void BugFix_CompiledScriptResult()
{
engine.Script.host = new HostFunctions();
using (var script = ((V8ScriptEngine)engine).Compile("host"))
{
Assert.IsInstanceOfType(((V8ScriptEngine)engine).Evaluate(script), typeof(HostFunctions));
}
}
// ReSharper restore InconsistentNaming
#endregion

Просмотреть файл

@ -69,5 +69,5 @@ using System.Runtime.InteropServices;
[assembly: AssemblyCopyright("(c) Microsoft Corporation")]
[assembly: ComVisible(false)]
[assembly: AssemblyVersion("5.3.6.0")]
[assembly: AssemblyFileVersion("5.3.6.0")]
[assembly: AssemblyVersion("5.3.7.0")]
[assembly: AssemblyFileVersion("5.3.7.0")]

Просмотреть файл

@ -5,8 +5,8 @@ setlocal
:: process arguments
::-----------------------------------------------------------------------------
set testedRevision=16178
set testedVersion=3.20.16
set testedRevision=16272
set testedVersion=3.21.2
:ProcessArgs
@ -161,6 +161,7 @@ cd ..
set GYP_MSVS_VERSION=2012
set PYTHONHOME=
set PYTHONPATH=
:Copy32Bit
echo Building 32-bit V8 ...

Просмотреть файл

@ -1 +1 @@
<# var version = new Version(5, 3, 6, 0); #>
<# var version = new Version(5, 3, 7, 0); #>