mono.git
7 years ago[offsets-tool] Remove dependencies on android directory layout by adding a --targetdi...
Zoltan Varga [Wed, 8 Mar 2017 16:57:31 +0000 (11:57 -0500)]
[offsets-tool] Remove dependencies on android directory layout by adding a --targetdir=dir argument argument which points to the mono build directory corresponding to the target abi. Only allow one --abi= argument on android. (#4487)

7 years ago[System] Collections from CoreFX
Marek Safar [Mon, 6 Mar 2017 17:05:23 +0000 (18:05 +0100)]
[System] Collections from CoreFX

7 years agoBump corefx
Marek Safar [Tue, 7 Mar 2017 17:09:43 +0000 (18:09 +0100)]
Bump corefx

7 years ago[ci] Check if X server is available before running WinForms tests (#4477)
Alexander Köplinger [Wed, 8 Mar 2017 11:48:28 +0000 (12:48 +0100)]
[ci] Check if X server is available before running WinForms tests (#4477)

This should hopefully "fix" the mass fails in the WinForms
tests we sometimes see in CI.

We're using the simplest WinForms code that invokes the XplatUI
and causes the X connection to be established, if this fails
then something is seriously wrong and we skip the WinForms tests.

7 years ago[arm] Implement aot support for handler block trampolines.
Zoltan Varga [Wed, 8 Mar 2017 01:34:51 +0000 (20:34 -0500)]
[arm] Implement aot support for handler block trampolines.

7 years ago[arm64] Implement aot support for handler block trampolines.
Zoltan Varga [Tue, 7 Mar 2017 23:20:02 +0000 (18:20 -0500)]
[arm64] Implement aot support for handler block trampolines.

7 years agoMerge pull request #4481 from migueldeicaza/master
Alexander Kyte [Tue, 7 Mar 2017 18:26:34 +0000 (13:26 -0500)]
Merge pull request #4481 from migueldeicaza/master

[mkbundle] Fixes the embedding of dependency assemblies + test

7 years ago[runtime] Fix pedump.
Zoltan Varga [Tue, 7 Mar 2017 17:24:39 +0000 (12:24 -0500)]
[runtime] Fix pedump.

7 years agoRFI - Support building System.Drawing for NETCOREAPP2.0 (#4483)
Frederik Carlier [Tue, 7 Mar 2017 10:26:38 +0000 (11:26 +0100)]
RFI - Support building System.Drawing for NETCOREAPP2.0 (#4483)

7 years ago[mono/tests] Don't use -lib:<dir> use -r:<dir>/asm.dll for framework assemblies
Aleksey Kliger [Fri, 3 Mar 2017 22:37:09 +0000 (17:37 -0500)]
[mono/tests] Don't use -lib:<dir> use -r:<dir>/asm.dll for framework assemblies

Apparently Roslyn looks in -lib directories only if it doesn't find the needed
assembly in MONO_PATH first.  On the other hand, using a full path with -r will
take priority over the assemblies in system directories.

7 years ago[mini] Run tests with --runtime=mobile for testing_aot_full profile
Aleksey Kliger [Fri, 3 Mar 2017 15:30:10 +0000 (10:30 -0500)]
[mini] Run tests with --runtime=mobile for testing_aot_full profile

7 years ago[runtime] Redirect mobile System.Net.Http to version 4.0.0.0
Aleksey Kliger [Thu, 2 Mar 2017 17:51:45 +0000 (12:51 -0500)]
[runtime] Redirect mobile System.Net.Http to version 4.0.0.0

per mcs/class/System.Net.Http/Assembly/AssemblyInfo.cs
our System.Net.Http AssemblyVersion is 4.0.0.0 when using mobile.

7 years ago[Mono.Options] Update documentation build
Marek Safar [Mon, 6 Mar 2017 22:59:41 +0000 (23:59 +0100)]
[Mono.Options] Update documentation build

7 years ago[Mono.Options] Add Mono.Options.Command, .CommandSet
Jonathan Pryor [Tue, 31 Jan 2017 20:27:32 +0000 (15:27 -0500)]
[Mono.Options] Add Mono.Options.Command, .CommandSet

Mono.Options.CommandSet allows easily having separate commands and
associated command options, allowing creation of a *suite* along the
lines of **git**(1), **svn**(1), etc.

CommandSet allows intermixing plain text strings for `--help` output,
Option values -- as supported by OptionSet -- and Command instances,
which have a name, optional help text, and an optional OptionSet.

var suite = new CommandSet ("suite-name") {
// Use strings and option values, as with OptionSet
"usage: suite-name COMMAND [OPTIONS]+",
{ "v:", "verbosity", (int? v) => Verbosity = v.HasValue ? v.Value : Verbosity+1 },
// Commands may also be specified
new Command ("command-name", "command help") {
Options = new OptionSet {/*...*/},
Run     = args => { /*...*/},
},
new MyCommandSubclass (),
};
suite.Run (new string[]{...});

CommandSet provides a `help` command, and forwards `help COMMAND`
to the registered Command instance by invoking Command.Invoke()
with `--help` as an option.

7 years ago[mkbundle] Fixes the embedding of dependency assemblies + test
Miguel de Icaza [Mon, 6 Mar 2017 19:39:13 +0000 (14:39 -0500)]
[mkbundle] Fixes the embedding of dependency assemblies + test

7 years agoFix the build.
Zoltan Varga [Mon, 6 Mar 2017 18:12:11 +0000 (13:12 -0500)]
Fix the build.

7 years ago[coop handles] Assert if interior ptr handle passed to mono_gchandle_from_handle
Aleksey Kliger [Wed, 22 Feb 2017 20:56:08 +0000 (15:56 -0500)]
[coop handles] Assert if interior ptr handle passed to mono_gchandle_from_handle

7 years ago[coop handles] Use a bitmap per HandleChunk to track interior ptr handles
Aleksey Kliger [Wed, 22 Feb 2017 19:50:41 +0000 (14:50 -0500)]
[coop handles] Use a bitmap per HandleChunk to track interior ptr handles

instead of using a flag byte in each HandleChunkElem.

7 years ago[reflection] Use coop handles for MonoMethodInfo.get_method_info and MonoPropertyInfo...
Aleksey Kliger [Wed, 25 Jan 2017 21:30:18 +0000 (16:30 -0500)]
[reflection] Use coop handles for MonoMethodInfo.get_method_info and MonoPropertyInfo.get_property_info

7 years ago[marshal] Pin valuetype ref icall arguments.
Aleksey Kliger [Wed, 25 Jan 2017 21:11:40 +0000 (16:11 -0500)]
[marshal] Pin valuetype ref icall arguments.

There are now 4 kinds of arguments to icalls:
  1. Plain old values like 'int', 'bool', etc.  Passed from the wrapper to the
     icall as is.
  2. Objects in the managed heap.  Passed using coop handles.
  3. 'out' objects in the managed heap.  A NULL coop handle is passed in
     and its final value is written back out to the caller's out argument.
  4. Value types passed by 'ref' or 'out'.  An "interior" coop handle is created which has
     the effect of pinning the object into which the ref points (if it points
     to the stack, nothign happens).  The argument is passed to the icall as a
     raw reference (MonoFoo*, not MonoFooHandle).  The ref will be unpinned
     when the icall wrapper returns.

7 years ago[coop handles] Add handles for interior pointers / valuetype handles
Aleksey Kliger [Mon, 23 Jan 2017 23:23:14 +0000 (18:23 -0500)]
[coop handles] Add handles for interior pointers / valuetype handles

- Call mono_handle_stack_scan for both the precise and the imprecise gc scans.
- For now assert during scan that all handles are to the beginning of an
  object.
- Add TYPED_VALUE_HANDLE_DECL Macro to declare valuetype handles:
     TYPED_VALUE_HANDLE_DECL (MonoMethodInfo);
     /* Declare MonoMethodInfoValueHandle and MonoMethodInfoValueHandleOut */
- Add MONO_HANDLE_NEW_GET_VALPTR (h, type, field) macro to create a new handle that
  points to "field" (of type "type") in the object "h".

7 years agoMake System.Drawing unit tests use Assert.Throws instead of [ExpectedException] ...
Frederik Carlier [Mon, 6 Mar 2017 17:12:35 +0000 (18:12 +0100)]
Make System.Drawing unit tests use Assert.Throws instead of [ExpectedException] (#4476)

* Use Assert.Throws<> intstead of ExpectedException

* System.Drawing.Tests: Use Assert.Throws instead of ExpectedException

7 years ago[resx2sr] Handle duplicate keys
Marek Safar [Mon, 6 Mar 2017 14:51:24 +0000 (15:51 +0100)]
[resx2sr] Handle duplicate keys

7 years ago[sgen] use memmove as src and dst can overlap
Bernhard Urban [Fri, 3 Mar 2017 22:41:19 +0000 (23:41 +0100)]
[sgen] use memmove as src and dst can overlap

valgrind said this on `mcs --version`:

```
==807== Thread 1:
==807== Source and destination overlap in memcpy(0x413f050, 0x413f050,
8)
==807==    at 0x4C32513: memcpy@@GLIBC_2.14 (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==807==    by 0x7FB6DD: sgen_qsort_rec (sgen-qsort.c:76)
==807==    by 0x7FB8CC: sgen_qsort (sgen-qsort.c:118)
==807==    by 0x7ED834: major_free_swept_blocks (sgen-marksweep.c:2136)
==807==    by 0x7F0590: sgen_memgov_calculate_minor_collection_allowance
(sgen-memory-governor.c:114)
==807==    by 0x7F0D2E: sgen_memgov_major_collection_end
(sgen-memory-governor.c:278)
==807==    by 0x7A6C71: major_finish_collection (sgen-gc.c:2116)
==807==    by 0x7A6E23: major_do_collection (sgen-gc.c:2158)
==807==    by 0x7A7464: sgen_perform_collection (sgen-gc.c:2355)
==807==    by 0x7A85AF: sgen_gc_collect (sgen-gc.c:2854)
==807==    by 0x77C022: mono_gc_collect (sgen-mono.c:2574)
==807==    by 0x726A18: mono_domain_finalize (gc.c:439)
==807==
==807== Source and destination overlap in memcpy(0x413f078, 0x413f078,
8)
==807==    at 0x4C32513: memcpy@@GLIBC_2.14 (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==807==    by 0x7FB6DD: sgen_qsort_rec (sgen-qsort.c:76)
==807==    by 0x7FB798: sgen_qsort_rec (sgen-qsort.c:92)
==807==    by 0x7FB8CC: sgen_qsort (sgen-qsort.c:118)
==807==    by 0x7ED834: major_free_swept_blocks (sgen-marksweep.c:2136)
==807==    by 0x7F0590: sgen_memgov_calculate_minor_collection_allowance
(sgen-memory-governor.c:114)
==807==    by 0x7F0D2E: sgen_memgov_major_collection_end
(sgen-memory-governor.c:278)
==807==    by 0x7A6C71: major_finish_collection (sgen-gc.c:2116)
==807==    by 0x7A6E23: major_do_collection (sgen-gc.c:2158)
==807==    by 0x7A7464: sgen_perform_collection (sgen-gc.c:2355)
==807==    by 0x7A85AF: sgen_gc_collect (sgen-gc.c:2854)
==807==    by 0x77C022: mono_gc_collect (sgen-mono.c:2574)
==807==
==807== Source and destination overlap in memcpy(0x413f088, 0x413f088,
8)
==807==    at 0x4C32513: memcpy@@GLIBC_2.14 (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==807==    by 0x7FB6DD: sgen_qsort_rec (sgen-qsort.c:76)
==807==    by 0x7FB798: sgen_qsort_rec (sgen-qsort.c:92)
==807==    by 0x7FB798: sgen_qsort_rec (sgen-qsort.c:92)
==807==    by 0x7FB8CC: sgen_qsort (sgen-qsort.c:118)
==807==    by 0x7ED834: major_free_swept_blocks (sgen-marksweep.c:2136)
==807==    by 0x7F0590: sgen_memgov_calculate_minor_collection_allowance
(sgen-memory-governor.c:114)
==807==    by 0x7F0D2E: sgen_memgov_major_collection_end
(sgen-memory-governor.c:278)
==807==    by 0x7A6C71: major_finish_collection (sgen-gc.c:2116)
==807==    by 0x7A6E23: major_do_collection (sgen-gc.c:2158)
==807==    by 0x7A7464: sgen_perform_collection (sgen-gc.c:2355)
==807==    by 0x7A85AF: sgen_gc_collect (sgen-gc.c:2854)
```

7 years ago[cert-sync] Don't import into BTLS store if BTLS is not available (#4475)
Alexander Köplinger [Mon, 6 Mar 2017 11:06:55 +0000 (12:06 +0100)]
[cert-sync] Don't import into BTLS store if BTLS is not available (#4475)

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

7 years agoFinalize the implementation of SignedXml.ComputeSignature(). (#4452)
Vladimir Kazakov [Mon, 6 Mar 2017 10:12:04 +0000 (12:12 +0200)]
Finalize the implementation of SignedXml.ComputeSignature(). (#4452)

* Finalize the implementation of SignedXml.ComputeSignature().

The implementation was taken from Reference Source, which makes the behaviour of this method the same as in .NET Framework, as well as makes it possible to use custom signature descriptions.

7 years ago[jit] Fix an assert in mono_unwind_ops_encode_full () caused by an off-by-one error...
Zoltan Varga [Mon, 6 Mar 2017 07:31:49 +0000 (02:31 -0500)]
[jit] Fix an assert in mono_unwind_ops_encode_full () caused by an off-by-one error. Fixes #53066.

7 years ago[arm64] Fix the passing of small arguments on the stack in the gsharedvt trampoline...
Zoltan Varga [Sun, 5 Mar 2017 05:25:34 +0000 (00:25 -0500)]
[arm64] Fix the passing of small arguments on the stack in the gsharedvt trampoline, the calculation of their stack offset was incorrect in two places. Fixes #52866.

7 years ago[msvc] Update csproj files (#4474)
monojenkins [Sat, 4 Mar 2017 21:52:47 +0000 (21:52 +0000)]
[msvc] Update csproj files (#4474)

7 years ago[metadata] Fix a possible crash when looking up a p/invoke function. (#4471)
Vincent Povirk [Sat, 4 Mar 2017 17:03:56 +0000 (11:03 -0600)]
[metadata] Fix a possible crash when looking up a p/invoke function. (#4471)

It's possible for two threads to modify the same MonoMethodPInvoke.addr
in mono_lookup_pinvoke_call, with one thread setting it to NULL inside the
loop, and the other thread having completed the loop and expecting it to
be non-NULL.

Use an intermediate variable to prevent addr becoming non-NULL.

7 years ago[corert] Import System.Threading.ThreadPoolBoundHandle
Ludovic Henry [Fri, 3 Mar 2017 15:39:29 +0000 (10:39 -0500)]
[corert] Import System.Threading.ThreadPoolBoundHandle

7 years ago[corert] Import System.Diagnostics.Debug
Ludovic Henry [Fri, 3 Mar 2017 13:59:38 +0000 (08:59 -0500)]
[corert] Import System.Diagnostics.Debug

7 years ago[System.Core] Collections from corefx
Marek Safar [Thu, 2 Mar 2017 15:47:05 +0000 (16:47 +0100)]
[System.Core] Collections from corefx

7 years ago[mono/tests] run the managed test runner using TOOLS_RUNTIME
Aleksey Kliger [Thu, 2 Mar 2017 19:08:04 +0000 (14:08 -0500)]
[mono/tests] run the managed test runner using TOOLS_RUNTIME

The test runner itself should use the tools runtime, but the AOT step and the
tests themselves will be launched in the profile that's being tested.

7 years ago[fullaot] configure.ac: pass --runtime=mobile to AOT_{BUILD,RUN}_FLAGS
Aleksey Kliger [Wed, 1 Mar 2017 20:59:55 +0000 (15:59 -0500)]
[fullaot] configure.ac: pass --runtime=mobile to AOT_{BUILD,RUN}_FLAGS

For the profiles where we compile the BCL with -d:MOBILE, (where the
`[assembly: AssemblyVersion (Consts.FxVersion)]` attribute ends up pointing to
the mobile version) make sure we AOT and run the tests using the mobile
runtime.  This ensures that for the framework assemblies the version number in
the assembly matches the version number that the internal runtime remapping (
`mono/metadata/assembly.c` `framework_assemblies` array)

7 years ago[threads] Remove ThreadState_StopRequested (#4462)
Ludovic Henry [Fri, 3 Mar 2017 02:26:00 +0000 (21:26 -0500)]
[threads] Remove ThreadState_StopRequested (#4462)

7 years ago[jit] Remove some duplicate declarations.
Zoltan Varga [Fri, 3 Mar 2017 00:45:10 +0000 (19:45 -0500)]
[jit] Remove some duplicate declarations.

7 years ago[jit] Fix MethodAccessExceptions, the caller and callee were switched. (#4465)
Zoltan Varga [Fri, 3 Mar 2017 00:21:08 +0000 (19:21 -0500)]
[jit] Fix MethodAccessExceptions, the caller and callee were switched. (#4465)

7 years ago[threads] Remove mono_threads_create_thread (#4411)
Ludovic Henry [Thu, 2 Mar 2017 23:47:41 +0000 (18:47 -0500)]
[threads] Remove mono_threads_create_thread (#4411)

7 years ago[runtime] Fix an infinite loop in the runtime class init code. (#4455)
Zoltan Varga [Thu, 2 Mar 2017 21:08:00 +0000 (16:08 -0500)]
[runtime] Fix an infinite loop in the runtime class init code. (#4455)

The following can happen:
* Thread T1 starts initialization of C1
* Thread T2 starts initialization of C2
* T2 starts initialization of C1, it gets blocked on T1.
* T1 finishes initializing C1.
* T1 starts initialization of C3.
* T1 starts initialization of C2. It sees that T2 is
  still blocked on T1, but its not actually blocked, since
  C1 is finished. Still, we record that T1 is blocked.
* T3 starts initialization of C2, it gets into an infinite
  loop in the while loop, since the blocked_thread_hash
  now indicates that T1 and T2 are blocked on each other.

The solution is to not mark a thread as blocked, if its waiting
for a thread which is waiting on a finished lock. Fixes hangs
when running csc.

7 years ago[threads] Remove dead field cached_culture_info (#4410)
Ludovic Henry [Thu, 2 Mar 2017 21:06:27 +0000 (16:06 -0500)]
[threads] Remove dead field cached_culture_info (#4410)

7 years agoFixes to build libmono with disabled JIT. (#4421)
Johan Lorensson [Thu, 2 Mar 2017 20:09:19 +0000 (21:09 +0100)]
Fixes to build libmono with disabled JIT. (#4421)

Current mono build on (at least Windows) fails if build with disabled JIT
since the .def file used when building libmono, mono-2.0-sgen.dll, exports
a couple of symbols missing when DISABLE_JIT is defined.

Turns out that these methods have been incorrectly exported and should not
be part of the public API surface. This commit removes MONO_API for the
methods incorrectly marked:

mono_emit_native_call
mono_inst_name
mono_replace_ins

It also removes them from the .def files so they won't be exported in the
mono runtime DLL on Windows.

For mono_set_break_policy an empty stub will be added since it is considered
being a public API.

The above support is primarily used on none desktop Windows platforms
when building mono runtime module without JIT support.

This commit also fix a problem introduced in tramp-amd64.c by commit
https://github.com/mono/mono/commit/4281399ba4b7c44a30fa2c2a314a470260bb3eb1
causing it to get duplicated definitions of mono_arch_get_enter_icall_trampoline
when DISABLE_JIT has been defined.

7 years agoMerge pull request #4454 from kumpera/allow_sioc_with_managed_impl
Rodrigo Kumpera [Thu, 2 Mar 2017 19:45:00 +0000 (14:45 -0500)]
Merge pull request #4454 from kumpera/allow_sioc_with_managed_impl

Allow banned assemblies with LoaderFrom

7 years agoFind more libraries via dllmap (#4451)
Nikolay Amiantov [Thu, 2 Mar 2017 19:28:07 +0000 (22:28 +0300)]
Find more libraries via dllmap (#4451)

This allows centralized configuration of library paths. For instance,
previously setting path to libgtk-x11-2.0 won't make all parts of Mono use
provided library.

7 years agoChange clock source to CLOCK_MONOTONIC in 'pthread_cond_timedwait'
powerctrl [Wed, 26 Oct 2016 15:43:29 +0000 (21:13 +0530)]
Change clock source to CLOCK_MONOTONIC in 'pthread_cond_timedwait'

 Wait functions for Mutex, Semaphore and Condition (like pthread_cond_timedwait) for 'task' synchronisation in Linux uses CLOCK_REALTIME by default,
this creates many problems where a process changes time. e.g. Command line utility < date -s "desired date and time" >
A thread may be blocked for a more\less time depending upon time change. It is always desirable to use clock source immune to such changes
However, it is not possible to change clock source for mutex and semaphore wait functions in Linux. So changing it for condition only

This can be seen by a simple application if you make a simple timer using System.Timers.Timer and print time stamp every regular interval say 2 seconds, now if time shifts in the system for whatever reason ( you can do this in Linux by <sudo date -s "Wed Oct 26 20:25:24 IST 2016"> put desired time in quotes), this print stops coming for the offset time duration.

The reason behind this is the call to 'pthread_cond_timedwait' function, by Timer class which uses it to sleep for timeout duration. Now this function uses CLOCK_REALTIME which can be changed, so if you change this clock, a thread will be blocked for the unexpected time. So using CLOCK_MONOTONIC removes the error.

There are many embedded systems which do not have RTC and rely upon the external time like systems using GPS or set top box. So this fix is inevitable for them, at least for condition variable wait.

This is the sample code
using System;
using System.Timers;

public class Example
{
private static System.Timers.Timer aTimer;

public static void Main()
{
SetTimer();

Console.WriteLine("\nPress the Enter key to exit the application...\n");
Console.WriteLine("The application started at {0:HH:mm:ss.fff}", DateTime.Now);
Console.ReadLine();
aTimer.Stop();
aTimer.Dispose();

Console.WriteLine("Terminating the application...");
}

private static void SetTimer()
{
// Create a timer with a two second interval.
aTimer = new System.Timers.Timer(2000);
// Hook up the Elapsed event for the timer.
//((System.ComponentModel.ISupportInitialize)(aTimer)).BeginInit();
aTimer.Elapsed += OnTimedEvent;
//((System.ComponentModel.ISupportInitialize)(aTimer)).EndInit();
aTimer.AutoReset = true;
aTimer.Enabled = true;
}

private static void OnTimedEvent(Object source, ElapsedEventArgs e)
{
Console.WriteLine("__The Elapsed event was raised at {0:HH:mm:ss.fff}",
                  e.SignalTime);
}
}

This updates and merge https://github.com/mono/mono/pull/3828

7 years ago[msvc] Update csproj files (#4461)
monojenkins [Thu, 2 Mar 2017 17:55:37 +0000 (17:55 +0000)]
[msvc] Update csproj files (#4461)

7 years agoBump cecil
Marek Safar [Wed, 1 Mar 2017 14:13:28 +0000 (15:13 +0100)]
Bump cecil

7 years ago[threads] Remove mono_threads_suspend_needs_abort_syscall (#4450)
Ludovic Henry [Thu, 2 Mar 2017 14:55:31 +0000 (09:55 -0500)]
[threads] Remove mono_threads_suspend_needs_abort_syscall (#4450)

7 years ago[runtime] Cleanup the debugger header files. (#4459)
Zoltan Varga [Thu, 2 Mar 2017 11:22:06 +0000 (06:22 -0500)]
[runtime] Cleanup the debugger header files. (#4459)

* Rename debug-mono-debugger.h to debug-internals.h.
* Move the internal debug structures to debug-internals.h from debug-mono-symfile.h.

7 years agoMerge pull request #4418 from kumpera/fix_gclass_recording_on_failure
Rodrigo Kumpera [Wed, 1 Mar 2017 23:15:56 +0000 (18:15 -0500)]
Merge pull request #4418 from kumpera/fix_gclass_recording_on_failure

[loader] When loading the parent of a GTD fails. We must disable gclass recording for it.

7 years ago[runtime] Use mono_debug_method_lookup_location () instead of mono_debug_symfile_look...
Zoltan Varga [Wed, 1 Mar 2017 23:05:51 +0000 (18:05 -0500)]
[runtime] Use mono_debug_method_lookup_location () instead of mono_debug_symfile_lookup_location (), the latter doesn't support portable pdb files. Use mono_debug_free_source_location () for freeing. Fixes #52899. (#4457)

7 years ago[corlib][System] Concurrent collections from corefx
Marek Safar [Tue, 28 Feb 2017 16:51:03 +0000 (17:51 +0100)]
[corlib][System] Concurrent collections from corefx

7 years ago[threads] Remove unused mono_thread_internal_stop (#4449)
Ludovic Henry [Wed, 1 Mar 2017 19:19:58 +0000 (14:19 -0500)]
[threads] Remove unused mono_thread_internal_stop (#4449)

7 years ago[loader] Revert allowing SIOC 4.3. This is fine for now as we support LoadFrom as...
Rodrigo Kumpera [Wed, 1 Mar 2017 18:34:47 +0000 (10:34 -0800)]
[loader] Revert allowing SIOC 4.3. This is fine for now as we support LoadFrom as a work-around.

7 years ago[loader] Pass LoadFrom down to image loading so we can make decisions based on that.
Rodrigo Kumpera [Wed, 1 Mar 2017 18:17:32 +0000 (10:17 -0800)]
[loader] Pass LoadFrom down to image loading so we can make decisions based on that.

7 years agoPass LoadFrom info down to assembly loading.
Rodrigo Kumpera [Wed, 1 Mar 2017 17:48:33 +0000 (09:48 -0800)]
Pass LoadFrom info down to assembly loading.

7 years agoMerge pull request #4373 from NattyNarwhal/haiku
Rodrigo Kumpera [Wed, 1 Mar 2017 17:08:38 +0000 (12:08 -0500)]
Merge pull request #4373 from NattyNarwhal/haiku

Restore Haiku support

7 years ago[runtime] SIOC 4.3.0 has a managed impl that works under mono. Don't ignore it.
Rodrigo Kumpera [Wed, 1 Mar 2017 00:27:40 +0000 (16:27 -0800)]
[runtime] SIOC 4.3.0 has a managed impl that works under mono. Don't ignore it.

7 years ago[tools] Update nuget hash extractor so we don't block SIOC 4.3.0.
Rodrigo Kumpera [Wed, 1 Mar 2017 00:27:14 +0000 (16:27 -0800)]
[tools] Update nuget hash extractor so we don't block SIOC 4.3.0.

7 years ago[interpreter] rename interpreter to interp
Bernhard Urban [Mon, 27 Feb 2017 16:55:55 +0000 (17:55 +0100)]
[interpreter] rename interpreter to interp

for folks without autocompletion :P

7 years ago[generics.cs] enable more testcases for interpreter
Bernhard Urban [Mon, 27 Feb 2017 16:55:54 +0000 (17:55 +0100)]
[generics.cs] enable more testcases for interpreter

7 years ago[interpreter] use explicit addressing for stack slots
Bernhard Urban [Mon, 27 Feb 2017 16:55:54 +0000 (17:55 +0100)]
[interpreter] use explicit addressing for stack slots

7 years ago[interpreter] add basic-vectors.cs to richeck target
Bernhard Urban [Mon, 27 Feb 2017 16:55:54 +0000 (17:55 +0100)]
[interpreter] add basic-vectors.cs to richeck target

7 years ago[interpreter] add {exceptions,devirtualization,basic-simd}.cs to richeck target
Bernhard Urban [Mon, 27 Feb 2017 16:55:54 +0000 (17:55 +0100)]
[interpreter] add {exceptions,devirtualization,basic-simd}.cs to richeck target

7 years ago[interpreter] add floating point support to icall trampoline, add basic-math.cs to...
Bernhard Urban [Mon, 27 Feb 2017 16:55:54 +0000 (17:55 +0100)]
[interpreter] add floating point support to icall trampoline, add basic-math.cs to richeck target

7 years ago[interpreter] add arrays.cs to richeck target
Bernhard Urban [Mon, 27 Feb 2017 16:55:54 +0000 (17:55 +0100)]
[interpreter] add arrays.cs to richeck target

7 years ago[objects.cs] enable last two remaining tests for interpreter
Bernhard Urban [Mon, 27 Feb 2017 16:55:54 +0000 (17:55 +0100)]
[objects.cs] enable last two remaining tests for interpreter

\o/

7 years ago[interpreter] fix array built-ins wrt. multiarray access
Bernhard Urban [Mon, 27 Feb 2017 16:55:54 +0000 (17:55 +0100)]
[interpreter] fix array built-ins wrt. multiarray access

7 years ago[interpreter] fix metadata access for ldtoken insn in wrappers
Bernhard Urban [Mon, 27 Feb 2017 16:55:54 +0000 (17:55 +0100)]
[interpreter] fix metadata access for ldtoken insn in wrappers

7 years ago[interpreter] implement ref type for ldelem bytecode
Bernhard Urban [Mon, 27 Feb 2017 16:55:54 +0000 (17:55 +0100)]
[interpreter] implement ref type for ldelem bytecode

7 years ago[interpreter] install stack walking callback
Bernhard Urban [Mon, 27 Feb 2017 16:55:54 +0000 (17:55 +0100)]
[interpreter] install stack walking callback

7 years ago[interpreter] it can happen that we have the address of a enum on the stack, and...
Bernhard Urban [Mon, 27 Feb 2017 16:55:54 +0000 (17:55 +0100)]
[interpreter] it can happen that we have the address of a enum on the stack, and we need to dereference it before we box it.

7 years ago[interpreter] allow generic inst type in icall trampoline
Bernhard Urban [Mon, 27 Feb 2017 16:55:53 +0000 (17:55 +0100)]
[interpreter] allow generic inst type in icall trampoline

7 years ago[interpreter] if unboxing is required on virtcall, point into object instead of copying
Bernhard Urban [Mon, 27 Feb 2017 16:55:53 +0000 (17:55 +0100)]
[interpreter] if unboxing is required on virtcall, point into object instead of copying

7 years ago[generics.cs] test calling an interface, that's implemented by a generic value type
Bernhard Urban [Mon, 27 Feb 2017 16:55:53 +0000 (17:55 +0100)]
[generics.cs] test calling an interface, that's implemented by a generic value type

7 years ago[interpreter] properly inflate method on generic virtual call
Bernhard Urban [Mon, 27 Feb 2017 16:55:53 +0000 (17:55 +0100)]
[interpreter] properly inflate method on generic virtual call

7 years ago[interpreter] inflate method signature for delegate.invoke ()
Bernhard Urban [Mon, 27 Feb 2017 16:55:53 +0000 (17:55 +0100)]
[interpreter] inflate method signature for delegate.invoke ()

7 years ago[interpreter] inflate signature for calli with proper generic_context
Bernhard Urban [Mon, 27 Feb 2017 16:55:53 +0000 (17:55 +0100)]
[interpreter] inflate signature for calli with proper generic_context

7 years ago[object/interpreter] add trap for future pitfalls
Bernhard Urban [Mon, 27 Feb 2017 16:55:53 +0000 (17:55 +0100)]
[object/interpreter] add trap for future pitfalls

7 years ago[interpreter] add init_delegate callback
Bernhard Urban [Mon, 27 Feb 2017 16:55:53 +0000 (17:55 +0100)]
[interpreter] add init_delegate callback

and set `method` field in delegate

7 years ago[interpreter] use jit icall for delegate ctor
Bernhard Urban [Mon, 27 Feb 2017 16:55:53 +0000 (17:55 +0100)]
[interpreter] use jit icall for delegate ctor

7 years ago[trampolines] make sure no delegate trampoline is created in interpreter mode
Bernhard Urban [Mon, 27 Feb 2017 16:55:53 +0000 (17:55 +0100)]
[trampolines] make sure no delegate trampoline is created in interpreter mode

7 years ago[objects.cs] testcase for delegate with instance method that uses `this'
Bernhard Urban [Mon, 27 Feb 2017 16:55:53 +0000 (17:55 +0100)]
[objects.cs] testcase for delegate with instance method that uses `this'

7 years ago[interpreter] pop extra arg in CEE_MONO_CALLI_EXTRA_ARG
Bernhard Urban [Mon, 27 Feb 2017 16:55:53 +0000 (17:55 +0100)]
[interpreter] pop extra arg in CEE_MONO_CALLI_EXTRA_ARG

7 years agoMerge pull request #4440 from kumpera/fix-assembly-remapping
Rodrigo Kumpera [Tue, 28 Feb 2017 20:23:26 +0000 (12:23 -0800)]
Merge pull request #4440 from kumpera/fix-assembly-remapping

[runtime] Fix assembly remapping by using a hashtable. Fixes #52846 and #52743

7 years ago[msvc] Update csproj files
monojenkins [Tue, 28 Feb 2017 16:29:34 +0000 (16:29 +0000)]
[msvc] Update csproj files

7 years agoMerge pull request #4381 from BrzVlad/feature-generational-hash
Vlad Brezae [Tue, 28 Feb 2017 12:30:18 +0000 (14:30 +0200)]
Merge pull request #4381 from BrzVlad/feature-generational-hash

[sgen] Generational MonoGHashTable

7 years ago[runtime] Fix assembly remapping by using a hashtable. Fixes #52846 and #52743
Rodrigo Kumpera [Tue, 28 Feb 2017 00:46:00 +0000 (16:46 -0800)]
[runtime] Fix assembly remapping by using a hashtable. Fixes #52846 and #52743

In multiple occasions we had bugs due to framework_assemblies not being correctly sorted.

Instead of just fixing the ordering again, I'm moving it a hashtable so future generations won't have to fix this for System.SpaceTravel.dll.

7 years ago[System] Add regression test for Bugzilla 10899 (#4401)
Alexander Köplinger [Mon, 27 Feb 2017 22:43:56 +0000 (23:43 +0100)]
[System] Add regression test for Bugzilla 10899 (#4401)

Even though I couldn't repro the bug I thought it'd still be a
good idea to at least add some basic coverage with non-Latin chars.

7 years agoMerge pull request #4438 from xmcclure/monodis-fix
Andi McClure [Mon, 27 Feb 2017 21:00:48 +0000 (16:00 -0500)]
Merge pull request #4438 from xmcclure/monodis-fix

Fix monodis

7 years agoFix monodis
Andi McClure [Mon, 27 Feb 2017 20:54:05 +0000 (15:54 -0500)]
Fix monodis

monodis was not calling the mono_tls_init_runtime_keys function, which
was causing it to crash the first time it attempted to access the
current domain (ie almost immediately).

7 years agoMerge pull request #4433 from kumpera/android-fixes
Rodrigo Kumpera [Mon, 27 Feb 2017 20:46:03 +0000 (15:46 -0500)]
Merge pull request #4433 from kumpera/android-fixes

Fix a few issues on Android

7 years ago[jit] Rewrite some logging to work on embedded systems.
Rodrigo Kumpera [Sat, 25 Feb 2017 00:14:16 +0000 (16:14 -0800)]
[jit] Rewrite some logging to work on embedded systems.

7 years ago[jit] Fix LMF codegen on android arm64.
Rodrigo Kumpera [Sat, 25 Feb 2017 00:09:56 +0000 (16:09 -0800)]
[jit] Fix LMF codegen on android arm64.

Android doesn't have fast tls either, so we must use the jit_tls variant.

7 years ago[alias-analysis] Ignore addresses taken of volatile variables.
Rodrigo Kumpera [Fri, 24 Feb 2017 23:52:03 +0000 (15:52 -0800)]
[alias-analysis] Ignore addresses taken of volatile variables.

Volatile variables should be ignored by AA as, by design, we can't
properly tell whether removing indirection is safe or not.

This shows up when handling the LMF var in some cases.

7 years ago[runtime] Mark mono_error_init external only. (#4437)
Aleksey Kliger (λgeek) [Mon, 27 Feb 2017 20:08:48 +0000 (15:08 -0500)]
[runtime] Mark mono_error_init external only. (#4437)

Runtime should use the error_init() from mono/utils/mono-error-internals.h

7 years agoMerge pull request #4434 from BrzVlad/fix-unload-hang
Vlad Brezae [Mon, 27 Feb 2017 20:05:27 +0000 (22:05 +0200)]
Merge pull request #4434 from BrzVlad/fix-unload-hang

[threads] Don't ignore abort requests in abort protected blocks

7 years agoUpdate ms-test-suite
Marek Safar [Mon, 27 Feb 2017 13:42:10 +0000 (14:42 +0100)]
Update ms-test-suite

7 years ago[System.Numerics] Use corefx implementation
Marek Safar [Fri, 24 Feb 2017 14:13:26 +0000 (15:13 +0100)]
[System.Numerics] Use corefx implementation

7 years agoMerge pull request #4431 from vkargov/vk-leaking-points
Rodrigo Kumpera [Mon, 27 Feb 2017 16:34:02 +0000 (11:34 -0500)]
Merge pull request #4431 from vkargov/vk-leaking-points

[runtime] Fix memory leak in mono_save_seq_point_info().