--- /dev/null
+@echo off
+cd mcs\jay
+vcbuild jay.vcxproj
+msbuild net_4_x.sln
--- /dev/null
+#!/bin/sh
+(cd mcs/jay; make)
+msbuild net_4_x.sln
-->\r
<PropertyGroup>\r
<PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+$(ProjectDir)\..\..\jay\jay -ct < $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Commons.Xml.Relaxng.Rnc\RncParser.jay > $(ProjectDir)\Commons.Xml.Relaxng.Rnc\RncParser.cs
</PreBuildEvent>\r
<PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+$(ProjectDir)\..\..\jay\jay.exe -ct < $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Commons.Xml.Relaxng.Rnc\RncParser.jay > $(ProjectDir)\Commons.Xml.Relaxng.Rnc\RncParser.cs
\r
</PreBuildEvent>\r
\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="resources/SR.resources">\r
+ <EmbeddedResource Include="resources/SR.resx">\r
<LogicalName>SR.resources</LogicalName>\r
</EmbeddedResource>\r
<EmbeddedResource Include="resources/SQLiteCommand.bmp">\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="Novell.Directory.Ldap.Utilclass/ResultCodeMessages.resources">\r
+ <EmbeddedResource Include="Novell.Directory.Ldap.Utilclass/ResultCodeMessages.resx">\r
<LogicalName>ResultCodeMessages.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="Microsoft.Internal.Strings.resources">\r
+ <EmbeddedResource Include="Microsoft.Internal.Strings.resx">\r
<LogicalName>Microsoft.Internal.Strings.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="Client/System.Data.Services.Client.resources">\r
+ <EmbeddedResource Include="Client/System.Data.Services.Client.resx">\r
<LogicalName>System.Data.Services.Client.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="System.Json.Properties.Resources.resources">\r
+ <EmbeddedResource Include="System.Json.Properties.Resources.resx">\r
<LogicalName>System.Json.Properties.Resources.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="System.Net.Http.Properties.CommonWebApiResources.resources">\r
+ <EmbeddedResource Include="System.Net.Http.Properties.CommonWebApiResources.resx">\r
<LogicalName>System.Net.Http.Properties.CommonWebApiResources.resources</LogicalName>\r
</EmbeddedResource>\r
- <EmbeddedResource Include="System.Net.Http.Properties.Resources.resources">\r
+ <EmbeddedResource Include="System.Net.Http.Properties.Resources.resx">\r
<LogicalName>System.Net.Http.Properties.Resources.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
public void Close ()
{
CancellationTokenRegistration.Dispose ();
- ContentStream.Close ();
+ if (ContentStream != null) {
+ ContentStream.Close ();
+ }
}
}
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="Strings_Core.resources">\r
+ <EmbeddedResource Include="Strings_Core.resx">\r
<LogicalName>System.Reactive.Strings_Core.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="Strings_Linq.resources">\r
+ <EmbeddedResource Include="Strings_Linq.resx">\r
<LogicalName>System.Reactive.Strings_Linq.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="Strings_PlatformServices.resources">\r
+ <EmbeddedResource Include="Strings_PlatformServices.resx">\r
<LogicalName>System.Reactive.Strings_PlatformServices.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="Strings_Providers.resources">\r
+ <EmbeddedResource Include="Strings_Providers.resx">\r
<LogicalName>System.Reactive.Strings_Providers.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="Strings_WindowsThreading.resources">\r
+ <EmbeddedResource Include="Strings_WindowsThreading.resx">\r
<LogicalName>System.Reactive.Strings_WindowsThreading.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="System.Web.Http.Properties.CommonWebApiResources.resources">\r
+ <EmbeddedResource Include="System.Web.Http.Properties.CommonWebApiResources.resx">\r
<LogicalName>System.Web.Http.Properties.CommonWebApiResources.resources</LogicalName>\r
</EmbeddedResource>\r
- <EmbeddedResource Include="System.Web.Http.Properties.SRResources.resources">\r
+ <EmbeddedResource Include="System.Web.Http.Properties.SRResources.resx">\r
<LogicalName>System.Web.Http.Properties.SRResources.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="Mvc/Resources/MvcResources.resources">\r
+ <EmbeddedResource Include="Mvc/Resources/MvcResources.resx">\r
<LogicalName>System.Web.Mvc.Resources.MvcResources.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="System.Web.Razor.Resources.RazorResources.resources">\r
+ <EmbeddedResource Include="System.Web.Razor.Resources.RazorResources.resx">\r
<LogicalName>System.Web.Razor.Resources.RazorResources.resources</LogicalName>\r
</EmbeddedResource>\r
- <EmbeddedResource Include="System.Web.Razor.Common.CommonResources.resources">\r
+ <EmbeddedResource Include="System.Web.Razor.Common.CommonResources.resx">\r
<LogicalName>System.Web.Razor.Common.CommonResources.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="System.Web.WebPages.Deployment.Common.CommonResources.resources">\r
+ <EmbeddedResource Include="System.Web.WebPages.Deployment.Common.CommonResources.resx">\r
<LogicalName>System.Web.WebPages.Deployment.Common.CommonResources.resources</LogicalName>\r
</EmbeddedResource>\r
- <EmbeddedResource Include="System.Web.WebPages.Deployment.Resources.ConfigurationResources.resources">\r
+ <EmbeddedResource Include="System.Web.WebPages.Deployment.Resources.ConfigurationResources.resx">\r
<LogicalName>System.Web.WebPages.Deployment.Resources.ConfigurationResources.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="System.Web.WebPages.Razor.Resources.RazorWebResources.resources">\r
+ <EmbeddedResource Include="System.Web.WebPages.Razor.Resources.RazorWebResources.resx">\r
<LogicalName>System.Web.WebPages.Razor.Resources.RazorWebResources.resources</LogicalName>\r
</EmbeddedResource>\r
- <EmbeddedResource Include="System.Web.WebPages.Razor.Common.CommonResources.resources">\r
+ <EmbeddedResource Include="System.Web.WebPages.Razor.Common.CommonResources.resx">\r
<LogicalName>System.Web.WebPages.Razor.Common.CommonResources.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="System.Web.WebPages.Resources.WebPageResources.resources">\r
+ <EmbeddedResource Include="System.Web.WebPages.Resources.WebPageResources.resx">\r
<LogicalName>System.Web.WebPages.Resources.WebPageResources.resources</LogicalName>\r
</EmbeddedResource>\r
- <EmbeddedResource Include="System.Web.WebPages.Common.CommonResources.resources">\r
+ <EmbeddedResource Include="System.Web.WebPages.Common.CommonResources.resx">\r
<LogicalName>System.Web.WebPages.Common.CommonResources.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="resources/TranslationResources.resources">\r
+ <EmbeddedResource Include="resources/TranslationResources.resx">\r
<LogicalName>TranslationResources.resources</LogicalName>\r
</EmbeddedResource>\r
<EmbeddedResource Include="resources/WebUIValidation.js">\r
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="resources/TranslationResources.resources">\r
+ <EmbeddedResource Include="resources/TranslationResources.resx">\r
<LogicalName>TranslationResources.resources</LogicalName>\r
</EmbeddedResource>\r
<EmbeddedResource Include="resources/WebUIValidation.js">\r
<EmbeddedResource Include="resources/DnDMove.cur">\r
<LogicalName>System.Windows.Forms.DnDMove.cur</LogicalName>\r
</EmbeddedResource>\r
- <EmbeddedResource Include="resources/keyboards.resources">\r
+ <EmbeddedResource Include="resources/keyboards.resx">\r
<LogicalName>keyboards.resources</LogicalName>\r
</EmbeddedResource>\r
<EmbeddedResource Include="resources/16_computer.png">\r
{
// Ensure that all the data has been read out of the package
// stream already. Otherwise we'll lose data when we recreate the zip
- foreach (ZipPackagePart part in Parts.Values)
- part.GetStream ().Dispose ();
+ foreach (ZipPackagePart part in Parts.Values) {
+ if (part.Package != null)
+ part.GetStream ().Dispose ();
+ }
// Empty the package stream
PackageStream.Position = 0;
// Write all the part streams
foreach (ZipPackagePart part in Parts.Values) {
+ if (part.Package == null)
+ continue;
+
Stream partStream = part.GetStream ();
partStream.Seek (0, SeekOrigin.Begin);
<Folder Include="Properties\" />\r
</ItemGroup>\r
<ItemGroup>\r
- <EmbeddedResource Include="Transform.resources">\r
+ <EmbeddedResource Include="Transform.resx">\r
<LogicalName>NUnit.Util.Transform.resources</LogicalName>\r
</EmbeddedResource>\r
</ItemGroup>\r
RUNTIME_AOTCHECK = MONO_PATH="$(CLASS)$(PLATFORM_PATH_SEPARATOR)." $(RUNTIME_EXECUTABLE)
CSC = $(mcs_topdir)/class/lib/build/mcs.exe
-MCS = CSC_SDK_PATH_DISABLED= $(MINI_RUNTIME) $(CSC) -unsafe -nowarn:0162 -nologo -noconfig -r:$(CLASS)/mscorlib.dll -r:$(CLASS)/System.dll
+MCS = CSC_SDK_PATH_DISABLED= $(MINI_RUNTIME) $(CSC) -unsafe -nowarn:0162 -nologo -noconfig -r:$(CLASS)/mscorlib.dll -r:$(CLASS)/System.dll -r:$(CLASS)/System.Core.dll
ILASM = $(MINI_RUNTIME) $(CLASS)/ilasm.exe
AM_CFLAGS = \
int context_used;
MonoInst *klass_inst = NULL, *res;
+ if (src->opcode == OP_PCONST && src->inst_p0 == 0)
+ return src;
+
context_used = mini_class_check_context_used (cfg, klass);
if (!context_used && mini_class_has_reference_variant_generic_argument (cfg, klass, context_used)) {
if (context_used) {
MonoInst *args [3];
- if(mini_class_has_reference_variant_generic_argument (cfg, klass, context_used) || is_complex_isinst (klass)) {
+ if (mini_class_has_reference_variant_generic_argument (cfg, klass, context_used) || is_complex_isinst (klass)) {
MonoInst *cache_ins;
cache_ins = emit_get_rgctx_klass (cfg, context_used, klass, MONO_RGCTX_INFO_CAST_CACHE);
#define MONO_ARCH_HAVE_SDB_TRAMPOLINES 1
#define MONO_ARCH_HAVE_PATCH_CODE_NEW 1
#define MONO_ARCH_HAVE_OP_GENERIC_CLASS_INIT 1
+#define MONO_ARCH_HAVE_GENERAL_RGCTX_LAZY_FETCH_TRAMPOLINE 1
#if defined(TARGET_OSX) || defined(__linux__)
#define MONO_ARCH_HAVE_UNWIND_BACKTRACE 1
return buf;
}
+gpointer
+mono_arch_create_general_rgctx_lazy_fetch_trampoline (MonoTrampInfo **info, gboolean aot)
+{
+ guint8 *code, *buf;
+ int tramp_size;
+ MonoJumpInfo *ji = NULL;
+ GSList *unwind_ops;
+
+ g_assert (aot);
+ tramp_size = 64;
+
+ code = buf = (guint8 *)mono_global_codeman_reserve (tramp_size);
+
+ unwind_ops = mono_arch_get_cie_program ();
+
+ // FIXME: Currently, we always go to the slow path.
+ /* This receives a <slot, trampoline> in the rgctx arg reg. */
+ /* Load trampoline addr */
+ amd64_mov_reg_membase (code, AMD64_R11, MONO_ARCH_RGCTX_REG, 8, 8);
+ /* move the rgctx pointer to the VTABLE register */
+ amd64_mov_reg_reg (code, MONO_ARCH_VTABLE_REG, AMD64_ARG_REG1, sizeof(gpointer));
+ /* Jump to the trampoline */
+ amd64_jump_reg (code, AMD64_R11);
+
+ mono_arch_flush_icache (buf, code - buf);
+ mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_GENERICS_TRAMPOLINE, NULL);
+
+ g_assert (code - buf <= tramp_size);
+
+ if (info)
+ *info = mono_tramp_info_create ("rgctx_fetch_trampoline_general", buf, code - buf, ji, unwind_ops);
+
+ return buf;
+}
+
void
mono_arch_invalidate_method (MonoJitInfo *ji, void *func, gpointer func_arg)
{
--- /dev/null
+$(ProjectDir)\..\..\jay\jay.exe -ct < $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Commons.Xml.Relaxng.Rnc\RncParser.jay > $(ProjectDir)\Commons.Xml.Relaxng.Rnc\RncParser.cs
foreach (var dk in embedded_resources) {
var source = dk.Key;
if (source.EndsWith (".resources"))
- source.Replace (".resources", ".resx");
+ source = source.Replace (".resources", ".resx");
+ Console.WriteLine ("Got {0} -> {1}", dk.Key, source);
resources.AppendFormat (" <EmbeddedResource Include=\"{0}\">" + NewLine, source);
resources.AppendFormat (" <LogicalName>{0}</LogicalName>" + NewLine, dk.Value);
resources.AppendFormat (" </EmbeddedResource>" + NewLine);
}
switch (args [1]){
- case "xml":
- Filter (bdir + "/class/System.XML/System.Xml.XPath/Parser.jay",
- bdir + "/class/System.XML/Mono.Xml.Xsl/PatternParser.jay",
- (i, o) => o.Write (i.ReadToEnd ().Replace ("%start Expr", "%start Pattern")));
- break;
-
case "core":
Filter (bdir + "/build/common/Consts.cs.in",
bdir + "/build/common/Consts.cs",