mono.git
7 years agoAdded regression test project.
lateralusX [Tue, 12 Apr 2016 12:16:14 +0000 (14:16 +0200)]
Added regression test project.

* Updated vs project files to resolve winsock, winsock2 build dependecies.
* Added vs project running basic mono-mini regression tests.

7 years agoAdded suffix to intermediate build .pdb files in order to avoid potential naming...
lateralusX [Tue, 12 Apr 2016 12:16:01 +0000 (14:16 +0200)]
Added suffix to intermediate build .pdb files in order to avoid potential naming conflicts when linking.

7 years agoAdded support for optional target build suffix.
lateralusX [Tue, 12 Apr 2016 12:15:29 +0000 (14:15 +0200)]
Added support for optional target build suffix.

7 years agoBetter property manager and user macros support.
lateralusX [Tue, 12 Apr 2016 12:14:58 +0000 (14:14 +0200)]
Better property manager and user macros support.

* Added support for user macros in order to set build/install/sgen.
* Added support for more arguments to bat files + support for quoted paths.
* Added support for verbose/quite output in bat files.
* Moved libmono xcopy post build step into separate bat file.
* Cleaned some sgen configs still left in vcxprojs.

7 years agoSeparate build tree and target suffix support.
lateralusX [Tue, 12 Apr 2016 12:14:29 +0000 (14:14 +0200)]
Separate build tree and target suffix support.

* Enabled build target suffix in order to lable a build (primarly for sgen).
* Enabled separate build tree.
* Dropped all sgen configurations, replaced by properties and target suffix.
* Fixed pdb naming of intermediate pdb files.

7 years agoRestructured build/package/install targets and split GC libraries.
lateralusX [Tue, 12 Apr 2016 12:13:03 +0000 (14:13 +0200)]
Restructured build/package/install targets and split GC libraries.

* Added package/install targets.
* Moved sgen into separate library.
* SGEN set as default GC for build (used GC controlled through mono.props).

7 years agoRefactored VS depdencies + restructring VS solution and projects.
lateralusX [Tue, 12 Apr 2016 12:11:36 +0000 (14:11 +0200)]
Refactored VS depdencies + restructring VS solution and projects.

7 years agoUpgrade to vs2015 for native projects.
lateralusX [Tue, 12 Apr 2016 12:10:35 +0000 (14:10 +0200)]
Upgrade to vs2015 for native projects.

* Upgraded all projects to new vs2015 tool chain.
* Used mono.props through property manager instead of import.
* Fixed dependencies to be more explicitly in additional dependecies.
* Fixed error in mono.props, switched $ to % when referencing internal variables.
* Added property variables for includes and libraries, defined in mono.props.

7 years ago[mkbundle] Improve error checking
Miguel de Icaza [Wed, 15 Jun 2016 06:25:23 +0000 (23:25 -0700)]
[mkbundle] Improve error checking

7 years ago[main] replace computed value by a constant
Miguel de Icaza [Wed, 15 Jun 2016 06:24:48 +0000 (23:24 -0700)]
[main] replace computed value by a constant

The reason why mkbundle is not working is that for some reason
this constant expression is producing different code than the
-24 that it is supposed to.

What is odd is that the return value from the lseek system
call is the same, but yet, read fails with an end-of-file with
this value, and otherwise it passes.

With this call:

     lseek (fd, -(16+sizeof(uint64_t)), SEEK_END)

strace displays:

lseek(0x3, 0xFFFFFFE8, 0x2)  = 19375512 0

With this call:

     lseek (fd, -24, SEEK_END)

strace displays:

lseek(0x3, 0xFFFFFFFFFFFFFFE8, 0x2)  = 19375512 0

Now, while both results from lseek are the same, a subsequent read
with 24 bytes to read returns zero on the former case, and 24 on
the latter case.

7 years ago[mcs] Use $(RESGEN) instead of resgen
Alexander Köplinger [Wed, 15 Jun 2016 01:12:02 +0000 (03:12 +0200)]
[mcs] Use $(RESGEN) instead of resgen

It broke the .deb package build

7 years agoMerge pull request #3168 from alexanderkyte/default_4_x_preset
Alexander Köplinger [Tue, 14 Jun 2016 23:16:49 +0000 (01:16 +0200)]
Merge pull request #3168 from alexanderkyte/default_4_x_preset

[runtime] Make the default preset only build net_4_x

7 years ago[runtime] Make the default preset only build net_4_x
Alexander Kyte [Tue, 14 Jun 2016 23:00:14 +0000 (19:00 -0400)]
[runtime] Make the default preset only build net_4_x

7 years agoMerge pull request #3089 from alexanderkyte/mobile_static_jenkins_script
Alexander Kyte [Tue, 14 Jun 2016 22:24:26 +0000 (18:24 -0400)]
Merge pull request #3089 from alexanderkyte/mobile_static_jenkins_script

