Alexander Köplinger [Wed, 5 Apr 2017 01:34:23 +0000 (03:34 +0200)]
[tests] Fix the mcs-compileall target in runtime/ (#4637)
It is used as the "verify" step on Jenkins/Wrench and I noticed
it didn't run recently.
Looks like it was broken a while ago by
695e8f53ae7d2139.
Moving the verifiable_files variable at the top is wrong since
the $$profile variable is only defined inside the for loop and
so we'd get an empty list.
When that was fixed it still didn't work as piping to `echo`
doesn't work. Replaced it with a Makefile solution instead.
Vlad Brezae [Tue, 4 Apr 2017 23:52:03 +0000 (02:52 +0300)]
Merge pull request #4630 from BrzVlad/feature-valloc-limit
[sgen] OOM testing
Vlad Brezae [Mon, 3 Apr 2017 21:30:45 +0000 (00:30 +0300)]
[runtime] Add arch size InterlockedAdd
Vlad Brezae [Fri, 31 Mar 2017 11:51:30 +0000 (14:51 +0300)]
[sgen] Add old forgotten oom tests to sgen oom suite
Vlad Brezae [Fri, 31 Mar 2017 11:48:33 +0000 (14:48 +0300)]
[sgen] Add oom testing suite
Vlad Brezae [Fri, 31 Mar 2017 14:40:12 +0000 (17:40 +0300)]
[sgen] Don't pass gc options to the test-runner
Also remove some plain configurations (in the tests we should explicitly select the major)
Vlad Brezae [Tue, 4 Apr 2017 22:13:00 +0000 (01:13 +0300)]
Merge pull request #4618 from BrzVlad/feature-par-nrs
[sgen] Parallel nursery collections
Martin Baulig [Tue, 4 Apr 2017 18:28:17 +0000 (14:28 -0400)]
[appletls]: Make CFObject.dlsym() private and fix CFBoolean. (#4640)
This fixes a native crash when attempting to use appletls.
Vlad Brezae [Wed, 29 Mar 2017 11:17:02 +0000 (14:17 +0300)]
[sgen] Split up concurrent sweep from worker logic
While this was ok because workers and sweep could not run at the same time, this is no longer the case with parallel nursery collections. In the future, if many threads will be required for different types of jobs, we can consider running them on same native thread, but the jobs will still need to have appropriate contexts (the SgenThreadPool they belong to).
Vlad Brezae [Tue, 28 Mar 2017 21:12:02 +0000 (00:12 +0300)]
[sgen] Increase gray stack section size
Stealing a gray section is relatively expensive since it requires locking. We want to avoid repeated stealing, since only one gray queue section is stolen at a time (in the case of the parallel collector).
Vlad Brezae [Fri, 3 Mar 2017 11:54:14 +0000 (13:54 +0200)]
[sgen] Increase parallelization of minors
Vlad Brezae [Fri, 3 Mar 2017 10:38:15 +0000 (12:38 +0200)]
[sgen] Parallel nursery collections
Scans the card table and the roots on the workers, including draining the stack.
Michael DeRoy [Tue, 4 Apr 2017 12:20:13 +0000 (08:20 -0400)]
Fix mono_marshal_alloc to accept gsize instead of gulong(unsigned long) (#4623)
* Fix mono_marshal_alloc to accept gsize instead of platform dependent unsigned long
* fix header
Marek Safar [Tue, 4 Apr 2017 08:50:56 +0000 (10:50 +0200)]
[System.Core] Linker friendly test update
Marek Safar [Tue, 4 Apr 2017 08:04:48 +0000 (10:04 +0200)]
[Facades] Fixes System.Threading.Overlapped
Marek Safar [Tue, 4 Apr 2017 07:40:16 +0000 (09:40 +0200)]
[System.Core] Remove duplicate files
Marek Safar [Tue, 4 Apr 2017 07:12:51 +0000 (09:12 +0200)]
Bump cecil
Marek Safar [Wed, 29 Mar 2017 13:43:32 +0000 (15:43 +0200)]
[corlib] Port more of corert array
Zoltan Varga [Mon, 3 Apr 2017 21:23:26 +0000 (17:23 -0400)]
[llvm] Add sign extensions for the index register used during bounds checks and array address calculations. (#4636)
Andi McClure [Mon, 3 Apr 2017 19:21:51 +0000 (15:21 -0400)]
Merge pull request #4635 from xmcclure/5.3-bump
Bump master to 5.3 due to creation of 2017-04 branch
Zoltan Varga [Mon, 3 Apr 2017 19:01:28 +0000 (15:01 -0400)]
[jit] Fix a regression caused by
399f6e2425d5fdf73c4f956e9e906613b55968d0. Avoid a crash if MONO_VERBOS_METHOD is used.
Andi McClure [Mon, 3 Apr 2017 17:18:02 +0000 (13:18 -0400)]
Bump to 5.3 due to creation of 2017-04 branch
Zoltan Varga [Mon, 3 Apr 2017 16:22:58 +0000 (12:22 -0400)]
[jit] Fix the casting between arrays with bounds and vectors even for special cased types like object[]. Fixes #54212. (#4633)
Francois Botha [Mon, 3 Apr 2017 14:48:34 +0000 (16:48 +0200)]
Correctly detect relative Uri in package parts (#3630)
Zoltan Varga [Mon, 3 Apr 2017 14:42:07 +0000 (10:42 -0400)]
[runtime] Default Interface Method support (#4625)
* [runtime] Add support for the simplest case of default interfaces, where the default method is used.
* [runtime] Implement overriding of default interface methods in interfaces.
* [jit] Fix gshared support for default interface methods, they require an mrgctx since the this argument doesn't point to the implementing class, not the interface.
Andi McClure [Fri, 31 Mar 2017 20:14:47 +0000 (16:14 -0400)]
Merge pull request #4628 from xmcclure/orbis-profile
Platform support fixes
Zoltan Varga [Fri, 31 Mar 2017 19:56:21 +0000 (15:56 -0400)]
[jit] Fix the ppc build.
Alexander Köplinger [Fri, 31 Mar 2017 17:51:10 +0000 (19:51 +0200)]
Make monolite profile directory versioned (#4631)
If you're building with monolite currently the build system
checks for the existence of mcs/class/lib/monolite and just
uses it in that case.
It becomes a problem when bumping corlib version since if you
pull the update and try to build it'll use the old monolite
and you'll hit the "corlib version not in sync" error.
By making the monolite directory include the version this can
be avoided and everything works out of the box.
Also removed the confusing "You need Mono version 4.8 or better"
message since we actually require a newer version in
basic-profile-check.cs now and keeping them in sync is error prone.
monojenkins [Fri, 31 Mar 2017 17:50:48 +0000 (19:50 +0200)]
[msvc] Update csproj files (#4632)
Andi McClure [Fri, 31 Mar 2017 15:53:53 +0000 (11:53 -0400)]
Style fixes for PR feedback
Michael DeRoy [Thu, 30 Mar 2017 18:23:50 +0000 (14:23 -0400)]
change icall to use gsize as well
Vlad Brezae [Thu, 30 Mar 2017 21:01:16 +0000 (00:01 +0300)]
[sgen] Add debug option for valloc limit
This allows us to stress test OOM inside sgen (and potentially other areas).
Marek Safar [Fri, 31 Mar 2017 11:31:12 +0000 (13:31 +0200)]
[System] Fixes build
Alexander Köplinger [Fri, 31 Mar 2017 00:35:19 +0000 (02:35 +0200)]
Fix Windows build
monojenkins [Fri, 31 Mar 2017 00:03:41 +0000 (02:03 +0200)]
[msvc] Update csproj files (#4624)
Alexander Kyte [Thu, 30 Mar 2017 22:17:29 +0000 (18:17 -0400)]
Merge pull request #4621 from alexanderkyte/strdup_env
[runtime] Switch getenv to use heap memory
Andi McClure [Thu, 30 Mar 2017 21:35:12 +0000 (17:35 -0400)]
Add System.Security.dll to orbis profile
Andi McClure [Thu, 30 Mar 2017 15:57:49 +0000 (11:57 -0400)]
More platform support fixes
- Support platforms without mkdtemp
- Fix compile for console-null.c
Andi McClure [Mon, 20 Mar 2017 21:25:18 +0000 (17:25 -0400)]
Combined cherrypick of changes between mono-4.8.0-branch and orbis-branch-30
ORBIS #ifdefs in BCL, exclude several files and assembly directories
from the orbis build, HAVE_LOCALTIME_R define in C.
Vlad Brezae [Mon, 20 Mar 2017 19:40:49 +0000 (15:40 -0400)]
[sgen] Emit fast inline wbarrier instead of the wrapper one
Which seems to be about 4 times slower than the inline one.
Bernhard Urban [Thu, 30 Mar 2017 15:50:03 +0000 (11:50 -0400)]
[interp] basic filter clause support
Alexander Kyte [Mon, 27 Mar 2017 06:18:43 +0000 (02:18 -0400)]
[runtime] Switch getenv to use heap memory
Getenv doesn't use heap memory, it uses static memory.
Mono's usage is consistent with a view of getenv memory contents
that are durable and can be stored and manipulated.
In a multithreaded context, getenv calls can race and corrupt
string buffers as they are read. In a single threaded context,
subsequent calls to getenv will lead to overwriting the memory
that pointers to previous calls point to.
In order to bring memory safety back, we duplicate memory and
manage it at each call-site.
Note: this changes the API semantics of g_getenv. This is necessary
because the locking around the getenv buffer is safest when confined to
the function in eglib.
Mikayla Hutchinson [Wed, 29 Mar 2017 23:47:50 +0000 (19:47 -0400)]
[System.Web] Implement HostingEnvironment.QueueBackgroundWorkItem
From reference source.
This is required for the Azure Functions Host to run unmodified.
Alexander Köplinger [Thu, 30 Mar 2017 15:02:10 +0000 (17:02 +0200)]
Bring in the new reference assemblies (#4619)
This bumps the reference assemblies submodule so we can install
the new assemblies which are built from source.
Alexander Kyte [Thu, 30 Mar 2017 12:39:05 +0000 (08:39 -0400)]
[runtime] Fix typo in icall name (#4616)
Zoltan Varga [Thu, 30 Mar 2017 11:32:44 +0000 (07:32 -0400)]
Add beginnings of mixed code execution support (#4613)
* [interp] Fix a few problems exposed by the iltests.exe test suite.
The ENDFINALLY opcode should empty the stack. The INITBLK opcode is two bytes.
* [interp] Store the MonoMethod->RuntimeMethod mapping in a separate hash in MonoJitDomainInfo instead of using MonoDomain.jit_code_hash, the latter contains MonoMethod->MonoJitInfo mappings. Also avoid holding the domain lock while creating the RuntimeMethod structure.
* [interp] Add a mono_jit_compile_method_jit_only () function which always compiles its argument using the JIT/AOT.
* [interp] Print a warning when --interpreter is used with a runtime compiled without ENABLE_INTERPRETER.
* [interp] Fix the size of the icall enter trampoline on amd64. Fix some formatting issues.
* [interp] Add support for calling JITted code from the interpreter. This uses the gsharedvt_out wrappers used by bitcode to reduce the number of possible calling conventions since all arguments and the return value are passed/returned by value. Not enabled yet.
* [interp] Add a --interp= argument which allows passing of options to the interpreter. Add a 'jit=' option which is used to control the set of types whose methods will be called by exiting the interpreter.
* [interp] Add tests for mixed mode execution.
* [interp] Add support for calling interpreter code from JITted code.
* [interp] add mixedmode target to CI
* Revert a debug change.
* [runtime] Fix the locking in the gsharedvt/interp wrapper creation functions.
* [interp] Implement support for interp->jit calls with more than 8 arguments.
Marek Safar [Wed, 29 Mar 2017 16:58:35 +0000 (18:58 +0200)]
[System] WebSockets from corefx
Vlad Brezae [Thu, 2 Mar 2017 21:35:58 +0000 (23:35 +0200)]
[sgen] Remove CARDTABLE_STATS
For dirty card counts we already have heavy counters. For card table scan time we already have the binary protocol which has more flexibility.
Vlad Brezae [Thu, 2 Mar 2017 14:44:56 +0000 (16:44 +0200)]
[sgen] Make sure workers don't have evacuating blocks on the free-lists
Double copying of an object during a collection is not allowed. If we allocate from an evacuating block this can happen.
Vlad Brezae [Thu, 2 Mar 2017 14:37:13 +0000 (16:37 +0200)]
[sgen] Blocks on the freelist don't need to have been swept
Vlad Brezae [Thu, 2 Mar 2017 14:28:25 +0000 (16:28 +0200)]
[sgen] Shutdown thread pool worker even if it's not active
Vlad Brezae [Wed, 1 Mar 2017 13:41:27 +0000 (15:41 +0200)]
[sgen] Don't use workers during finishing pause if we're not parallel
Worker can be used though to drain the gray stack of workers after a forced finish (at the start of the finishing pause).
Vlad Brezae [Wed, 1 Mar 2017 00:58:01 +0000 (02:58 +0200)]
[sgen] Add scan/copy context for the simple parallel nursery
Vlad Brezae [Wed, 1 Mar 2017 00:03:14 +0000 (02:03 +0200)]
[sgen] Add option for parallel nursery collector
Zoltan Varga [Thu, 30 Mar 2017 01:42:01 +0000 (21:42 -0400)]
[bcl] Avoid waiting for events inside a finalizer in Process.WaitForExit () because it can hang if the thread which sets the event is aborted during shutdown. Fixes #53843. (#4609) (#4617)
Alexander Kyte [Wed, 22 Mar 2017 17:54:22 +0000 (13:54 -0400)]
[runtime] Don't discard string conversion errors
monojenkins [Wed, 29 Mar 2017 16:21:14 +0000 (16:21 +0000)]
[msvc] Update csproj files
Rodrigo Kumpera [Wed, 29 Mar 2017 15:46:29 +0000 (11:46 -0400)]
Merge pull request #4540 from kumpera/android-changes-part1
[bcl+runtime] Multiple small cleanups to Android.
Marek Safar [Wed, 29 Mar 2017 10:11:33 +0000 (12:11 +0200)]
[tools] Remove unused sources
Zoltan Varga [Wed, 29 Mar 2017 09:38:30 +0000 (05:38 -0400)]
[jit] Cleanup the signature of the mono_arch_get_static_rgctx_trampoline () function. (#4605)
Remove the unused MonoMethod argument, and rename the 'mrgctx' argument to 'arg', since it can be any value, not just
an mrgctx.
Marek Safar [Wed, 29 Mar 2017 07:56:43 +0000 (09:56 +0200)]
Bump cecil
Marek Safar [Thu, 23 Mar 2017 22:55:58 +0000 (23:55 +0100)]
Bump corefx
Zoltan Varga [Wed, 29 Mar 2017 00:17:31 +0000 (20:17 -0400)]
[jit] Add ref types to mini_get_underlying_type (), use it to simplify the switch loops in the jit. (#4606)
Ludovic Henry [Tue, 28 Mar 2017 21:03:31 +0000 (17:03 -0400)]
[threadpool] Pass callback at initialization (#4546)
This remove the possibility to execute different callbacks on the threadpool, but this allows us to remove the work_items_lock, which is called on the hot path of the ThreadPool.
monojenkins [Tue, 28 Mar 2017 16:42:55 +0000 (16:42 +0000)]
[msvc] Update csproj files
Andi McClure [Tue, 28 Mar 2017 18:14:08 +0000 (14:14 -0400)]
Merge pull request #4168 from xmcclure/aot-man
Correctly document --aot options in man page
Andi McClure [Mon, 27 Mar 2017 21:58:27 +0000 (17:58 -0400)]
Remove 'experimental' label from full/hybrid AOT in manpage
Andi McClure [Mon, 27 Mar 2017 21:50:46 +0000 (17:50 -0400)]
Correctly document --aot options in man page
- Ensure all AOT options are both documented and listed in
alphabetical order in both the manpage and --help line
- Ensure all exceptoins are commented in the aot-compiler.c source
with "intentionally udnocumented"
Marek Safar [Mon, 27 Mar 2017 22:28:08 +0000 (00:28 +0200)]
[mono] Remove unused icall
Miguel de Icaza [Tue, 28 Mar 2017 15:18:43 +0000 (11:18 -0400)]
Update copyright years
Rolf Bjarne Kvinge [Thu, 23 Mar 2017 17:43:29 +0000 (18:43 +0100)]
[corlib] Add back X509 support for watchOS.
Otherwise we'd be regressing existing (and working) behavior.
Chris Hamons [Mon, 27 Mar 2017 20:05:09 +0000 (15:05 -0500)]
Disable a few x509 tests that fail on older macOS
- Handles https://bugzilla.xamarin.com/show_bug.cgi?id=53958
- https://bugzilla.xamarin.com/show_bug.cgi?id=53689 is filed to turn them
back on later with a better version check
- SecCertificateCreateWithData handles invalid arguments differently based on
macOS version
Marek Safar [Thu, 23 Mar 2017 13:12:13 +0000 (14:12 +0100)]
[corlib] Add more Array tests
Marek Safar [Wed, 22 Mar 2017 14:05:53 +0000 (15:05 +0100)]
[System.Windows.Forms] Fixes DataGridViewColumnCollection comparer not to return 1 on match
Marek Safar [Wed, 22 Mar 2017 14:04:21 +0000 (15:04 +0100)]
[System.Windows.Forms] Imrove DataGridViewColumnCollectionTest
Marek Safar [Fri, 17 Mar 2017 09:42:36 +0000 (10:42 +0100)]
[corlib] Use array managed parts from corert to fix bugs in sorting and arguments checking. Fixes #53196 and similar
Marek Safar [Tue, 21 Mar 2017 17:11:17 +0000 (18:11 +0100)]
Bump corert
Marek Safar [Fri, 17 Mar 2017 09:08:37 +0000 (10:08 +0100)]
[corlib] Fix RegistryKeyTest cleanup
Andi McClure [Mon, 27 Mar 2017 19:15:26 +0000 (15:15 -0400)]
Merge pull request #4594 from lambdageek/bug-53890
[remoting] Pass correct object to invoke of IRemotingTypeInfo.CanCastTo
Johan Lorensson [Mon, 27 Mar 2017 07:04:53 +0000 (09:04 +0200)]
Merge pull request #4570 from lateralusX/jlorenss/visual_studio_msbuild_fix
Windows msbuild triggers too much to rebuild.
Jb Evain [Sun, 26 Mar 2017 13:33:34 +0000 (06:33 -0700)]
Add FieldInfoMirror.FullName (#4588)
Bernhard Urban [Sun, 26 Mar 2017 02:06:10 +0000 (22:06 -0400)]
[interp] call mono_unhandled_exception, so exit() is called with proper return code
Bernhard Urban [Sun, 26 Mar 2017 02:06:09 +0000 (22:06 -0400)]
[interp] enable more tests for CI
Bernhard Urban [Sun, 26 Mar 2017 02:06:09 +0000 (22:06 -0400)]
[interp] support floating point in runtime_invoke
Bernhard Urban [Sun, 26 Mar 2017 02:06:09 +0000 (22:06 -0400)]
[interp] allow more gregs, enable pinvoke17.exe
Bernhard Urban [Sun, 26 Mar 2017 02:06:09 +0000 (22:06 -0400)]
[interp] throw NRE in mint_strlen
Bernhard Urban [Fri, 24 Mar 2017 23:32:20 +0000 (00:32 +0100)]
[interp] add write barriers
issues found with
`MONO_GC_DEBUG=3,collect-before-allocs,check-remset-consistency ../mini/mono-sgen --interpreter /Users/bernhardu/work/mono/b/lib/mono/4.5/mcs.exe hello.cs`
Bernhard Urban [Fri, 24 Mar 2017 23:32:20 +0000 (00:32 +0100)]
[interp] respect reference type in stobj insn
stackval_from_data does everything for us.
Aleksey Kliger [Fri, 24 Mar 2017 22:47:38 +0000 (18:47 -0400)]
[remoting] Pass correct object to invoke of IRemotingTypeInfo.CanCastTo
Pass the payload of the coop handle as the 'this' object, not the handle
itself.
Add asserts in ves_icall_Remoting_RealProxy_InternalGetProxyType that
remote_class and the proxy_class are non-NULL.
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=53890
Jon Purdy [Fri, 10 Mar 2017 21:10:49 +0000 (13:10 -0800)]
[docs] Update formatting in mono-api-utils.
Jon Purdy [Fri, 10 Mar 2017 21:10:02 +0000 (13:10 -0800)]
[docs] Update formatting in mono-api-unsorted.
Jon Purdy [Fri, 10 Mar 2017 21:04:17 +0000 (13:04 -0800)]
[docs] Update formatting in mono-api-type.
Jon Purdy [Fri, 10 Mar 2017 20:59:51 +0000 (12:59 -0800)]
[docs] Update formatting in mono-api-threads.
Jon Purdy [Fri, 10 Mar 2017 20:55:58 +0000 (12:55 -0800)]
[docs] Update formatting in mono-api-string.
Jon Purdy [Fri, 10 Mar 2017 00:32:53 +0000 (16:32 -0800)]
[docs] Update formatting in mono-api-security.
Jon Purdy [Fri, 10 Mar 2017 00:28:18 +0000 (16:28 -0800)]
[docs] Update formatting in mono-api-reflection.
Jon Purdy [Fri, 10 Mar 2017 00:22:39 +0000 (16:22 -0800)]
[docs] Update formatting in mono-api-profiler.
Jon Purdy [Fri, 10 Mar 2017 00:19:29 +0000 (16:19 -0800)]
[docs] Update formatting in mono-api-object.
Jon Purdy [Fri, 10 Mar 2017 00:09:45 +0000 (16:09 -0800)]
[docs] Update formatting in mono-api-methods.
Jon Purdy [Thu, 9 Mar 2017 22:53:58 +0000 (14:53 -0800)]
[docs] Update formatting in mono-api-metadata.