mono.git
10 years ago[build]Enable passing arguments to the extension module.
Rodrigo Kumpera [Mon, 4 Nov 2013 15:55:29 +0000 (10:55 -0500)]
[build]Enable passing arguments to the extension module.

The build argument --enable-extension-module now takes a comma separated list
of arguments that are passed down. Passing no arguments triggers the old behavior.

10 years ago[jit] Reduce the number of #ifdefs in the JIT code by a little.
Zoltan Varga [Sun, 3 Nov 2013 21:26:16 +0000 (22:26 +0100)]
[jit] Reduce the number of #ifdefs in the JIT code by a little.

10 years agoFix corlib tests with hard coded line numbers.
Zoltan Varga [Sun, 3 Nov 2013 21:22:07 +0000 (22:22 +0100)]
Fix corlib tests with hard coded line numbers.

10 years ago[jit] Get rid of the intermediate OP_..CALLVIRT opcodes, use the _MEMBASE opcodes...
Zoltan Varga [Sun, 3 Nov 2013 20:54:57 +0000 (21:54 +0100)]
[jit] Get rid of the intermediate OP_..CALLVIRT opcodes, use the _MEMBASE opcodes instead.

10 years ago[jit] Add support for generating the push/pop the LMF from the LMF stack as IR instea...
Zoltan Varga [Sun, 3 Nov 2013 13:38:44 +0000 (14:38 +0100)]
[jit] Add support for generating the push/pop the LMF from the LMF stack as IR instead of hand-written assembly code in the backends. Not yet used.

10 years agoMark some corlib tests with the LLVMNotWorking category.
Zoltan Varga [Sun, 3 Nov 2013 13:19:09 +0000 (14:19 +0100)]
Mark some corlib tests with the LLVMNotWorking category.

10 years ago[jit] Disable the optimization added by 63eb94e451a59491034516f2ec9f27d586b34d86...
Zoltan Varga [Sun, 3 Nov 2013 00:35:28 +0000 (01:35 +0100)]
[jit] Disable the optimization added by 63eb94e451a59491034516f2ec9f27d586b34d86 when using LLVM, the handler bblock has no in edges, which seems to cause problems when using LLVM.

10 years ago[jit] Add a comment.
Zoltan Varga [Sat, 2 Nov 2013 22:53:47 +0000 (23:53 +0100)]
[jit] Add a comment.

10 years ago[jit] Remove OP_JMP implementation from the x86 backend, its not used there.
Zoltan Varga [Sat, 2 Nov 2013 22:45:08 +0000 (23:45 +0100)]
[jit] Remove OP_JMP implementation from the x86 backend, its not used there.

10 years ago[jit] Clean up the tail call code a bit.
Zoltan Varga [Sat, 2 Nov 2013 21:14:18 +0000 (22:14 +0100)]
[jit] Clean up the tail call code a bit.

10 years ago[sdb] Implement support for DebuggerStepThrough attribute. Fixes #15139.
Zoltan Varga [Sat, 2 Nov 2013 19:42:49 +0000 (20:42 +0100)]
[sdb] Implement support for DebuggerStepThrough attribute. Fixes #15139.

10 years agoMerge pull request #798 from akoeplinger/fix-test
Marek Safar [Sat, 2 Nov 2013 08:20:02 +0000 (01:20 -0700)]
Merge pull request #798 from akoeplinger/fix-test

Fixed an issue in corlib Makefile

10 years agohack SettingValueElement.Unmerge().
Atsushi Eno [Sat, 2 Nov 2013 07:54:09 +0000 (16:54 +0900)]
hack SettingValueElement.Unmerge().

10 years ago[jit] Fix fbd9fd71679f626fabe0b1bd7f923836f98252b4, a wrong version was commited.
Zoltan Varga [Sat, 2 Nov 2013 02:26:23 +0000 (03:26 +0100)]
[jit] Fix fbd9fd71679f626fabe0b1bd7f923836f98252b4, a wrong version was commited.

10 years ago[fullaot] Don't use the complicated generics-heavy cache under full-aot.
Rodrigo Kumpera [Fri, 1 Nov 2013 21:51:16 +0000 (17:51 -0400)]
[fullaot] Don't use the complicated generics-heavy cache under full-aot.