[mobile_static] Update jenkins build script for mobile_static profile

7 years ago[runtime] [runtime] Fix the printing of unhandled exceptions in coop.
Zoltan Varga [Tue, 14 Jun 2016 22:06:54 +0000 (18:06 -0400)]
[runtime] [runtime] Fix the printing of unhandled exceptions in coop.

7 years ago[runtime] Return after setting the error in mono_jit_runtime_invoke (), otherwise...
Zoltan Varga [Tue, 14 Jun 2016 22:06:20 +0000 (18:06 -0400)]
[runtime] Return after setting the error in mono_jit_runtime_invoke (), otherwise mono_value_box_checked () initializes it again.

7 years agoWIP [library.make] Make resource usage declarative in the class libraries (#3159)
Miguel de Icaza [Tue, 14 Jun 2016 20:57:09 +0000 (13:57 -0700)]
WIP [library.make] Make resource usage declarative in the class libraries (#3159)

[library.make] Make resource usage declarative in the class libraries

7 years ago[jit] Set the 'real_offset' field of bblocks in mono_replace_ins (), the EH code...
Zoltan Varga [Tue, 14 Jun 2016 19:36:44 +0000 (15:36 -0400)]
[jit] Set the 'real_offset' field of bblocks in mono_replace_ins (), the EH code generator in llvm depends on it being set.

7 years agoMerge pull request #3165 from akoeplinger/fix-clock-monotonic-macos1012
Alexander Köplinger [Tue, 14 Jun 2016 17:08:11 +0000 (19:08 +0200)]
Merge pull request #3165 from akoeplinger/fix-clock-monotonic-macos1012

[utils] Work around CLOCK_MONOTONIC being defined on macOS 10.12 SDK despite targeting earlier releases

7 years ago[mcs] Support System.Object forwarded to any assembly in any references order
Marek Safar [Tue, 14 Jun 2016 17:02:52 +0000 (19:02 +0200)]
[mcs] Support System.Object forwarded to any assembly in any references order

7 years ago[utils] Work around CLOCK_MONOTONIC being defined on macOS 10.12 SDK despite targetin...
Alexander Köplinger [Tue, 14 Jun 2016 14:39:41 +0000 (16:39 +0200)]
[utils] Work around CLOCK_MONOTONIC being defined on macOS 10.12 SDK despite targeting earlier releases

Should fix https://bugzilla.xamarin.com/show_bug.cgi?id=41786

7 years agoMerge pull request #3162 from alexanderkyte/ignore_pkits
Alexander Kyte [Mon, 13 Jun 2016 20:06:28 +0000 (16:06 -0400)]
Merge pull request #3162 from alexanderkyte/ignore_pkits

[mobile_static] Skip PKITS tests on mobile_static due to missing

7 years ago[coop] Protect copy_stack_data from GCC optimizations. (#3157)
Aleksey Kliger (λgeek) [Mon, 13 Jun 2016 19:58:44 +0000 (15:58 -0400)]
[coop] Protect copy_stack_data from GCC optimizations. (#3157)

[coop] Protect copy_stack_data from GCC optimizations.

GCC 5.3.1 (Debian sid/amd64) "optimizied" the previous incarnation of
`void *stackdata_end = return_stack_ptr ()` to
`void *stackdata_end = 0`.

7 years ago[mobile_static] Make bitcode preset enable llvm
Alexander Kyte [Tue, 7 Jun 2016 20:58:25 +0000 (16:58 -0400)]
[mobile_static] Make bitcode preset enable llvm

7 years ago[mobile_static] Skip PKITS tests on mobile_static due to missing
Alexander Kyte [Wed, 8 Jun 2016 15:47:19 +0000 (11:47 -0400)]
[mobile_static] Skip PKITS tests on mobile_static due to missing
fixtures

7 years agoMerge pull request #3160 from JustArchi/patch-1
Bernhard Urban [Mon, 13 Jun 2016 16:56:27 +0000 (09:56 -0700)]
Merge pull request #3160 from JustArchi/patch-1

SGen: Fix parsing of default-allowance-ratio

7 years ago[runtime] Rename the net_4_x runtime preset to all
Alexander Kyte [Mon, 13 Jun 2016 15:33:53 +0000 (11:33 -0400)]
[runtime] Rename the net_4_x runtime preset to all

7 years ago[runtime] Keep one-off jenkins disabling in script
Alexander Kyte [Tue, 7 Jun 2016 17:27:24 +0000 (13:27 -0400)]
[runtime] Keep one-off jenkins disabling in script

7 years ago[runtime] Allow presets to disable runtime features
Alexander Kyte [Tue, 7 Jun 2016 17:13:55 +0000 (13:13 -0400)]
[runtime] Allow presets to disable runtime features

7 years ago[mobile_static] Update reported FX version to 4.x
Alexander Kyte [Tue, 7 Jun 2016 16:56:37 +0000 (12:56 -0400)]
[mobile_static] Update reported FX version to 4.x

7 years ago[mobile_static] Set default value for disabling MCS docs
Alexander Kyte [Thu, 2 Jun 2016 21:46:27 +0000 (17:46 -0400)]
[mobile_static] Set default value for disabling MCS docs

7 years ago[mobile_static] Split jenkins tests out, enable running from top level
Alexander Kyte [Thu, 2 Jun 2016 19:17:40 +0000 (15:17 -0400)]
[mobile_static] Split jenkins tests out, enable running from top level

7 years ago[runtime] Make cooperative gc default on our bitcode profile
Alexander Kyte [Thu, 2 Jun 2016 18:38:40 +0000 (14:38 -0400)]
[runtime] Make cooperative gc default on our bitcode profile

7 years ago[mobile_static] Use runtime_preset configuration option
Alexander Kyte [Thu, 2 Jun 2016 19:18:46 +0000 (15:18 -0400)]
[mobile_static] Use runtime_preset configuration option

7 years ago[mobile_static] Disable NLS by default on OSX
Alexander Kyte [Thu, 2 Jun 2016 16:35:33 +0000 (12:35 -0400)]
[mobile_static] Disable NLS by default on OSX

7 years ago[mobile_static] Added in runtime_profile autoconf flag, make set
Alexander Kyte [Thu, 2 Jun 2016 16:31:43 +0000 (12:31 -0400)]
[mobile_static] Added in runtime_profile autoconf flag, make set
defaults

7 years ago[mobile_static] Make mobile_static default profile when building with it
Alexander Kyte [Wed, 25 May 2016 18:54:46 +0000 (14:54 -0400)]
[mobile_static] Make mobile_static default profile when building with it

When building a mobile_static build, we need to pass a lot of flags
which disable features. These make the net_4_x profile not build
correctly when using the official jenkins script. This helps.

7 years ago[mobile_static] Fix configure.ac handling of with_profile4_x option
Alexander Kyte [Wed, 25 May 2016 18:54:20 +0000 (14:54 -0400)]
[mobile_static] Fix configure.ac handling of with_profile4_x option

7 years ago[runtime] Specialize run-jenkins script for mobile_static when it runs
Alexander Kyte [Tue, 24 May 2016 21:19:03 +0000 (17:19 -0400)]
[runtime] Specialize run-jenkins script for mobile_static when it runs

7 years agoMerge pull request #3106 from lambdageek/dev/monoerror-unhandled
Aleksey Kliger (λgeek) [Mon, 13 Jun 2016 15:52:35 +0000 (11:52 -0400)]
Merge pull request #3106 from lambdageek/dev/monoerror-unhandled

[runtime] Okay to raise MonoError in thread start functions.

7 years ago[System] Fixes crash during implicit file uri parsing with unicode characters
Marek Safar [Mon, 13 Jun 2016 15:21:14 +0000 (17:21 +0200)]
[System] Fixes crash during implicit file uri parsing with unicode characters

7 years agoMerge pull request #3161 from ntherning/use_msvc_built_libtest_dll_for_runtime_tests_...
Alexander Köplinger [Mon, 13 Jun 2016 14:42:20 +0000 (16:42 +0200)]
Merge pull request #3161 from ntherning/use_msvc_built_libtest_dll_for_runtime_tests_on_windows

Use the MSVC built libtest.dll when running the P/Invoke tests in mono/tests/ on Windows

7 years agoUse the MSVC built libtest.dll when running the P/Invoke tests in mono/tests/
Niklas Therning [Mon, 13 Jun 2016 08:50:19 +0000 (10:50 +0200)]
Use the MSVC built libtest.dll when running the P/Invoke tests in mono/tests/
on Windows. Updates the tests-config.in file with Windows specific <dllmap>
elements that map 'libtest' to the MSVC built libtest.dll for the current
architecture. test-runner.cs has been modified to accept a --config option to
be able to use a specific config file. Makefile.am now configures test-
runner.exe to use the tests-config config when running the tests.

7 years agoSGen: Fix parsing of default-allowance-ratio
Łukasz Domeradzki [Mon, 13 Jun 2016 03:28:22 +0000 (05:28 +0200)]
SGen: Fix parsing of default-allowance-ratio

Parsing ```default-allowance-ratio``` in ```MONO_GC_PARAMS``` is completely broken and accepts only one value - 1.0, while it should accept range of 1.0-10.0. We can clearly notice that when setting ```default-allowance-ratio``` to e.g. ```2.0``` and trying to run any program through Mono runtime:

```
Warning: In environment variable `MONO_GC_PARAMS': `default-allowance-ratio` must be between 1.00 - 1.00. - Using default value.
```

Therefore, correct this for using proper 1.0-10.0 range.

7 years ago[runtime] Don't raise ArgumentNullException in mono_monitor_enter_fast (#3158)
Aleksey Kliger (λgeek) [Sun, 12 Jun 2016 21:32:07 +0000 (17:32 -0400)]
[runtime] Don't raise ArgumentNullException in mono_monitor_enter_fast (#3158)

Just return that you couldn't enter the monitor and let the slow path handle it.

Fixes [#41705](https://bugzilla.xamarin.com/show_bug.cgi?id=41705)

7 years ago[System.Net.Http] Fix CFNetworkHandler.CookieContainer not to return null (#3141)
Sebastien Pouliot [Sat, 11 Jun 2016 18:21:21 +0000 (14:21 -0400)]
[System.Net.Http] Fix CFNetworkHandler.CookieContainer not to return null (#3141)

* [System.Net.Http] Fix CFNetworkHandler.CookieContainer not to return null

This aligns the handler with the managed HttpClientHandler [1] and make
it easier to switch between them without additional or conditional code.

[1] https://github.com/mono/mono/blob/14f8acced5bbb2f6d55fb3e7800382700bcc65eb/mcs/class/System.Net.Http/System.Net.Http/HttpClientHandler.cs#L97

7 years ago[runtime] Avoid building the tools dir when cross-compiling, some tools don't seem...
Zoltan Varga [Sat, 11 Jun 2016 02:48:21 +0000 (22:48 -0400)]
[runtime] Avoid building the tools dir when cross-compiling, some tools don't seem to compile.

7 years ago[amd64] Handle native types correctly in mono_arch_get_llvm_call_info ().
Zoltan Varga [Sat, 11 Jun 2016 02:47:22 +0000 (22:47 -0400)]
[amd64] Handle native types correctly in mono_arch_get_llvm_call_info ().

7 years ago[jit] Add some missing opcodes to MONO_IS_SETCC.
Zoltan Varga [Sat, 11 Jun 2016 02:47:00 +0000 (22:47 -0400)]
[jit] Add some missing opcodes to MONO_IS_SETCC.

7 years agoMerge pull request #3152 from ntherning/use_env_configured_mono_exe_in_runtime_tests
Alexander Köplinger [Fri, 10 Jun 2016 21:39:25 +0000 (23:39 +0200)]
Merge pull request #3152 from ntherning/use_env_configured_mono_exe_in_runtime_tests

Make mono/tests/Makefile.am use MONO_EXECUTABLE if set

7 years ago[mscorlib] Better handling of unix timezones which have offset not specified in whole...
Marek Safar [Fri, 10 Jun 2016 19:23:09 +0000 (21:23 +0200)]
[mscorlib] Better handling of unix timezones which have offset not specified in whole minutes. Fixes #41492

7 years ago[tools] Add a few missing files to the tarball
Alexander Köplinger [Fri, 10 Jun 2016 19:08:45 +0000 (21:08 +0200)]
[tools] Add a few missing files to the tarball

Those turned out to be missing when building tools/ was enabled by default.
Also ignore some stuff in .gitignore

7 years ago[runtime] Fix MonoError lifecycle in do_try_exec_main (#3145)
Aleksey Kliger (λgeek) [Fri, 10 Jun 2016 18:59:53 +0000 (14:59 -0400)]
[runtime] Fix MonoError lifecycle in do_try_exec_main (#3145)

The do_try_exec_main function is always called in contexts where any
exception from doing the invoke is going to be stored in the exc outarg.
That means any MonoError will be handled locally by do_try_exec_main.
So we don't need a MonoError argument, we just need an inner_error.

7 years agoMerge pull request #3144 from Unity-Technologies/fix-recursive-property-call
Martin Baulig [Fri, 10 Jun 2016 18:23:35 +0000 (20:23 +0200)]
Merge pull request #3144 from Unity-Technologies/fix-recursive-property-call

Fix recursive property call in MonoSslStreamImpl

8 years agoMerge pull request #3154 from lambdageek/fix-initmessage-linker
Aleksey Kliger (λgeek) [Fri, 10 Jun 2016 15:54:29 +0000 (11:54 -0400)]
Merge pull request #3154 from lambdageek/fix-initmessage-linker

[linker] Add MonoMethodMessage::InitMessage to mscorlib descriptor

8 years ago[linker] Add MonoMethodMessage::InitMessage to mscorlib descriptor
Aleksey Kliger [Fri, 10 Jun 2016 15:21:29 +0000 (11:21 -0400)]
[linker] Add MonoMethodMessage::InitMessage to mscorlib descriptor

That method gets called from the runtime, it shouldn't be linked out.

8 years ago[tests] Bump timeout in sleep.exe
Alexander Köplinger [Fri, 10 Jun 2016 14:32:21 +0000 (16:32 +0200)]
[tests] Bump timeout in sleep.exe

We're seeing it randomly fail on Wrench with durations of 1550 - 1800ms.
Talked to Zoltan, this might be normal so bumping the timeout to reduce the failure rate.

8 years ago[System] Read all values of unknown/uncommon headers with multiple entries. Fixes...
Marek Safar [Fri, 10 Jun 2016 10:58:07 +0000 (12:58 +0200)]
[System] Read all values of unknown/uncommon headers with multiple entries. Fixes #41552

8 years ago[runtime] Ensure uniqueness of icall wrappers (#3143)
Alexander Kyte [Fri, 10 Jun 2016 09:05:51 +0000 (05:05 -0400)]
[runtime] Ensure uniqueness of icall wrappers (#3143)

The llvmonly backend will use `mono_aot_init_gshared_method_this`
and other initializers to initialize methods. These will transitively call
`mono_icall_get_wrapper_full` when icall wrappers are needed.

The init functions will set the
initialized flag after initialization. They set it in a non-atomic manner. This means that
in a multithreaded environment, it's possible to call the functions
twice.

When `mono_icall_get_wrapper_full` is called without this patch, the
pointers to wrappers it gets from `mono_marshal_get_icall_wrapper`
will not have the same addresses. They will hash to the same value
though.

This will lead to them not being found or inserted by
`find_aot_method_in_amodule`.
The fact that we already have a value with this hash means that
the new wrapper doesn't get inserted. The fact that the pointers differ
mean that we don't say that we've found our desired wrapper.

This leads to an assertion in `mono_icall_get_wrapper_full`
crashing the runtime.

Since we intend to have the semantics of a wrapper for each icall,
this change uses a cache to ensure uniqueness. The observed crashes
do not happen when this change is applied.

8 years agoMerge pull request #3151 from akoeplinger/fix-islocal
Marek Safar [Fri, 10 Jun 2016 08:13:59 +0000 (10:13 +0200)]
Merge pull request #3151 from akoeplinger/fix-islocal

[System] Fix HttpListenerRequestTest.HttpRequestIsLocal intermittently failing

8 years agoModifies mono/tests/Makefile.am to pass along the value set in the
Niklas Therning [Fri, 10 Jun 2016 07:46:04 +0000 (09:46 +0200)]
Modifies mono/tests/Makefile.am to pass along the value set in the
MONO_EXECUTABLE env variable to test-runner.exe using the --runtime command
line parameter. Defaults to 'mono' which is also the defult in test- runner.cs
if no --runtime argument is given.

8 years ago[runtime] Move 'pedump' to tools/pedump, build tools by default. (#3133)
Zoltan Varga [Fri, 10 Jun 2016 06:52:03 +0000 (02:52 -0400)]
[runtime] Move 'pedump' to tools/pedump, build tools by default. (#3133)

* [runtime] Move 'pedump' to tools/pedump, build tools by default.

* Add missing file.

* [runtime] Mark mono_opcodes[] with MONO_API.

* [runtime] Build monograph when sgen is supported instead of boehm.

* [runtime] Link monograph against the static runtime libraries.

* [runtime] Use the same SUBDIRS/DIST_SUBDIRS for the CROSS_COMPILING case.

8 years agoMerge pull request #3140 from esdrubal/syscall_details
Alexander Köplinger [Thu, 9 Jun 2016 23:48:19 +0000 (01:48 +0200)]
Merge pull request #3140 from esdrubal/syscall_details

[runtime] Fixed interruptible wapi_sendfile part2.

8 years ago[System] Fix HttpListenerRequestTest.HttpRequestIsLocal intermittently failing
Alexander Köplinger [Thu, 9 Jun 2016 23:37:45 +0000 (01:37 +0200)]
[System] Fix HttpListenerRequestTest.HttpRequestIsLocal intermittently failing

We're seeing the following exception on devices in CI:

```
[FAIL] HttpListenerRequestTest.HttpRequestIsLocal : System.Net.Sockets.SocketException : Could not resolve host 'XQA-AppleTV-1'
  at System.Net.Dns.Error_11001 (System.String hostName) [0x00000] in /Users/builder/data/lanes/1381/d8287824/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System.Net/Dns.cs:292
  at System.Net.Dns.GetHostByName (System.String hostName) [0x00024] in /Users/builder/data/lanes/1381/d8287824/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System.Net/Dns.cs:419
  at System.Net.Dns.GetHostEntry (System.String hostNameOrAddress) [0x00061] in /Users/builder/data/lanes/1381/d8287824/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System.Net/Dns.cs:380
  at System.Net.Dns.GetHostAddresses (System.String hostNameOrAddress) [0x00065] in /Users/builder/data/lanes/1381/d8287824/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/System/System.Net/Dns.cs:406
  at MonoTests.System.Net.HttpListenerRequestTest.HttpRequestIsLocal () [0x00006] in /Users/xamarinqa/QABot/data/lanes/2441/d8287824/source/xamarin-macios/external/mono/mcs/class/System/Test/System.Net/HttpListenerRequestTest.cs:197
  at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
  at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /Users/builder/data/lanes/1381/d8287824/source/xamarin-macios/_ios-build/Library/Frameworks/Xamarin.iOS.framework/Versions/git/src/mono/mcs/class/corlib/System.Reflection/MonoMethod.cs:309
```

From looking at the code, resolving the hostname to IP addresses via DNS fails so the test doesn't even run.
We don't care where the local IPs come from so we can use an alternative way of getting them - via querying the network interfaces.

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

PS: fixed a hardcoded port while I was touching the code

8 years agoMerge pull request #2921 from lewurm/lower-typechecks-later
monojenkins [Thu, 9 Jun 2016 23:05:15 +0000 (00:05 +0100)]
Merge pull request #2921 from lewurm/lower-typechecks-later

[mini] lower typechecks later

lower typecheck instructions later in the compilation, so we've a chance to do high-level optimization after `method-to-ir`

8 years agoMerge pull request #3121 from lambdageek/dev/managed-init_message
monojenkins [Thu, 9 Jun 2016 22:15:10 +0000 (23:15 +0100)]
Merge pull request #3121 from lambdageek/dev/managed-init_message

Rewriite `MonoMethodMessage::InitMessage` in managed code

Change icall
`System.Runtime.Remoting.Messaging/MonoMethodMessage::InitMessage` to
managed code.

Also update `mono_message_init()` to invoke `InitMessage`.

8 years ago[sgen] Inform on configure and --version when the concurrent GC is the default.
Rodrigo Kumpera [Thu, 9 Jun 2016 20:39:11 +0000 (13:39 -0700)]
[sgen] Inform on configure and --version when the concurrent GC is the default.

8 years ago[mini] execute decompose_typechecks only if there's a typecheck operation
Bernhard Urban [Mon, 6 Jun 2016 18:34:23 +0000 (11:34 -0700)]
[mini] execute decompose_typechecks only if there's a typecheck operation

8 years ago[mini] comment about empty BBs for graph visualization
Bernhard Urban [Mon, 6 Jun 2016 17:57:05 +0000 (10:57 -0700)]
[mini] comment about empty BBs for graph visualization

8 years ago[mini] do decomposition of typechecks later in the compilation pipeline
Bernhard Urban [Thu, 2 Jun 2016 22:23:49 +0000 (15:23 -0700)]
[mini] do decomposition of typechecks later in the compilation pipeline

8 years ago[method-to-ir] get rid of additional reg introduced for `isinst` and `castclass`
Bernhard Urban [Thu, 2 Jun 2016 22:23:45 +0000 (15:23 -0700)]
[method-to-ir] get rid of additional reg introduced for `isinst` and `castclass`

8 years ago[mini] add time tracking for decompose_typechecks pass
Bernhard Urban [Thu, 2 Jun 2016 22:23:42 +0000 (15:23 -0700)]
[mini] add time tracking for decompose_typechecks pass

8 years ago[mini] decompose `isinst` and `castclass` in a later pass
Bernhard Urban [Thu, 2 Jun 2016 22:23:39 +0000 (15:23 -0700)]
[mini] decompose `isinst` and `castclass` in a later pass

8 years ago[cfgdump] insert NOP in empty basic blocks in order to not confuse graph dumper
Bernhard Urban [Thu, 2 Jun 2016 22:23:36 +0000 (15:23 -0700)]
[cfgdump] insert NOP in empty basic blocks in order to not confuse graph dumper

8 years ago[debug] print class name for OP_{isinst,castclass}
Bernhard Urban [Thu, 2 Jun 2016 22:23:29 +0000 (15:23 -0700)]
[debug] print class name for OP_{isinst,castclass}

8 years ago[mini] introduce OP_{isinst,castclass}
Bernhard Urban [Thu, 2 Jun 2016 22:23:26 +0000 (15:23 -0700)]
[mini] introduce OP_{isinst,castclass}

8 years agoMerge pull request #3136 from BrzVlad/fix-stw-stopped
Vlad Brezae [Thu, 9 Jun 2016 20:13:56 +0000 (23:13 +0300)]
Merge pull request #3136 from BrzVlad/fix-stw-stopped

[sgen] Don't try to stop a stopped world

8 years ago[runtime] Switch mono_message_init to invoke managed
Aleksey Kliger [Mon, 6 Jun 2016 21:07:43 +0000 (17:07 -0400)]
[runtime] Switch mono_message_init to invoke managed

Invoke the managed
System.Runtime.Remoting.Messaging.MonoMethodMessage::InitMessage method.

8 years ago[corlib] Implement MonoMethodMessage::InitMessage in managed
Aleksey Kliger [Mon, 6 Jun 2016 20:27:53 +0000 (16:27 -0400)]
[corlib] Implement MonoMethodMessage::InitMessage in managed

Change icall
System.Runtime.Remoting.Messaging/MonoMethodMessage::InitMessage to
managed code.

8 years agoMerge pull request #3127 from alexrp/arm32-on-arm64
Alex Rønne Petersen [Thu, 9 Jun 2016 18:29:31 +0000 (20:29 +0200)]
Merge pull request #3127 from alexrp/arm32-on-arm64

[arm] Correctly detect hardware features when running as arm32 on arm64 hardware.

8 years agoMerge pull request #3137 from BrzVlad/fix-sgen-critical-region
Bernhard Urban [Thu, 9 Jun 2016 17:31:49 +0000 (10:31 -0700)]
Merge pull request #3137 from BrzVlad/fix-sgen-critical-region

[sgen] Exit the critical section also on the slowpath of managed allocators

8 years agoMerge pull request #3142 from henricm/fix-for-win-mono_string_to_utf8
monojenkins [Thu, 9 Jun 2016 16:55:12 +0000 (17:55 +0100)]
Merge pull request #3142 from henricm/fix-for-win-mono_string_to_utf8

Using mono_marshal_free n mono_string_builder_to_utf8

`mono_string_builder_to_utf16` is allocating using `mono_marshal_alloc` which, on windows, allocates memory using `CoTaskMemAlloc`. This buffer was then released in `mono_string_builder_to_utf8` using `g_free` which resulted in a crash since that's a different memory on windows. The fix in this PR makes sure `mono_marshal_free` is called instead which has the correct behaviour and results in a `CoTaskMemFree` on windows.

8 years ago[mcs] Add probing conversion for FormattableString. Fixes #41575
Marek Safar [Thu, 9 Jun 2016 15:54:32 +0000 (17:54 +0200)]
[mcs] Add probing conversion for FormattableString. Fixes #41575

8 years agoFix recursive property call in MonoSslStreamImpl
Mike Voorhees [Thu, 9 Jun 2016 14:38:44 +0000 (10:38 -0400)]
Fix recursive property call in MonoSslStreamImpl

8 years agoMerge pull request #3085 from lateralusX/jlorenss/win-x64-pinvoke-empty-struct
Johan Lorensson [Thu, 9 Jun 2016 13:49:33 +0000 (15:49 +0200)]
Merge pull request #3085 from lateralusX/jlorenss/win-x64-pinvoke-empty-struct

Fix for non GCC win x64 calling convention when passing empty structs over pinvoke.

8 years agoMaking sure mono_marshal_free is used instead of g_free in mono_string_builder_to_utf8
Henric Müller [Thu, 9 Jun 2016 13:21:56 +0000 (15:21 +0200)]
Making sure mono_marshal_free is used instead of g_free in mono_string_builder_to_utf8

8 years agoMerge pull request #3139 from akoeplinger/dns-test
monojenkins [Thu, 9 Jun 2016 13:35:12 +0000 (14:35 +0100)]
Merge pull request #3139 from akoeplinger/dns-test

[System] Make ServicePointTest.DnsRefreshTimeout test more reliable

We are still seeing quite rare failures of this test:

```
HostEntry should result in the same IPHostEntry object.
  Expected: same as <System.Net.IPHostEntry>
  But was:  <System.Net.IPHostEntry>

+++++++++++++++++++
STACK TRACE:
at MonoTests.System.Net.ServicePointTest.DnsRefreshTimeout () [0x00045] in /Users/builder/jenkins/workspace/test-mono-mainline/label/osx-i386/mcs/class/System/Test/System.Net/ServicePointTest.cs:228
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /Users/builder/jenkins/workspace/test-mono-mainline/label/osx-i386/mcs/class/corlib/System.Reflection/MonoMethod.cs:309
```

Since the test is only checking if expiring of the cached DNS lookup works, we don't really need to use an external domain name for this as "localhost" works just fine as well and typically doesn't trigger a DNS query which makes the test more reliable against network issues.

@monojenkins merge

8 years ago[mcs] Recognize indexer with accessors using different names. Fixes #41602
Marek Safar [Thu, 9 Jun 2016 12:58:49 +0000 (14:58 +0200)]
[mcs] Recognize indexer with accessors using different names. Fixes #41602

8 years ago[runtime] Fixed interruptible wapi_sendfile part2.
Marcos Henrich [Thu, 9 Jun 2016 11:42:15 +0000 (12:42 +0100)]
[runtime] Fixed interruptible wapi_sendfile part2.

Fixed issue where underlying system without HAVE_SENDFILE
would not interrupt while sending a file even when the socket was
set as a non blocking one.

8 years ago[System] Make ServicePointTest.DnsRefreshTimeout test more reliable
Alexander Köplinger [Thu, 9 Jun 2016 11:24:13 +0000 (13:24 +0200)]
[System] Make ServicePointTest.DnsRefreshTimeout test more reliable

We are still seeing quite rare failures of this test:

```
HostEntry should result in the same IPHostEntry object.
  Expected: same as <System.Net.IPHostEntry>
  But was:  <System.Net.IPHostEntry>

+++++++++++++++++++
STACK TRACE:
at MonoTests.System.Net.ServicePointTest.DnsRefreshTimeout () [0x00045] in /Users/builder/jenkins/workspace/test-mono-mainline/label/osx-i386/mcs/class/System/Test/System.Net/ServicePointTest.cs:228
at (wrapper managed-to-native) System.Reflection.MonoMethod:InternalInvoke (System.Reflection.MonoMethod,object,object[],System.Exception&)
at System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x00038] in /Users/builder/jenkins/workspace/test-mono-mainline/label/osx-i386/mcs/class/corlib/System.Reflection/MonoMethod.cs:309
```

Since the test is only checking if expiring of the cached DNS lookup works, we don't really need to use an external domain name for this
as "localhost" works just fine as well and typically doesn't trigger a DNS query which makes the test more reliable against network issues.

8 years agoMerge pull request #3138 from akoeplinger/fix-win
Alexander Köplinger [Thu, 9 Jun 2016 09:52:05 +0000 (11:52 +0200)]
Merge pull request #3138 from akoeplinger/fix-win

[metadata] Fix Windows gcc build break

8 years ago[mcs] Bump ikvm to fix assembly unification rules
Marek Safar [Thu, 9 Jun 2016 08:30:40 +0000 (10:30 +0200)]
[mcs] Bump ikvm to fix assembly unification rules

8 years ago[arm] Correctly detect hardware features when running as arm32 on arm64 hardware.
Alex Rønne Petersen [Wed, 8 Jun 2016 14:21:13 +0000 (16:21 +0200)]
[arm] Correctly detect hardware features when running as arm32 on arm64 hardware.

8 years ago[metadata] Fix Windows gcc build break
Alexander Köplinger [Thu, 9 Jun 2016 00:53:26 +0000 (02:53 +0200)]
[metadata] Fix Windows gcc build break

After 680fe21e6952ba6dc73ad89095b34ebb3a9bfc86 it failed with:

```
coree.c: In function '_CorExeMain':
coree.c:200:2: error: implicit declaration of function 'mono_runtime_run_main_checked' [-Werror=implicit-function-declaration]
  mono_runtime_run_main_checked (method, argc, argv, &error);
  ^
[...]
Makefile:2137: recipe for target 'libmonoruntime_la-coree.lo' failed
make[3]: *** [libmonoruntime_la-coree.lo] Error 1
```

8 years ago[sgen] Scatterplot option for gcpauseviz.
Mark Probst [Wed, 8 Jun 2016 23:01:51 +0000 (16:01 -0700)]
[sgen] Scatterplot option for gcpauseviz.

8 years ago[sgen] Exit the critical section also on the slowpath of managed allocators
Vlad Brezae [Wed, 8 Jun 2016 21:57:50 +0000 (00:57 +0300)]
[sgen] Exit the critical section also on the slowpath of managed allocators

We were not exiting the critical section on this code path. This was leading to hangs at stw since the native code would take locks when compiling the code.

8 years ago[sgen] Don't try to stop a stopped world
Vlad Brezae [Wed, 8 Jun 2016 22:20:53 +0000 (01:20 +0300)]
[sgen] Don't try to stop a stopped world

On domain unload we were calling sgen_perform_collection even though we had a stopped world, when finishing a running concurrent collection.

8 years agoMerge pull request #3135 from kumpera/enable_conc_gc_on_mainline_archs
Rodrigo Kumpera [Wed, 8 Jun 2016 22:33:27 +0000 (15:33 -0700)]
Merge pull request #3135 from kumpera/enable_conc_gc_on_mainline_archs

[jenkins] Make the concurrent GC the default on mainline archtectures.

8 years ago[jenkins] Make the concurrent GC the default on mainline archtectures.
Rodrigo Kumpera [Wed, 8 Jun 2016 22:12:34 +0000 (15:12 -0700)]
[jenkins] Make the concurrent GC the default on mainline archtectures.

8 years agoMerge pull request #3090 from alexanderkyte/remove_deprecated_assertions
Alexander Köplinger [Wed, 8 Jun 2016 21:04:00 +0000 (23:04 +0200)]
Merge pull request #3090 from alexanderkyte/remove_deprecated_assertions

[mobile_static] Remove deprecated assertions