Raja R Harinath [Wed, 4 Aug 2010 02:40:08 +0000 (08:10 +0530)]
Add a dummy SmtpServer to talk to our SmtpClient in unit tests
* SmtpServer.cs: New.
* SmtpClientTest.cs (Deliver): New. Use it.
Mark Probst [Wed, 4 Aug 2010 01:56:17 +0000 (03:56 +0200)]
Merge branch 'selectable-major'
Mark Probst [Wed, 28 Jul 2010 14:01:54 +0000 (16:01 +0200)]
[sgen] Fix binary protocol.
The major collector refactoring left the binary protocol broken. Fix
it.
Mark Probst [Wed, 28 Jul 2010 13:45:23 +0000 (15:45 +0200)]
[sgen] Fix heavy statistics.
The major collector refactoring left heavy statistics broken. A few
heavy statistics counters are defined in sgen-gc.c but used in the
major collectors. We're now exporting them. Another possibility
would have been to define them in both major collectors, but since
this is only a debug feature that's not normally compiled in, we don't
care.
Mark Probst [Wed, 28 Jul 2010 02:00:36 +0000 (04:00 +0200)]
[sgen] Inline mono_sgen_par_object_get_size().
Define mono_sgen_par_object_get_size() as an inline function in
sgen-gc.h.
Mark Probst [Wed, 28 Jul 2010 01:38:19 +0000 (03:38 +0200)]
[sgen] Put all scan and copy functions into the major collectors.
Let the major collectors define their own versions of all the scan
and copy functions, too. We avoid indirect calls and allow more
inlining.
Mark Probst [Tue, 27 Jul 2010 21:20:54 +0000 (23:20 +0200)]
[sgen] Put major_scan_object() into the major collectors.
Make the major collectors define their own versions of
major_scan_object() by including a small header file. This
avoids indirect calls to major_copy_or_mark_object() and
allows inlining.
Mark Probst [Tue, 27 Jul 2010 16:09:58 +0000 (18:09 +0200)]
[sgen] Make major collector configurable via MONO_GC_PARAMS.
We can now tell SGen which major collector to use by setting
the "major" parameter in MONO_GC_PARAMS to either "copying" or
"marksweep".
Mark Probst [Tue, 27 Jul 2010 10:20:37 +0000 (12:20 +0200)]
[sgen] Major collectors in their own compilation units.
SGen's two major collector, copying and mark&sweep, are now
in their own separate compilation units, communicating with
SGen through an internal API.
Zoltan Varga [Wed, 4 Aug 2010 01:44:53 +0000 (03:44 +0200)]
Avoid creating the namedSlots array in the static cctor, so it is not
constructed at runtime shutdown.
Zoltan Varga [Wed, 4 Aug 2010 01:39:55 +0000 (03:39 +0200)]
Increase a buf size.
2010-08-04 Zoltan Varga <vargaz@gmail.com>
* aot-compiler.c (emit_extra_methods): Increase a buf size.
Zoltan Varga [Wed, 4 Aug 2010 01:38:09 +0000 (03:38 +0200)]
Avoid returning non MonoMethod's.
* marshal.c (mono_marshal_method_from_wrapper): Avoid returning non MonoMethod's.
Mark Probst [Tue, 3 Aug 2010 23:21:48 +0000 (01:21 +0200)]
[ppc] Fix build.
calculate_sizes() needs a generic sharing context, so we pass it in.
Zoltan Varga [Tue, 3 Aug 2010 23:10:12 +0000 (01:10 +0200)]
Add mini-llvm-cpp.h.
* Makefile.am (common_sources): Add mini-llvm-cpp.h.
Jérémie Laval [Tue, 3 Aug 2010 22:48:19 +0000 (00:48 +0200)]
Add missing BOOTSTRAP_NET_4_0 define check in ManualResetEventSlim (as BlockingCollection now depends on that type).
Jérémie Laval [Tue, 3 Aug 2010 19:49:37 +0000 (21:49 +0200)]
Fix two minor exception misusages in BlockingCollection.
Jérémie Laval [Tue, 3 Aug 2010 19:43:08 +0000 (21:43 +0200)]
[Fix] Add deep-sleep to BlockingCollection using two ManualResetEventSlim for signaling when waiting in "collection-is-full-while-adding" and "collection-is-empty-while-taking" scenarios. Should definitely fix #624849.
Jérémie Laval [Tue, 3 Aug 2010 19:40:12 +0000 (21:40 +0200)]
Sanitize use of CancellationToken in BlockingCollection.
Jérémie Laval [Tue, 3 Aug 2010 19:34:47 +0000 (21:34 +0200)]
Add a coherence subtest to SemaphoreSlim unit tests to enforce that only the correct number of thread are allowed to run concurrently.
Jérémie Laval [Tue, 3 Aug 2010 19:33:02 +0000 (21:33 +0200)]
Use SemaphoreSlim underlying kernel-based event to sleep deeper when too much time has already been spent spinning.
Same rationale change than ealier ManualResetEventSlim commit.
Jérémie Laval [Tue, 3 Aug 2010 19:32:04 +0000 (21:32 +0200)]
Correctly uses CancellationToken's ThrowIfCancellationRequested method in SemaphoreSlim and throw OperationCanceledException instead of returning false.
Jérémie Laval [Tue, 3 Aug 2010 19:30:39 +0000 (21:30 +0200)]
Correctly set SemaphoreSlim underlying kernel-based event state when it's changing state itself.
Jérémie Laval [Tue, 3 Aug 2010 19:24:50 +0000 (21:24 +0200)]
Correctly use ManualResetEventSlim's kernel-based counterpart to deep sleep when too much has already been spent spinning.
Instead of using solely SpinWait's SpinOnce method after ManualResetEventSlim's spinCount is reached, it now uses ManualResetEvent's WaitOne method. Various other checks like CancellationToken canceled state are still verified during that time albeit slower.
Jérémie Laval [Tue, 3 Aug 2010 19:21:15 +0000 (21:21 +0200)]
Use directly CancellationToken's ThrowIfCancellationRequested in ManualResetEventSlim
Jérémie Laval [Tue, 3 Aug 2010 19:18:00 +0000 (21:18 +0200)]
Use kernel-event in ThreadWorker and Scheduler to sync new arrival of work to do.
Instead of shutting down the thread when there is no more work to do, each ThreadWorker will now block on an EventWaitHandler and be awoken later by Scheduler.
Jérémie Laval [Tue, 3 Aug 2010 18:06:22 +0000 (20:06 +0200)]
Revert stalling changes introduced in SpinWait. Add a guard for ntime overflow.
The deeper-sleep stalling code path is now delegated to the concerned types rather than being directly inside SpinWait.
Marek Safar [Tue, 3 Aug 2010 16:23:29 +0000 (17:23 +0100)]
Report CS0243 before CS0578. Fixes #624650
Marek Safar [Tue, 3 Aug 2010 16:09:35 +0000 (17:09 +0100)]
Add more cases for 4.0 identity comparison. Fixes #624183
Andrés G. Aragoneses [Tue, 3 Aug 2010 15:38:39 +0000 (23:38 +0800)]
Add the name="..." notation to the field examples too (besides the signature="..." one).
Marek Habersack [Tue, 3 Aug 2010 15:25:10 +0000 (17:25 +0200)]
Removed a few ONLY_1_1 ifdefs
Marek Habersack [Tue, 3 Aug 2010 14:58:43 +0000 (16:58 +0200)]
Test commit - please ignore
Jb Evain [Tue, 3 Aug 2010 13:12:35 +0000 (15:12 +0200)]
Add tests for delegates closed over null
Jb Evain [Tue, 3 Aug 2010 13:11:43 +0000 (15:11 +0200)]
Delegate.CreateDelegate: add support for delegates closed over null for instance methods
Marek Habersack [Tue, 3 Aug 2010 13:28:51 +0000 (15:28 +0200)]
Removed 1.1 code and NET_2_0 ifdefs
Marek Safar [Tue, 3 Aug 2010 11:49:45 +0000 (12:49 +0100)]
Fixed equality match between object and dynamic for ref/out parameters.
Marek Safar [Tue, 3 Aug 2010 09:28:36 +0000 (10:28 +0100)]
Updated known issues
Marek Safar [Tue, 3 Aug 2010 09:29:12 +0000 (10:29 +0100)]
Merge branch 'master' of github.com:mono/mono
Marek Safar [Tue, 3 Aug 2010 09:25:01 +0000 (10:25 +0100)]
Implemented as operator over dynamic expression. Fixes #624194
Ankit Jain [Tue, 3 Aug 2010 08:49:53 +0000 (14:19 +0530)]
[xbuild] Add $(TargetFrameworkDirectory) for msbuild compatibility.
* xbuild/xbuild/*/Microsoft.Common.targets: Rename item
@(TargetFrameworkDirectories) to @(_TargetFrameworkDirectories)
to *mark* it as private, and use the new $(TargetFrameworkDirectory)
property instead. Reported by mhutch.
* xbuild/xbuild/*/Microsoft.Silverlight.Common.targets: Update
to track the changes.
Ankit Jain [Tue, 3 Aug 2010 08:15:02 +0000 (13:45 +0530)]
[xbuild]When invoking resgen, set MONO_IOMAP only if its not already set.
Microsoft.Build.Tasks/Microsoft.Build.Tasks/GenerateResource.cs: Set
MONO_IOMAP only if its unset, allowing it to be set from command line etc.
Marek Safar [Mon, 2 Aug 2010 22:11:06 +0000 (23:11 +0100)]
Add verifier assistance for coalescing operator. Fixes #619192
Marek Safar [Mon, 2 Aug 2010 19:38:10 +0000 (20:38 +0100)]
Add verifier required boxing of reference type of fields left expression
Zoltan Varga [Mon, 2 Aug 2010 21:35:33 +0000 (23:35 +0200)]
Get rid of mono_arch_get_vcall_slot ().
2010-08-02 Zoltan Varga <vargaz@gmail.com>
* tramp-amd64.c (get_vcall_slot): Move mono_arch_get_vcall_slot () here, since it
is only used by this file.
* tramp-x86.c: Ditto.
* mini-trampolines.c mini-<ARCH>.c: Get rid of mono_arch_get_vcall_slot (), all
architectures should support MONO_ARCH_THIS_AS_FIRST_ARG now.
Carlos Alberto Cortez [Mon, 2 Aug 2010 20:30:36 +0000 (22:30 +0200)]
Make RegistryKey.Dispose public.
* RegistryKey.cs: Dispose is public in 4.0.
Carlos Alberto Cortez [Mon, 2 Aug 2010 20:18:39 +0000 (22:18 +0200)]
New test for 4.0 RegistryKey.Handle property.
* RegistryKeyTest.cs: New test for Handle - activated only for
windows now, as we don't have it implemented in unix.
Carlos Alberto Cortez [Mon, 2 Aug 2010 20:16:56 +0000 (22:16 +0200)]
Add None to RegistryValueKind enumeration.
* RegistryValueKind.cs: Add None as part of the 4.0 update.
Carlos Alberto Cortez [Mon, 2 Aug 2010 20:04:38 +0000 (22:04 +0200)]
Implement 4.0 RegistryKey.Handle property.
* RegistryKey.cs: Implement Handle, but only for Windows, since
we don't have any unmanaged api to access the registry - and our
unix impl is fully managed anyway. Also rename our internal
Handle property to InternalHandle.
* Win32RegistryApi.cs:
* UnixRegistryApi.cs:
* IRegistryApi.cs: Add a GetHandle method, and update calls to
RegistryKey.Handle to use InternalHandle instead.
Carlos Alberto Cortez [Mon, 2 Aug 2010 19:14:39 +0000 (21:14 +0200)]
Implement 4.0 simple overloads of some RegistryKey methods.
* RegistryKey.cs: Implement the simple overloads of OpenBaseKey,
OpenRemoteBaseKey, FromHandle that take a RegistryView
parameter, which we ignore, as well as adding View property.
Carlos Alberto Cortez [Mon, 2 Aug 2010 04:04:45 +0000 (06:04 +0200)]
New tests for RegistryKey.FromHandle.
* RegistryKeyTest.cs: New tests for FromHandle,
as well as the needed bits to get the key handle from
the unmanaged world.
Carlos Alberto Cortez [Mon, 2 Aug 2010 04:00:17 +0000 (06:00 +0200)]
Implement RegistryKey.FromHandle.
* Win32RegistryApi.cs:
* RegistryKey.cs: Implement RegistryKey.FromHandle method,
supported only on Windows as there is not any unmanaged
convention to retrieve a handle for a given key.
* Win32ResultCode.cs: Add InvalidHandle code.
* UnixRegistryApi.cs:
* IRegistryApi.cs: Update overloads.
Zoltan Varga [Mon, 2 Aug 2010 22:19:33 +0000 (00:19 +0200)]
Remove some obsolete comments.
Zoltan Varga [Mon, 2 Aug 2010 22:08:38 +0000 (00:08 +0200)]
Add a missing unlock.
2010-08-03 Zoltan Varga <vargaz@gmail.com>
* loader.c (mono_method_get_header): Add a missing unlock.
Zoltan Varga [Mon, 2 Aug 2010 19:32:20 +0000 (21:32 +0200)]
2010-08-02 Zoltan Varga <vargaz@gmail.com>
* exceptions-sparc.c (mono_arch_get_throw_corlib_exception): Fix the sparc build.
Zoltan Varga [Mon, 2 Aug 2010 19:22:39 +0000 (21:22 +0200)]
2010-08-02 Zoltan Varga <vargaz@gmail.com>
* test/test.c (FAILED): Fix linking on systems without vasprintf.
Zoltan Varga [Mon, 2 Aug 2010 19:13:37 +0000 (21:13 +0200)]
2010-08-02 Zoltan Varga <vargaz@gmail.com>
* configure.ac: Define _POSIX_PTHREAD_SEMANTICS on solaris to get posix compliant
versions of some functions.
Zoltan Varga [Mon, 2 Aug 2010 18:52:21 +0000 (20:52 +0200)]
2010-08-02 Zoltan Varga <vargaz@gmail.com>
* mini-sparc.c: Change the calling convention to pass this as first as on other
architectures. Remove some dead code from the get_vcall_slot().
Marek Safar [Mon, 2 Aug 2010 17:49:24 +0000 (18:49 +0100)]
Emit address load for compound struct references assignment. Fixed #620362
Marek Safar [Mon, 2 Aug 2010 16:37:43 +0000 (17:37 +0100)]
Initialize anonymous methods story for all sections inside switch block. Fixes #624324
Marek Safar [Mon, 2 Aug 2010 16:21:12 +0000 (17:21 +0100)]
Actually test the call
Marek Safar [Mon, 2 Aug 2010 12:12:36 +0000 (13:12 +0100)]
Replace MOONLIGHT with NET_2_1
Mark Probst [Mon, 2 Aug 2010 12:36:56 +0000 (14:36 +0200)]
[commit-to-changelog] Bugfix.
The commit-to-changelog script would crash for commits that already
contain ChangeLog entries.
atsushieno [Mon, 2 Aug 2010 10:47:42 +0000 (19:47 +0900)]
Merge branch 'master' of github.com:mono/mono into atsushi
atsushieno [Mon, 2 Aug 2010 10:46:28 +0000 (19:46 +0900)]
Fix a bunch of compilation errors now that I can get.
Marek Safar [Mon, 2 Aug 2010 10:33:44 +0000 (11:33 +0100)]
Workaround unusual moonlight setup
atsushieno [Mon, 2 Aug 2010 09:18:16 +0000 (18:18 +0900)]
Add build fix (not sure if it is correct; MSDN does not tell it exists.)
Gonzalo Paniagua Javier [Mon, 2 Aug 2010 02:33:44 +0000 (22:33 -0400)]
Add tests. Make appdomain-unload work again
* Makefile.am: added 2 new tests
* threadpool-exceptions6.cs: new thread.abort inside the threadpool
test.
* appdomain-unload.exe.config: this test does not work in .NET without
having the legacy unhandled exception mode enabled.
Carlos Alberto Cortez [Sun, 1 Aug 2010 21:01:38 +0000 (23:01 +0200)]
New test for the 4.0 DeleteSubKeyTree overload.
* RegistryKeyTest.cs: New test for the 4.0 overload of
DeleteSubKeyTree that takes a boolean to throw an exc.
Carlos Alberto Cortez [Sun, 1 Aug 2010 20:38:07 +0000 (22:38 +0200)]
Implement 4.0 DeleteSubKeyTree overload.
* RegistryKey.cs: Implement the 4.0 overload of DeleteSubKeyTree
that takes a boolean to throw an exception if the key is not
found. Just expose our already existing method as an internal
overload for 2.0.
Zoltan Varga [Mon, 2 Aug 2010 00:10:28 +0000 (02:10 +0200)]
2010-08-02 Zoltan Varga <vargaz@gmail.com>
* mini-llvm-cpp.cpp (mono_llvm_create_ee): Use a bigger set of optimization passes
by default.
Zoltan Varga [Sun, 1 Aug 2010 23:28:48 +0000 (01:28 +0200)]
Revert "Fix building the LLVM backend with recent LLVM SVN versions."
This reverts commit
3c53388c59bb2886dcccd4c141b6176a4b62ad00.
The LLVM version which required this change is broken, so revert this change
along with reverting the 'mono' branch in the mono/llvm repo to a working version.
Raja R Harinath [Sun, 1 Aug 2010 18:34:50 +0000 (00:04 +0530)]
Re-enable 'crlf' attributes on *.cs
This fixes EOL conversions flagged by git 1.7.1 core.autocrlf=true. At this
point, neither git 1.7.1 nor 1.7.2 show any automatic CRLF normalization.
I think we're ready for another experiment.
There seems to be a difference in the handling of mixed line-ending files
between git 1.7.2 and older versions, when core.autocrlf is set to true.
Gonzalo Paniagua Javier [Sun, 1 Aug 2010 18:31:56 +0000 (14:31 -0400)]
New threadpool + exception test.
Zoltan Varga [Sun, 1 Aug 2010 13:01:02 +0000 (15:01 +0200)]
Fix building the LLVM backend with recent LLVM SVN versions.
2010-08-01 Zoltan Varga <vargaz@gmail.com>
* mini-llvm-cpp.cpp (MonoJITMemoryManager): Fix building with recent LLVM SVN versions.
Marek Safar [Sun, 1 Aug 2010 09:12:50 +0000 (10:12 +0100)]
Update SymbolWriter to use generics collections
Marek Safar [Sun, 1 Aug 2010 08:13:05 +0000 (09:13 +0100)]
Import abstract members as abstract only, Fixes #617970.
Marek Safar [Sat, 31 Jul 2010 23:14:11 +0000 (00:14 +0100)]
Add my old sync script
Gonzalo Paniagua Javier [Sun, 1 Aug 2010 05:38:42 +0000 (01:38 -0400)]
Merge remote branch 'tgiphil/master'; commit '
c9bc218cd3ccfa17532a'
Martin Baulig [Sat, 31 Jul 2010 16:53:37 +0000 (18:53 +0200)]
Kill mono_debugger_get_thread_abort_signal().
* mini/debug-debugger.c
(MONO_DEBUGGER__debugger_info): Add 'thread_abort_signal', pointing
to a field store the signal number on startup.
* metadata/mono-debug.h: Bump debugger version to 81.6.
Jérémie Laval [Sat, 31 Jul 2010 10:45:24 +0000 (12:45 +0200)]
[Fix] Adjust SpinWait values to stall the thread earlier. Fix #624849.
tgiphil [Sat, 31 Jul 2010 03:21:11 +0000 (20:21 -0700)]
Merge branch 'master' of github.com/mono/mono
Rodrigo Kumpera [Fri, 30 Jul 2010 19:53:26 +0000 (16:53 -0300)]
Verify the token for ldtoken.
* verify.c (do_load_token): Verify table and index
of the source token.
Fixes #560348
Rodrigo Kumpera [Fri, 30 Jul 2010 14:18:12 +0000 (11:18 -0300)]
Fix verifier test suite.
2010-07-30 Rodrigo Kumpera <rkumpera@novell.com>
* Makefile: Fix build.
Marek Safar [Fri, 30 Jul 2010 19:58:38 +0000 (20:58 +0100)]
Allow Delegate.Combine/Remove with right null. Fixes #627044
Mark Probst [Fri, 30 Jul 2010 18:59:20 +0000 (20:59 +0200)]
Merge branch 'commit-to-changelog'
Mark Probst [Fri, 30 Jul 2010 01:51:46 +0000 (03:51 +0200)]
Don't generate empty ChangeLog entries, insert the whole message instead.
The commits-to-changelog script previously generated ChangeLog entries
with a FIXME if it couldn't find anything applicable for that
particular ChangeLog. Since we want to use the script for "make dist"
it shouldn't do this. Instead it now just inserts the whole commit
message in those ChangeLogs.
Mark Probst [Thu, 29 Jul 2010 23:54:23 +0000 (01:54 +0200)]
"make dist" updates the ChangeLogs automatically.
When creating a distribution "make dist" now uses the
commits-to-changelog script to automatically update all
ChangeLog files since the last commit marked with the
"last-commit-with-compulsory-changelog-entry" tag.
Mark Probst [Thu, 29 Jul 2010 14:10:58 +0000 (16:10 +0200)]
commits-to-changelog script.
This script converts git commit messages to ChangeLog entries. That
will hopefully allow us to forego adding ChangeLog entries in our
commits, which always leads to merge conflicts.
Carlos Alberto Cortez [Fri, 30 Jul 2010 14:26:51 +0000 (16:26 +0200)]
Add tests for GetSubKeyNames and DeleteSubKey rotines with volatile keys.
* RegistryKeyTest.cs: New tests for volatile keys children
handling.
Carlos Alberto Cortez [Fri, 30 Jul 2010 14:13:22 +0000 (16:13 +0200)]
Move subkey info routines into KeyHandler to handle volatile keys.
* UnixRegistryApi.cs: Move GetSubKeyCount and GetSubKeyNames to
KeyHandler, so we can properly track volatile subkeys there
*without* exposing any impl details.
Marek Safar [Fri, 30 Jul 2010 18:28:48 +0000 (19:28 +0100)]
Run extension methods overload resolver always in same overloader context as original methodgroup
Jb Evain [Fri, 30 Jul 2010 15:40:30 +0000 (17:40 +0200)]
Delegate.Remove: throw when passing delegates of incompatible types
Jb Evain [Fri, 30 Jul 2010 15:39:39 +0000 (17:39 +0200)]
Add test for incompatible types in Delegate.Remove
atsushieno [Fri, 30 Jul 2010 14:21:29 +0000 (23:21 +0900)]
Merge branch 'atsushi'
atsushieno [Fri, 30 Jul 2010 14:20:32 +0000 (23:20 +0900)]
Add a bunch of configuration types.
atsushieno [Fri, 30 Jul 2010 14:15:02 +0000 (23:15 +0900)]
add 4.0 standard endpoint configuration types.
Gonzalo Paniagua Javier [Fri, 30 Jul 2010 06:37:24 +0000 (02:37 -0400)]
Added missing files and sorted alphabetically.
Gonzalo Paniagua Javier [Fri, 30 Jul 2010 05:39:43 +0000 (01:39 -0400)]
.NET2 handling of exceptions in ThreadPool threads
* mono/tests/threadpool-exceptions[1-4].cs: new tests
* mono/tests/threadpool.cs: fix typo.
* mono/metadata/threadpool.c: starting in .NET 2.0, unhandled exceptions
in the threadpool can cause a crash in a running program. From now on,
we are compatible.
Gonzalo Paniagua Javier [Wed, 28 Jul 2010 02:32:03 +0000 (22:32 -0400)]
Adapt to changes in exceptions policy for TP.
These exception were being thrown, sometimes, in a threadpool thread and then
ignored.
Gonzalo Paniagua Javier [Tue, 27 Jul 2010 15:10:17 +0000 (11:10 -0400)]
Throw exceptions from threadpool work items.
Until now exceptions thrown from a threadpool work item were ignored.
From now on they will propagate to the domain's UnhandledException event
and then to the root AppDomain. If they are not handled, they will cause
the program to abort.
Mark Probst [Thu, 29 Jul 2010 22:33:06 +0000 (00:33 +0200)]
Fix SGen compiler warnings on AMD64.
2010-07-30 Mark Probst <mark.probst@gmail.com>
* sgen-archdep.h (ARCH_COPY_SIGCTX_REGS): Add casts to fix
compiler warnings on AMD64.