10 years ago[System] Avoid an NRE when Close() and Write() are concurrent.
Jonathan Pryor [Fri, 1 Nov 2013 20:39:42 +0000 (16:39 -0400)]
[System] Avoid an NRE when Close() and Write() are concurrent.

Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=15857

Scenario (for which I couldn't easily create a testcase, but can
sketch out): Imagine using HttpClient...in a multithreaded manner:

// shared:
static CancellationTokenSource _cancellationTokenSource = new CancellationTokenSource ();

// Thread 1
var request = new HttpRequestMessage(HttpMethod.Post, "https://www.google.com/") {
Content = new StringContent (new string('x', 1024)),
};
using (request)
using (HttpClient httpClient = new HttpClient())
using (HttpResponseMessage response = await httpClient.SendAsync(request,
_cancellationTokenSource.Token)) {
string responseContent = await response.Content.ReadAsStringAsync();
Console.WriteLine ("Read {0} chars", responseContent.Length);
}

// Thread 2
_cancellationTokenSource.Cancel ();

This isn't entirely farfetched; in the case of #15857, Thread 2 was
the Main thread (due to the user clicking a button), while Thread 1
was the ThreadPool (because of async/await).

The _occasional_ result: a TargetInvocationException exception:

System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.NullReferenceException: Object reference not set to an instance of an object
  at (wrapper delegate-invoke) <Module>:invoke_bool__this___HttpsClientStream (Mono.Security.Protocol.Tls.HttpsClientStream)
  at System.Reflection.MonoProperty.GetterAdapterFrame[HttpsClientStream,Boolean] (System.Reflection.Getter`2 getter, System.Object obj)
  at System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index)
  --- End of inner exception stack trace ---
  at System.Reflection.MonoProperty.GetValue (System.Object obj, System.Object[] index)
  at System.Net.WebConnection.Write (System.Net.HttpWebRequest request, System.Byte[] buffer, Int32 offset, Int32 size, System.String& err_msg)
  at System.Net.WebConnectionStream.WriteHeaders ()
  at System.Net.WebConnectionStream.SetHeaders (System.Byte[] buffer)
  at System.Net.HttpWebRequest.SendRequestHeaders (Boolean propagate_error)
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()
  at System.Runtime.CompilerServices.ConfiguredTaskAwaitable`1+ConfiguredTaskAwaiter[System.Net.Http.HttpResponseMessage].GetResult ()
  at System.Net.Http.HttpClient+<SendAsyncWorker>c__async0.MoveNext ()
--- End of stack trace from previous location where exception was thrown ---
  at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw ()
  at System.Runtime.CompilerServices.TaskAwaiter`1[System.Net.Http.HttpResponseMessage].GetResult ()
  at HttpClientAsyncCancellationRepro.Activity1+<AccessGoogleButton_Click>c__async0.MoveNext ()

Huh?

The reason why is because HttpClientHandler.SendAsync() registers a
Cancel handler with the CancellationTokenSource, and the registered
handler calls HttpWebRequest.Abort() (which eventually calls
WebConnection.Close()). This causes WebConnection.nstream to _change_
while WebConnection.Write() is executing, causing
WebConnection.nstream to go from non-null to null, which
WebConnection.Write() does not expect:

# WebConnection.CreateStream; from 5 Threadpool worker
# WebConnection.Write; from 5 Threadpool worker
# WebConnection.Close; from 1  at    at System.Environment.get_StackTrace()
   at System.Net.WebConnection.Close(Boolean sendNext)
   at System.Net.WebConnection.Abort(System.Object sender, System.EventArgs args)
   at System.Net.WebConnection+AbortHelper.Abort(System.Object sender, System.EventArgs args)
   at System.Net.HttpWebRequest.Abort()
   at System.Net.Http.HttpClientHandler+<SendAsync>c__async0.<>m__0(System.Object l)
   at System.Threading.CancellationToken+<Register>c__AnonStorey0.<>m__0()
   at System.Threading.CancellationTokenSource.Cancel(Boolean throwOnFirstException)
   at System.Threading.CancellationTokenSource.Cancel()
   at System.Threading.CancellationTokenSource.SafeLinkedCancel()
   at System.Threading.CancellationTokenSource.Cancel(Boolean throwOnFirstException)
   at System.Threading.CancellationTokenSource.Cancel()
   at HttpClientAsyncCancellationRepro.Activity1.CancelButton_Click(System.Object sender, System.EventArgs e)
   at Android.Views.View+IOnClickListenerImplementor.OnClick(Android.Views.View v)
   at Android.Views.View+IOnClickListenerInvoker.n_OnClick_Landroid_view_View_(IntPtr jnienv, IntPtr native__this, IntPtr native_v)
   at System.Object.e7b5b870-ea0f-434f-bc31-984f665a44ad(IntPtr , IntPtr , IntPtr )
# WebConnection.Write: checking piTrustFailure; from 5 Threadpool worker

(Yay extra logging. Notice that WebConnection creates a stream from
the ThreadPool, starts WebConnection.Write(), then before it can se
piTrustFailure the instance is Close()d, which nulls out nstream.)

Since WebConnection.Write() attempts to access the (now null)
WebConnection.nstream field, it results in a NullReferenceException,
which is wrapped into a TargetInvocationException by
System.Reflection.

The fix? As usual, "don't do that."

In this case, WebConnection.Write() has already captured
WebConnection.nstream into the local variable `s` (which thus can't be
changed by another thread). Instead of using WebConnection.nstream,
reuse the `s` local variable, which cannot be null, thus avoiding the
NullReferenceException.

(This solution could fail if HttpsClientStream ever throws e.g.
ObjectDisposedException from HttpsClientStream.TrustFailure, but at
present HttpsClientStream.TrustFailure never throws, so this is fine.)

10 years agoComment style
Miguel de Icaza [Fri, 1 Nov 2013 20:49:35 +0000 (16:49 -0400)]
Comment style

10 years ago[jit] Avoid linking the try block with the EH block as this produces spurious BBs...
Rodrigo Kumpera [Fri, 1 Nov 2013 19:27:12 +0000 (15:27 -0400)]
[jit] Avoid linking the try block with the EH block as this produces spurious BBs during inlining.

The inliner could not handle optimally when we inline code inside the try block as it would be linked
with the catch block.

Since the source block would have more than one exit, the inliner would conservatively not link them together,
which hinders further local optimizations.

10 years agoFixed an issue in corlib Makefile that would make a resource test case fail which...
Alexander Köplinger [Fri, 1 Nov 2013 19:06:44 +0000 (20:06 +0100)]
Fixed an issue in corlib Makefile that would make a resource test case fail which relies on satellite assemblies.
The satellite assembly generated by the Makefile was suffixed with '.Resources.dll', but the assembly loader looks for '.resources.dll', thus the satellite assembly wasn't found.

10 years ago[jit]Extract emit_init_local and use it with the ldloca optimization to handle any...
Rodrigo Kumpera [Fri, 1 Nov 2013 19:05:55 +0000 (15:05 -0400)]
[jit]Extract emit_init_local and use it with the ldloca optimization to handle any kind of types.

10 years ago[jit] Fix a gsharedvt crash on x86.
Zoltan Varga [Fri, 1 Nov 2013 17:12:50 +0000 (18:12 +0100)]
[jit] Fix a gsharedvt crash on x86.

10 years agoRevert "[sgen] Use mono_class_has_parent () instead of mono_class_has_parent_fast...
Zoltan Varga [Fri, 1 Nov 2013 16:16:18 +0000 (17:16 +0100)]
Revert "[sgen] Use mono_class_has_parent () instead of mono_class_has_parent_fast () in one place."

This reverts commit 2594b363632d507e20dbc728f48bcb4bfef7295f.

Revert this as its wrong.

10 years agoFix warnings.
Zoltan Varga [Fri, 1 Nov 2013 14:24:02 +0000 (15:24 +0100)]
Fix warnings.

10 years ago[sgen] Use mono_class_has_parent () instead of mono_class_has_parent_fast () in one...
Zoltan Varga [Fri, 1 Nov 2013 15:16:29 +0000 (11:16 -0400)]
[sgen] Use mono_class_has_parent () instead of mono_class_has_parent_fast () in one place.

10 years ago[jit] Implement support for OP_TLS_GET_REG on amd64 linux.
Zoltan Varga [Fri, 1 Nov 2013 15:16:00 +0000 (11:16 -0400)]
[jit] Implement support for OP_TLS_GET_REG on amd64 linux.

10 years agoFix the linker script for OSX. libtool screwed up the first attempt.
Rodrigo Kumpera [Fri, 1 Nov 2013 14:56:55 +0000 (10:56 -0400)]
Fix the linker script for OSX. libtool screwed up the first attempt.

10 years agoMerge pull request #797 from ranma42/fix-log-message
Zoltan Varga [Fri, 1 Nov 2013 13:47:40 +0000 (06:47 -0700)]
Merge pull request #797 from ranma42/fix-log-message

[runtime] Fix AOT log message

10 years agoFix the amd64 build. Fix a warning.
Zoltan Varga [Fri, 1 Nov 2013 13:40:39 +0000 (14:40 +0100)]
Fix the amd64 build. Fix a warning.

10 years ago[sdb] Fix an assertion if a single step breakpoint is hit in a thread other than...
Zoltan Varga [Fri, 1 Nov 2013 13:16:15 +0000 (14:16 +0100)]
[sdb] Fix an assertion if a single step breakpoint is hit in a thread other than the thread the single stepping is done on. Fixes #14950.

10 years ago[jit] Fix the processing of LLVM compiled method frames on x86. Fixes running corlib...
Zoltan Varga [Fri, 1 Nov 2013 12:14:38 +0000 (13:14 +0100)]
[jit] Fix the processing of LLVM compiled method frames on x86. Fixes running corlib tests with LLVM.

10 years ago[sdb] Fix tests.
Zoltan Varga [Fri, 1 Nov 2013 12:13:47 +0000 (13:13 +0100)]
[sdb] Fix tests.

10 years ago[runtime] Fix AOT log message
Andrea Canciani [Fri, 1 Nov 2013 10:38:51 +0000 (11:38 +0100)]
[runtime] Fix AOT log message

In 72ca429d6ced5d0a5cf9e517e19aa2c49405f4ed the message format was
refactored and an additional '%s' format specifier was left over.

10 years agoFix indentation.
Alex Rønne Petersen [Fri, 1 Nov 2013 08:53:38 +0000 (09:53 +0100)]
Fix indentation.

Oddly, we don't use tabs here...

10 years ago[jit] Pair of fixes from last merge.
Rodrigo Kumpera [Thu, 31 Oct 2013 23:44:40 +0000 (19:44 -0400)]
[jit] Pair of fixes from last merge.

10 years ago[jit] The AggressiveInlining hint now triggers class initialization so more stuff...
Rodrigo Kumpera [Thu, 31 Oct 2013 23:34:04 +0000 (19:34 -0400)]
[jit] The AggressiveInlining hint now triggers class initialization so more stuff gets force-inlined.

10 years ago[jit] Clean up emit_init_rvar and reduce code duplication.
Rodrigo Kumpera [Thu, 31 Oct 2013 23:30:09 +0000 (19:30 -0400)]
[jit] Clean up emit_init_rvar and reduce code duplication.

10 years ago[jit] Clean up usage of signature variables.
Rodrigo Kumpera [Thu, 31 Oct 2013 22:41:18 +0000 (18:41 -0400)]
[jit] Clean up usage of signature variables.

10 years ago[jit]Add an alias analysis pass to the JIT.
Rodrigo Kumpera [Thu, 31 Oct 2013 21:02:59 +0000 (17:02 -0400)]
[jit]Add an alias analysis pass to the JIT.

The alias analysis pass is capable of simplifying indirection against
local or temporary variables. It will replace a memory load or store
with direct access to the variable.

It does a local pass looking for addresses and replacing memory
ops with direct ops.

If any conversion happens, it does a DCE pass to try to kill those
LDADDR and then recalculate the indirect flag.

Finally, if the number of indirect variables is reduced, it does a
global to local vreg pass and another DCE pass to kill most spurious
copying.

Performance numbers on 32bits OSX:

Code size:
mcs: -11.366 (0.6%)
corlib: -15.397 (0.6%)

Execution time increased by less than 0.2% which is about the same
value of the test variance.

Numbers are not impressive since we don't perform store forwarding
or constant load elimination. Proper handling of value type aggregates
and longs would move us much further.

10 years ago[jit] Add counters for alias analysis.
Rodrigo Kumpera [Thu, 31 Oct 2013 20:50:16 +0000 (16:50 -0400)]
[jit] Add counters for alias analysis.

10 years ago[jit] Introduce has_indirection flag in MonoCompile to signal that LDADDR was generated.
Rodrigo Kumpera [Thu, 31 Oct 2013 20:45:35 +0000 (16:45 -0400)]
[jit] Introduce has_indirection flag in MonoCompile to signal that LDADDR was generated.

To reduce the cost of alias analysis we detect which methods can potentially profit from
the optimization.

The current detection logic is very simple, every time LDADDR is generated, we set
has_indirection to TRUE.

10 years ago[jit]Replace all usages of MONO_INST_INDIRECT to force regalloc with MONO_INST_VOLATILE.
Rodrigo Kumpera [Thu, 31 Oct 2013 20:41:26 +0000 (16:41 -0400)]
[jit]Replace all usages of MONO_INST_INDIRECT to force regalloc with MONO_INST_VOLATILE.

The indirect flag should only be used to signal that the address of the given variable
has been taken. This means that it should be possible to recompute that flag from the IR.

The usage of the volatile flag remains not ideal as it conflates two separate issues
and will in the future hinder efforts to implement address based alias analysis.

10 years ago[jit] Add new optimization flag for alias analysis.
Rodrigo Kumpera [Thu, 31 Oct 2013 18:14:44 +0000 (14:14 -0400)]
[jit] Add new optimization flag for alias analysis.

10 years ago[Mono.Debugger.Soft] Test the inherited Type attributes
Jeffrey Stedfast [Thu, 31 Oct 2013 19:58:04 +0000 (15:58 -0400)]
[Mono.Debugger.Soft] Test the inherited Type attributes

10 years ago[Mono.Debugger.Soft] Fixed unit test for getting custom type attributes
Jeffrey Stedfast [Thu, 31 Oct 2013 19:02:01 +0000 (15:02 -0400)]
[Mono.Debugger.Soft] Fixed unit test for getting custom type attributes

10 years agoRevert "Implementation of Properties and Methods in MethodSignatureGenerator.cs"
Rodrigo Kumpera [Thu, 31 Oct 2013 18:59:19 +0000 (14:59 -0400)]
Revert "Implementation of Properties and Methods in MethodSignatureGenerator.cs"

This reverts commit 46cd052a3ab3102c59ed70f60a6290b4ed63da97.

This breaks the build.

10 years ago[runtime] Fix the ARM build.
Zoltan Varga [Thu, 31 Oct 2013 17:05:01 +0000 (18:05 +0100)]
[runtime] Fix the ARM build.

10 years ago[linker]: Fix my previous commit.
Martin Baulig [Fri, 25 Oct 2013 21:56:59 +0000 (23:56 +0200)]
[linker]: Fix my previous commit.

We need to resolve all the TypeReferences before we update their scopes.
After setting the scope to null, calling Resolve() on a nested child would
crash.

10 years agoMerge pull request #794 from aakashapoorv/patch-1
Marek Safar [Thu, 31 Oct 2013 06:58:27 +0000 (23:58 -0700)]
Merge pull request #794 from aakashapoorv/patch-1

Implementation of Properties and Methods in MethodSignatureGenerator.cs

10 years agoImplementation of Properties and Methods in MethodSignatureGenerator.cs
aakashapoorv [Thu, 31 Oct 2013 03:00:22 +0000 (11:00 +0800)]
Implementation of Properties and Methods in MethodSignatureGenerator.cs

Implemented following properties:-

CodeProvider
ContainerParameterType
DataSetClassName
IsGetMethod
PagingMethod
ParameterGenerationOption
ParameterOption
TableClassName

and following methods:-

GenerateMethod
GenerateMethodSignature
GenerateUpdatingMethods
SetDesignTableContent
SetMethodSourceContent

10 years agoDist README.md.
Zoltan Varga [Thu, 31 Oct 2013 01:16:52 +0000 (02:16 +0100)]
Dist README.md.

10 years ago[runtime] Make an AOT log message smaller.
Zoltan Varga [Wed, 30 Oct 2013 17:38:01 +0000 (18:38 +0100)]
[runtime] Make an AOT log message smaller.

10 years ago[Mono.Debugger.Soft] Implemented inheritance for TypeMirror.GetCustomAttributes()
Jeffrey Stedfast [Wed, 30 Oct 2013 19:36:24 +0000 (15:36 -0400)]
[Mono.Debugger.Soft] Implemented inheritance for TypeMirror.GetCustomAttributes()

Fixes bug #15320

10 years agoMerge pull request #795 from mono/readme2
Miguel de Icaza [Wed, 30 Oct 2013 18:45:21 +0000 (11:45 -0700)]
Merge pull request #795 from mono/readme2

[README] Minor update to content and use markdown formatting.

10 years ago[README] Minor update to content and use markdown formatting.
Therzok [Wed, 30 Oct 2013 18:42:27 +0000 (20:42 +0200)]
[README] Minor update to content and use markdown formatting.

10 years agoRename README to README.md
Miguel de Icaza [Wed, 30 Oct 2013 18:36:34 +0000 (14:36 -0400)]
Rename README to README.md

10 years agoAdd mono_arch_get_nullified_class_init_trampoline
Neale Ferguson [Wed, 30 Oct 2013 17:29:11 +0000 (13:29 -0400)]
Add mono_arch_get_nullified_class_init_trampoline

10 years agoFix MONO_PATH for run-test-vts in corlib.
Zoltan Varga [Wed, 30 Oct 2013 13:31:00 +0000 (14:31 +0100)]
Fix MONO_PATH for run-test-vts in corlib.

10 years ago[runtime] Fix a warning.
Zoltan Varga [Wed, 30 Oct 2013 12:04:05 +0000 (13:04 +0100)]
[runtime] Fix a warning.

10 years ago[runtime] Fix an assertion in mono_arch_context_get_int_reg () on amd64. Fixes #15786.
Zoltan Varga [Wed, 30 Oct 2013 12:03:47 +0000 (13:03 +0100)]
[runtime] Fix an assertion in mono_arch_context_get_int_reg () on amd64. Fixes #15786.

10 years agoDist the subdirs of class/Facades.
Zoltan Varga [Wed, 30 Oct 2013 10:31:26 +0000 (11:31 +0100)]
Dist the subdirs of class/Facades.

10 years agoFix skip_scan to handle proper load errors.
Rodrigo Kumpera [Tue, 29 Oct 2013 19:25:20 +0000 (15:25 -0400)]
Fix skip_scan to handle proper load errors.

10 years agoFixes build
Marek Safar [Tue, 29 Oct 2013 19:07:07 +0000 (20:07 +0100)]
Fixes build

10 years agoWhen parsing documentation cref text turn on error probing for tokenizer as well...
Marek Safar [Tue, 29 Oct 2013 18:00:21 +0000 (19:00 +0100)]
When parsing documentation cref text turn on error probing for tokenizer as well. Fixes #15511

10 years ago[aot] Small AOT changes. Save some constants into the AOT image instead of duplicatin...
Zoltan Varga [Tue, 29 Oct 2013 16:23:33 +0000 (17:23 +0100)]
[aot] Small AOT changes. Save some constants into the AOT image instead of duplicating them in aot-runtime.c. Emit some padding so multiple symbols do not point to the same address.

10 years ago[runtime] Add mno-signal-handler.h to dist.
Zoltan Varga [Tue, 29 Oct 2013 16:05:20 +0000 (17:05 +0100)]
[runtime] Add mno-signal-handler.h to dist.

10 years agoBetter error message when member does not implement interface. Fixes #15369
Marek Safar [Tue, 29 Oct 2013 14:04:44 +0000 (15:04 +0100)]
Better error message when member does not implement interface. Fixes #15369

10 years agoVariables from diffent parameter block still need to be captures even if async block...
Marek Safar [Tue, 29 Oct 2013 10:50:06 +0000 (11:50 +0100)]
Variables from diffent parameter block still need to be captures even if async block has no await. Fixes #15719

10 years agoThe stripper does not care if some variables can't be referenced (they'll be removed...
Sebastien Pouliot [Mon, 28 Oct 2013 13:55:12 +0000 (09:55 -0400)]
The stripper does not care if some variables can't be referenced (they'll be removed) and new cecil has a similar fix [#15727]

10 years agoBetter error message when type inference resolves valid types but parameter types...
Marek Safar [Mon, 28 Oct 2013 12:08:58 +0000 (13:08 +0100)]
Better error message when type inference resolves valid types but parameter types still don't match

10 years agoUpdate lower/upper type inference fixing to match the latest C# standard. Fixes ...
Marek Safar [Sun, 27 Oct 2013 20:37:34 +0000 (21:37 +0100)]
Update lower/upper type inference fixing to match the latest C# standard. Fixes #15505

10 years agoEnum subtraction quirk needs to work with numeric constants only. Fixes #15520
Marek Safar [Sun, 27 Oct 2013 07:39:51 +0000 (08:39 +0100)]
Enum subtraction quirk needs to work with numeric constants only. Fixes #15520

10 years agoSilence some noisy warnings in mono/tests/.
Alex Rønne Petersen [Sat, 26 Oct 2013 23:23:41 +0000 (01:23 +0200)]
Silence some noisy warnings in mono/tests/.

10 years agoAdd a .gitignore file to support/minizip/ to ignore *.la *.lo files.
Alex Rønne Petersen [Sat, 26 Oct 2013 23:15:45 +0000 (01:15 +0200)]
Add a .gitignore file to support/minizip/ to ignore *.la *.lo files.

10 years agoIgnore .dirstamp files.
Alex Rønne Petersen [Sat, 26 Oct 2013 23:15:00 +0000 (01:15 +0200)]
Ignore .dirstamp files.

10 years agoDon't assert in Interlocked.Add () icalls on 64-bit systems.
Alex Rønne Petersen [Sat, 26 Oct 2013 22:52:09 +0000 (00:52 +0200)]
Don't assert in Interlocked.Add () icalls on 64-bit systems.

The checks here were wrong in the first place; they should have
checked for MONO_ARCH_HAVE_ATOMIC_ADD rather than SIZEOF_VOID_P.
But regardless, these methods need to work when invoked via
reflection, which they wouldn't previously.

10 years agoDefine WIN32_LEAN_AND_MEAN before including windows.h.
Alex Rønne Petersen [Sat, 26 Oct 2013 19:34:42 +0000 (21:34 +0200)]
Define WIN32_LEAN_AND_MEAN before including windows.h.

10 years agoMerge pull request #790 from akoeplinger/fixtests
Marek Safar [Sat, 26 Oct 2013 07:11:19 +0000 (00:11 -0700)]
Merge pull request #790 from akoeplinger/fixtests

Fixed a test issue where net45 methods were used in net40 profile

10 years agoRemove dead s390(x) code from mono-membar.h.
Alex Rønne Petersen [Sat, 26 Oct 2013 03:07:54 +0000 (05:07 +0200)]
Remove dead s390(x) code from mono-membar.h.

10 years agoEnable GCC atomics on sparc32/64.
Alex Rønne Petersen [Sat, 26 Oct 2013 03:07:08 +0000 (05:07 +0200)]
Enable GCC atomics on sparc32/64.

10 years agoCorrect VFP detection in mono-hwcap-arm.
Alex Rønne Petersen [Fri, 25 Oct 2013 21:31:54 +0000 (23:31 +0200)]
Correct VFP detection in mono-hwcap-arm.

This is supposed to be the value 64, not 100.

10 years ago[runtime]Add a wrapper around signal handlers to ease porting work.
Rodrigo Kumpera [Fri, 25 Oct 2013 19:49:10 +0000 (15:49 -0400)]
[runtime]Add a wrapper around signal handlers to ease porting work.

10 years agoFixed a test issue where net45 methods were used in net40 profile
Alexander Köplinger [Tue, 22 Oct 2013 17:38:40 +0000 (19:38 +0200)]
Fixed a test issue where net45 methods were used in net40 profile

10 years agoAdd LLDB support to mono_gdb_render_native_backtraces () on POSIX.
Alex Rønne Petersen [Fri, 25 Oct 2013 16:20:44 +0000 (18:20 +0200)]
Add LLDB support to mono_gdb_render_native_backtraces () on POSIX.

10 years ago[runtime] Improve the docs on reference queues a bit.
Rodrigo Kumpera [Fri, 25 Oct 2013 15:41:08 +0000 (11:41 -0400)]
[runtime] Improve the docs on reference queues a bit.

10 years ago[runtime] Promote the reference queue API to the public.
Rodrigo Kumpera [Fri, 25 Oct 2013 15:40:51 +0000 (11:40 -0400)]
[runtime] Promote the reference queue API to the public.

10 years ago[linker]: Also reference all type-references for LinkAction.Link and Save.
Martin Baulig [Fri, 25 Oct 2013 13:15:18 +0000 (15:15 +0200)]
[linker]: Also reference all type-references for LinkAction.Link and Save.

10 years agoTests update
Marek Safar [Fri, 25 Oct 2013 10:25:49 +0000 (12:25 +0200)]
Tests update

10 years agoWhen looking for base implementation of generic MVAR methods use non-inflated paramet...
Marek Safar [Fri, 25 Oct 2013 08:41:41 +0000 (10:41 +0200)]
When looking for base implementation of generic MVAR methods use non-inflated parameter types. Fixes #15523

10 years agoAdd new tests
Marek Safar [Fri, 25 Oct 2013 08:40:44 +0000 (10:40 +0200)]
Add new tests

10 years ago[runtime] Fix the windows build.
Zoltan Varga [Thu, 24 Oct 2013 20:47:45 +0000 (22:47 +0200)]
[runtime] Fix the windows build.

10 years ago[runtime] Fix the sparc build.
Zoltan Varga [Thu, 24 Oct 2013 17:37:03 +0000 (19:37 +0200)]
[runtime] Fix the sparc build.

10 years agoPrefix internal variables with `mono_`.
Alex Rønne Petersen [Thu, 24 Oct 2013 15:19:56 +0000 (17:19 +0200)]
Prefix internal variables with `mono_`.

10 years agoAdd OrderedDictionary to the mobile profile.
Rolf Bjarne Kvinge [Thu, 24 Oct 2013 13:11:43 +0000 (15:11 +0200)]
Add OrderedDictionary to the mobile profile.

Requested in support case #49635.

10 years agoMove mono_get_optimizations_for_method to mini.c, since driver.c is only included...
Rolf Bjarne Kvinge [Thu, 24 Oct 2013 13:24:32 +0000 (15:24 +0200)]
Move mono_get_optimizations_for_method to mini.c, since driver.c is only included in binaries, not libraries.

10 years agoAdd a --with-llvm=<llvm prefix> argument to configure to make the location of llvm...
Zoltan Varga [Wed, 23 Oct 2013 20:04:33 +0000 (22:04 +0200)]
Add a --with-llvm=<llvm prefix> argument to configure to make the location of llvm-config explicit, instead of reading it from the PATH, which might be different on a reconfigure.

10 years ago[runtime]Properly calculate the bitmap of valuetype [ThreadStatic] variables.
Rodrigo Kumpera [Wed, 23 Oct 2013 22:06:55 +0000 (18:06 -0400)]
[runtime]Properly calculate the bitmap of valuetype [ThreadStatic] variables.

We must account that a valuetype field offset is relative to a boxed instance
and TLS memory stores a valuetype unboxed.

10 years agoFix mono_gc_wbarrier_generic_store_atomic semantics.
Alex Rønne Petersen [Wed, 23 Oct 2013 21:10:16 +0000 (23:10 +0200)]
Fix mono_gc_wbarrier_generic_store_atomic semantics.

It should ensure that stores are fully atomic with barriers.

10 years agoFix the semantics for System.Threading.Volatile methods.
Alex Rønne Petersen [Wed, 23 Oct 2013 21:05:36 +0000 (23:05 +0200)]
Fix the semantics for System.Threading.Volatile methods.

This is a bit tricky. The System.Threading.Thread.Volatile* methods
don't actually guarantee atomicity; all they guarantee is that the
runtime will insert acquire barriers for loads and release barriers
for stores. The methods in the System.Threading.Volatile class,
however, require both barriers *and* atomicity.

So, we need an entirely separate set of icalls for the Volatile
class in order to get the right semantics there.

These APIs are insane.

10 years agoAdd Interlocked{Read,Write}{8,16,Pointer} functions.
Alex Rønne Petersen [Wed, 23 Oct 2013 20:24:53 +0000 (22:24 +0200)]
Add Interlocked{Read,Write}{8,16,Pointer} functions.

10 years agoMerge pull request #787 from directhex/master
Alex Rønne Petersen [Wed, 23 Oct 2013 22:01:46 +0000 (15:01 -0700)]
Merge pull request #787 from directhex/master

Don't redeclare desc in mini_create_ftnptr on ppc64