Added RAIL.dll
Updated DotSets.dll and Mono.PEToolkit.dll Started on microthreading - currently display exception during startupafrisby
parent
66695ded13
commit
f2dd6c86f7
|
@ -190,7 +190,7 @@ namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
|||
private string ProcessYield(string FileName)
|
||||
{
|
||||
// TODO: Create a new assembly and copy old but insert Yield Code
|
||||
return FileName;
|
||||
return TempDotNetMicroThreadingCodeInjector.TestFix(FileName);
|
||||
}
|
||||
|
||||
private AppDomain GetFreeAppDomain()
|
||||
|
|
|
@ -0,0 +1,41 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text;
|
||||
using Rail.Transformation;
|
||||
using Rail.Reflect;
|
||||
using Rail.Exceptions;
|
||||
using Rail.MSIL;
|
||||
|
||||
namespace OpenSim.Region.ScriptEngine.DotNetEngine
|
||||
{
|
||||
class TempDotNetMicroThreadingCodeInjector
|
||||
{
|
||||
public static string TestFix(string FileName)
|
||||
{
|
||||
string ret = System.IO.Path.GetFileNameWithoutExtension(FileName + "_fixed.dll");
|
||||
|
||||
Console.WriteLine("Loading: \"" + FileName + "\"");
|
||||
RAssemblyDef rAssembly = RAssemblyDef.LoadAssembly(FileName);
|
||||
|
||||
|
||||
//Get the type of the method to copy from assembly Teste2.exe to assembly Teste.exe
|
||||
RTypeDef type = (RTypeDef)rAssembly.RModuleDef.GetType("SecondLife.Script");
|
||||
|
||||
//Get the methods in the type
|
||||
RMethod[] m = type.GetMethods();
|
||||
|
||||
//Create a MethodPrologueAdder visitor object with the method to add
|
||||
//and with the flag that enables local variable creation set to true
|
||||
MethodPrologueAdder mpa = new MethodPrologueAdder((RMethodDef)m[0], true);
|
||||
|
||||
//Apply the changes to the assembly
|
||||
rAssembly.Accept(mpa);
|
||||
|
||||
//Save the new assembly
|
||||
rAssembly.SaveAssembly(ret);
|
||||
|
||||
return ret;
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Binary file not shown.
|
@ -958,6 +958,7 @@
|
|||
<Reference name="OpenSim.Region.Environment" />
|
||||
<Reference name="Axiom.MathLib.dll" localCopy="false"/>
|
||||
<Reference name="libsecondlife.dll"/>
|
||||
<Reference name="RAIL.dll"/>
|
||||
<Reference name="OpenSim.Framework"/>
|
||||
<Reference name="OpenSim.Framework.Console"/>
|
||||
<Files>
|
||||
|
|
Loading…
Reference in New Issue