mono.git
8 years agoMerge pull request #2101 from tritao/stack-coop-gc
Rodrigo Kumpera [Mon, 12 Oct 2015 13:25:01 +0000 (09:25 -0400)]
Merge pull request #2101 from tritao/stack-coop-gc

Reworked coop GC stack handling in platforms with restricted access to register contexts.

8 years ago[mcs] Rename error test
Marek Safar [Sat, 10 Oct 2015 18:19:34 +0000 (20:19 +0200)]
[mcs] Rename error test

8 years ago[mcs] Report global attributes without target. Fixes #34724
Marek Safar [Sat, 10 Oct 2015 14:12:35 +0000 (16:12 +0200)]
[mcs] Report global attributes without target. Fixes #34724

8 years ago[mcs] Fixes typo
Marek Safar [Sat, 10 Oct 2015 14:07:26 +0000 (16:07 +0200)]
[mcs] Fixes typo

8 years ago[Apple] Disable environment access on Apple platforms that are not OSX.
Rodrigo Kumpera [Fri, 9 Oct 2015 19:54:48 +0000 (15:54 -0400)]
[Apple] Disable environment access on Apple platforms that are not OSX.

The two known ways to access the environment variables are no longer allowed Apple.

Until something blessed by them is found, we'll provide no way to list all the envvars
of the current process.

8 years agoFix the loaded llvm build.
Zoltan Varga [Fri, 9 Oct 2015 18:23:03 +0000 (14:23 -0400)]
Fix the loaded llvm build.

8 years ago[runtime] Fixed accidental whitespace change.
João Matos [Fri, 9 Oct 2015 16:11:45 +0000 (17:11 +0100)]
[runtime] Fixed accidental whitespace change.

8 years ago[runtime] Build fixes for builds with disabled LLVM.
João Matos [Fri, 9 Oct 2015 16:09:05 +0000 (17:09 +0100)]
[runtime] Build fixes for builds with disabled LLVM.

8 years ago[llvmonly] Fix the build.
Zoltan Varga [Fri, 9 Oct 2015 03:07:20 +0000 (23:07 -0400)]
[llvmonly] Fix the build.

8 years agoMerge remote-tracking branch 'origin/bitcode-premerge'
Zoltan Varga [Fri, 9 Oct 2015 02:57:00 +0000 (22:57 -0400)]
Merge remote-tracking branch 'origin/bitcode-premerge'

8 years agoFix regressions caused by the llvmonly changes so normal aot/full-aot works again.
Zoltan Varga [Fri, 9 Oct 2015 00:55:43 +0000 (20:55 -0400)]
Fix regressions caused by the llvmonly changes so normal aot/full-aot works again.

8 years agoAvoid passing the ex_tag around when throwing exceptions, simply throw a NULL value...
Zoltan Varga [Thu, 8 Oct 2015 20:35:42 +0000 (16:35 -0400)]
Avoid passing the ex_tag around when throwing exceptions, simply throw a NULL value of the same type caught by the landing pads in the generated code.

8 years agoAvoid installing an unhandled exception handler in every method.
Zoltan Varga [Thu, 8 Oct 2015 03:19:56 +0000 (23:19 -0400)]
Avoid installing an unhandled exception handler in every method.

8 years agoDisable SIMD when using llvm only.
Zoltan Varga [Thu, 8 Oct 2015 01:59:56 +0000 (21:59 -0400)]
Disable SIMD when using llvm only.

8 years agoEmulate ckfinite in llvmonly mode. Implement support for tail calls and wrapped excep...
Zoltan Varga [Thu, 8 Oct 2015 00:37:46 +0000 (20:37 -0400)]
Emulate ckfinite in llvmonly mode. Implement support for tail calls and wrapped exceptions.

8 years agoMake parts of the jit c++ clean.
Zoltan Varga [Wed, 7 Oct 2015 20:59:55 +0000 (16:59 -0400)]
Make parts of the jit c++ clean.

8 years agoMore nesting issues with EH clauses. Fix stack traces.
Zoltan Varga [Wed, 7 Oct 2015 00:43:37 +0000 (20:43 -0400)]
More nesting issues with EH clauses. Fix stack traces.

8 years agoFix a crash if an assembly contains no EH.
Zoltan Varga [Tue, 6 Oct 2015 04:36:00 +0000 (00:36 -0400)]
Fix a crash if an assembly contains no EH.

8 years agoImplement mono_raise_exception () for LLVM.
Zoltan Varga [Tue, 6 Oct 2015 03:26:21 +0000 (23:26 -0400)]
Implement mono_raise_exception () for LLVM.

8 years agoAvoid sorting the clauses, they are already sorted in the proper order.
Zoltan Varga [Thu, 1 Oct 2015 01:48:17 +0000 (21:48 -0400)]
Avoid sorting the clauses, they are already sorted in the proper order.

8 years agoFix the matching of exceptions in llvmonly mode. Add a new AOT_JIT_INFO patch type...
Zoltan Varga [Wed, 30 Sep 2015 19:25:06 +0000 (15:25 -0400)]
Fix the matching of exceptions in llvmonly mode. Add a new AOT_JIT_INFO patch type which resolves to the MonoJitInfo of the current method, pass that instead of aot_module+method_index to mono_llvm_match_exception (). Save the il clause offsets into the AOT image so they can be accessed from a MonoJitInfo.

8 years agoAdd a fixme for virtual generic calls.
Zoltan Varga [Tue, 29 Sep 2015 22:10:04 +0000 (18:10 -0400)]
Add a fixme for virtual generic calls.

8 years agoProperly initialize the grouped_clauses array.
Zoltan Varga [Tue, 29 Sep 2015 19:57:07 +0000 (15:57 -0400)]
Properly initialize the grouped_clauses array.

8 years ago[runtime] Make sure that the group index is available to the runtime
Alexander Kyte [Tue, 22 Sep 2015 23:05:03 +0000 (19:05 -0400)]
[runtime] Make sure that the group index is available to the runtime

This commit also partitions the handler groups in a new manner,
in order to allow a fix for nesting and finally clause interaction

8 years agoAvoid creating jump trampolines in llvmonly mode.
Zoltan Varga [Wed, 23 Sep 2015 00:28:45 +0000 (20:28 -0400)]
Avoid creating jump trampolines in llvmonly mode.

8 years agoFix llvmonly support in mono_arch_create_specific_trampoline.
Zoltan Varga [Tue, 22 Sep 2015 23:16:55 +0000 (19:16 -0400)]
Fix llvmonly support in mono_arch_create_specific_trampoline.

8 years agoCheck for missing methods in llvmonly mode in mini.c, not in aot-runtime.c.
Zoltan Varga [Tue, 22 Sep 2015 21:50:16 +0000 (17:50 -0400)]
Check for missing methods in llvmonly mode in mini.c, not in aot-runtime.c.

8 years agoRemove empty phi nodes, this can happen if all their inputs are dead.
Zoltan Varga [Tue, 22 Sep 2015 21:48:03 +0000 (17:48 -0400)]
Remove empty phi nodes, this can happen if all their inputs are dead.

8 years agoAvoid generating OP_ATOMIC_LOAD/OP_ATOMIC_STORE opcodes in llvm mode.
Zoltan Varga [Tue, 22 Sep 2015 21:17:48 +0000 (17:17 -0400)]
Avoid generating OP_ATOMIC_LOAD/OP_ATOMIC_STORE opcodes in llvm mode.

8 years agoFix the LLVM_FAILURE message on OP_ATOMIC_STORE opcodes.
Zoltan Varga [Tue, 22 Sep 2015 21:09:03 +0000 (17:09 -0400)]
Fix the LLVM_FAILURE message on OP_ATOMIC_STORE opcodes.

8 years agoFix the --aot=full support.
Zoltan Varga [Tue, 22 Sep 2015 20:28:01 +0000 (16:28 -0400)]
Fix the --aot=full support.

8 years agoRemove optimization flags from LLVM_CXXFLAGS.
Zoltan Varga [Tue, 22 Sep 2015 20:23:49 +0000 (16:23 -0400)]
Remove optimization flags from LLVM_CXXFLAGS.

8 years agoAvoid an assert when looking up some trampolines.
Zoltan Varga [Tue, 22 Sep 2015 20:23:25 +0000 (16:23 -0400)]
Avoid an assert when looking up some trampolines.

8 years ago[runtime] Don't load exception trampolines if compiling with llvmonly
Alexander Kyte [Tue, 22 Sep 2015 04:26:54 +0000 (00:26 -0400)]
[runtime] Don't load exception trampolines if compiling with llvmonly

8 years ago[runtime-llvmonly] Added support for SSE instructions
Alexander Kyte [Tue, 22 Sep 2015 04:15:54 +0000 (00:15 -0400)]
[runtime-llvmonly] Added support for SSE instructions

8 years ago[runtime][llvmonlyexceptions] Used correct preprocessor symbol for llvmonly try tracking.
Alexander Kyte [Tue, 22 Sep 2015 03:51:27 +0000 (23:51 -0400)]
[runtime][llvmonlyexceptions] Used correct preprocessor symbol for llvmonly try tracking.

8 years ago[runtime][llvmonlyexceptions] Fixed whitespace mentioned in code review
Alexander Kyte [Tue, 22 Sep 2015 03:49:18 +0000 (23:49 -0400)]
[runtime][llvmonlyexceptions] Fixed whitespace mentioned in code review

8 years ago[runtime][llvmonlyexceptions] Fixed visibility of unhandled exception handler
Alexander Kyte [Tue, 22 Sep 2015 03:35:45 +0000 (23:35 -0400)]
[runtime][llvmonlyexceptions] Fixed visibility of unhandled exception handler

8 years agoImplement the throwing of corlib exceptions.
Zoltan Varga [Tue, 22 Sep 2015 02:28:40 +0000 (22:28 -0400)]
Implement the throwing of corlib exceptions.

8 years agoImplement Assembly.GetExecutingAssembly () as an intrinsics so it works even if stack...
Zoltan Varga [Mon, 21 Sep 2015 23:44:58 +0000 (19:44 -0400)]
Implement Assembly.GetExecutingAssembly () as an intrinsics so it works even if stack walks are not available.

8 years agoAvoid emitting calls to the llvm.mono.load/store intrinsics in llvmonly mode.
Zoltan Varga [Mon, 21 Sep 2015 23:11:18 +0000 (19:11 -0400)]
Avoid emitting calls to the llvm.mono.load/store intrinsics in llvmonly mode.

8 years agoAvoid disabling llvm for methods with an lmf.
Zoltan Varga [Mon, 21 Sep 2015 20:38:44 +0000 (16:38 -0400)]
Avoid disabling llvm for methods with an lmf.

8 years agoAvoid falling back to the jit in llvmonly mode.
Zoltan Varga [Mon, 21 Sep 2015 20:28:06 +0000 (16:28 -0400)]
Avoid falling back to the jit in llvmonly mode.

8 years ago[llvm] Emit an unreachable instruction after llvm throws.
Zoltan Varga [Mon, 21 Sep 2015 20:27:41 +0000 (16:27 -0400)]
[llvm] Emit an unreachable instruction after llvm throws.

8 years ago[runtime] Merge origin/kyte/llvmonly-exceptions-pr.
Zoltan Varga [Mon, 21 Sep 2015 19:45:40 +0000 (15:45 -0400)]
[runtime] Merge origin/kyte/llvmonly-exceptions-pr.

8 years agoRemove the REALLY_LLVONLY flag, enable it by default. Use stock clang for compiling...
Zoltan Varga [Sun, 20 Sep 2015 04:16:45 +0000 (00:16 -0400)]
Remove the REALLY_LLVONLY flag, enable it by default. Use stock clang for compiling and linking llvm code.

8 years agoFix a merge problem.
Zoltan Varga [Sat, 12 Sep 2015 00:35:54 +0000 (20:35 -0400)]
Fix a merge problem.

8 years agoFix the REALLY_LLVMONY mode.
Zoltan Varga [Tue, 18 Aug 2015 21:30:35 +0000 (17:30 -0400)]
Fix the REALLY_LLVMONY mode.

8 years agoFix merge and other problems.
Zoltan Varga [Thu, 6 Aug 2015 00:19:47 +0000 (20:19 -0400)]
Fix merge and other problems.

8 years agoDisable REALLY_LLVM_ONLY by default.
Zoltan Varga [Wed, 5 Aug 2015 22:30:13 +0000 (18:30 -0400)]
Disable REALLY_LLVM_ONLY by default.

8 years agoVarious hacks to make hello world run with only llvm code. Define REALLY_LLVMONLY_MOD...
Zoltan Varga [Mon, 3 Aug 2015 18:51:52 +0000 (14:51 -0400)]
Various hacks to make hello world run with only llvm code. Define REALLY_LLVMONLY_MODE at the top of mini.h to enable it.

8 years agoFix support for generic virtual calls.
Zoltan Varga [Fri, 31 Jul 2015 02:18:11 +0000 (22:18 -0400)]
Fix support for generic virtual calls.

8 years agoParallelize the generation of aot images for make llvmonlycheck.
Zoltan Varga [Fri, 31 Jul 2015 02:17:57 +0000 (22:17 -0400)]
Parallelize the generation of aot images for make llvmonlycheck.

8 years agoPass the rgctx argument last, instead of first, because determining its ordering...
Zoltan Varga [Fri, 31 Jul 2015 00:07:11 +0000 (20:07 -0400)]
Pass the rgctx argument last, instead of first, because determining its ordering wrt to the 'this' and 'vret' arguments is very complicated.

8 years agoFix interface calls on a null receiver and virtual generic calls.
Zoltan Varga [Thu, 30 Jul 2015 21:26:03 +0000 (17:26 -0400)]
Fix interface calls on a null receiver and virtual generic calls.

8 years agoEnable explicit-null-checks in llvm-only mode by default.
Zoltan Varga [Thu, 30 Jul 2015 21:25:16 +0000 (17:25 -0400)]
Enable explicit-null-checks in llvm-only mode by default.

8 years agoAvoid an llvm assertion.
Zoltan Varga [Wed, 29 Jul 2015 21:36:27 +0000 (17:36 -0400)]
Avoid an llvm assertion.

8 years agoFix the build.
Zoltan Varga [Wed, 29 Jul 2015 21:36:01 +0000 (17:36 -0400)]
Fix the build.

8 years agoFix the build.
Zoltan Varga [Wed, 29 Jul 2015 21:18:45 +0000 (17:18 -0400)]
Fix the build.

8 years agoEnable support for more ldvirtftn+delegate creation cases.
Zoltan Varga [Sat, 18 Jul 2015 01:04:17 +0000 (21:04 -0400)]
Enable support for more ldvirtftn+delegate creation cases.

8 years agoFix the case when mono_method_needs_static_rgctx_invoke () returns TRUE, but we're...
Zoltan Varga [Fri, 17 Jul 2015 23:54:58 +0000 (19:54 -0400)]
Fix the case when mono_method_needs_static_rgctx_invoke () returns TRUE, but we're using an instance which doesn't have an rgctx argument.

8 years agoFix support for ldvirtftn+delegate creation.
Zoltan Varga [Fri, 17 Jul 2015 22:35:23 +0000 (18:35 -0400)]
Fix support for ldvirtftn+delegate creation.

8 years agoAdd support for delegates which call methods which require an rgctx argument.
Zoltan Varga [Fri, 17 Jul 2015 02:15:44 +0000 (22:15 -0400)]
Add support for delegates which call methods which require an rgctx argument.

8 years agoAvoid using the mono calling conv in llvm-only mode. Avoid emitting a dummy personali...
Zoltan Varga [Thu, 16 Jul 2015 21:47:53 +0000 (17:47 -0400)]
Avoid using the mono calling conv in llvm-only mode. Avoid emitting a dummy personality function.

8 years agoAd support for iface calls which might go to methods which need an rgctx.
Zoltan Varga [Thu, 16 Jul 2015 19:44:16 +0000 (15:44 -0400)]
Ad support for iface calls which might go to methods which need an rgctx.

8 years agoA bunch of hacks to compile llvm code using clang instead of opt/llc.
Zoltan Varga [Fri, 10 Jul 2015 21:31:43 +0000 (17:31 -0400)]
A bunch of hacks to compile llvm code using clang instead of opt/llc.

8 years agoPass the rgctx argument to gshared methods explicitly instead of in a non-abi registe...
Zoltan Varga [Thu, 9 Jul 2015 22:15:21 +0000 (18:15 -0400)]
Pass the rgctx argument to gshared methods explicitly instead of in a non-abi register. Delegates don't yet work.

8 years agoAdd a llvm_only flag to MonoCompile and use that instead of cfg->flags which means...
Zoltan Varga [Thu, 9 Jul 2015 19:40:28 +0000 (15:40 -0400)]
Add a llvm_only flag to MonoCompile and use that instead of cfg->flags which means something else.

8 years agoAvoid creating jump trampolines and delegate trampolines in llvm-only mode.
Zoltan Varga [Thu, 9 Jul 2015 01:38:44 +0000 (21:38 -0400)]
Avoid creating jump trampolines and delegate trampolines in llvm-only mode.

8 years agoDisable stack overflow trampolines in llvm-only mode.
Zoltan Varga [Thu, 9 Jul 2015 01:38:08 +0000 (21:38 -0400)]
Disable stack overflow trampolines in llvm-only mode.

8 years agoAvoid creating plt entries for empty plt sections.
Zoltan Varga [Wed, 8 Jul 2015 23:22:38 +0000 (19:22 -0400)]
Avoid creating plt entries for empty plt sections.

8 years agoDisable the dyn call runtime invoke code in llvm-only mode.
Zoltan Varga [Wed, 8 Jul 2015 17:21:42 +0000 (13:21 -0400)]
Disable the dyn call runtime invoke code in llvm-only mode.

8 years agoDisable the usage of delegate trampolines in llvm-only mode.
Zoltan Varga [Wed, 8 Jul 2015 17:08:33 +0000 (13:08 -0400)]
Disable the usage of delegate trampolines in llvm-only mode.

8 years agoProperly inflate methods called from llvm code without trampolines.
Zoltan Varga [Wed, 8 Jul 2015 17:08:06 +0000 (13:08 -0400)]
Properly inflate methods called from llvm code without trampolines.

8 years agoAvoid emitting symbols for jitted code if all methods were compiled by llvm.
Zoltan Varga [Wed, 8 Jul 2015 02:56:09 +0000 (22:56 -0400)]
Avoid emitting symbols for jitted code if all methods were compiled by llvm.

8 years agoDon't put references to LLVM compiled methods into the method_addresses table, its...
Zoltan Varga [Wed, 8 Jul 2015 01:52:45 +0000 (21:52 -0400)]
Don't put references to LLVM compiled methods into the method_addresses table, its not needed.

8 years agoImplement virtual/interface calls by calling a jit icall to resolve the method to...
Zoltan Varga [Wed, 8 Jul 2015 01:24:32 +0000 (21:24 -0400)]
Implement virtual/interface calls by calling a jit icall to resolve the method to be called.

8 years agoImplement unbox trampolines for llvm compiled methods in llvm as functions which...
Zoltan Varga [Wed, 8 Jul 2015 01:00:02 +0000 (21:00 -0400)]
Implement unbox trampolines for llvm compiled methods in llvm as functions which do a tail call to the real method.

8 years agoMove the lookup of llvm compiled methods into a generated llvm function.
Zoltan Varga [Wed, 8 Jul 2015 00:55:33 +0000 (20:55 -0400)]
Move the lookup of llvm compiled methods into a generated llvm function.

8 years agoImplement rgctx fetches by calling a JIT icall.
Zoltan Varga [Wed, 8 Jul 2015 00:35:59 +0000 (20:35 -0400)]
Implement rgctx fetches by calling a JIT icall.

8 years agoImplement support for self-initialization in methods, i.e. methods which initialize...
Zoltan Varga [Wed, 8 Jul 2015 00:12:50 +0000 (20:12 -0400)]
Implement support for self-initialization in methods, i.e. methods which initialize themselves instead of depending on plt entries to do it.

8 years agoAdd a GOT entry pointing to the AOT module.
Zoltan Varga [Tue, 7 Jul 2015 23:07:40 +0000 (19:07 -0400)]
Add a GOT entry pointing to the AOT module.

8 years agoTemporarily disable running opt.
Zoltan Varga [Tue, 7 Jul 2015 22:51:53 +0000 (18:51 -0400)]
Temporarily disable running opt.

8 years agoAdd an 'llvmonlycheck' makefile target to run the jit tests in llvm-only mode.
Zoltan Varga [Wed, 17 Jun 2015 00:09:25 +0000 (20:09 -0400)]
Add an 'llvmonlycheck' makefile target to run the jit tests in llvm-only mode.

8 years agoAdd 'llvmonly' aot option and a corresponding --llvmonly runtime option, these are...
Zoltan Varga [Tue, 7 Jul 2015 22:37:39 +0000 (18:37 -0400)]
Add 'llvmonly' aot option and a corresponding --llvmonly runtime option, these are extensions of full-aot.

8 years ago[process] Fix race between Exited and OutputDataReceived/ErrorDataReceived
Ludovic Henry [Thu, 8 Oct 2015 09:17:50 +0000 (10:17 +0100)]
[process] Fix race between Exited and OutputDataReceived/ErrorDataReceived

Because the previous implementation of the Exited would not wait on
async_output and async_error to complete before calling the Exited event
that would lead to race condition (observable in the test-runner).

The previous implementation was using the
ThreadPool.RegisterWaitForSingleObject method which, in the case of
Mono, would simply enqueue a work item that would wait on this handle.
So instead of monopolizing a ThreadPool thread for that, we create a
dedicated one that simply call WaitForExit.

8 years agoMerge pull request #2116 from cmp-/fix-sdb-trampoline-windows-x64
Zoltan Varga [Thu, 8 Oct 2015 20:40:53 +0000 (16:40 -0400)]
Merge pull request #2116 from cmp-/fix-sdb-trampoline-windows-x64

Fix sdb trampoline on Windows x64

8 years agoMerge pull request #2114 from cmp-/fix-sgen-gchandle-truncation-windows-x64
Mark Probst [Thu, 8 Oct 2015 19:53:16 +0000 (12:53 -0700)]
Merge pull request #2114 from cmp-/fix-sgen-gchandle-truncation-windows-x64

Fix sgen gchandle truncating pointers on Windows x64

8 years agoMerge pull request #1949 from lewurm/fixtype
Alexis Christoforides [Thu, 8 Oct 2015 19:27:12 +0000 (15:27 -0400)]
Merge pull request #1949 from lewurm/fixtype

[mono-config] use right type for result of strlen

8 years agoMerge pull request #2117 from Numpsy/ObjectSecurity
Marek Safar [Thu, 8 Oct 2015 18:06:49 +0000 (20:06 +0200)]
Merge pull request #2117 from Numpsy/ObjectSecurity

Add stub implementation of System.DirectoryServices.DirectoryEntry.Ob…

8 years agoFix sdb trampoline on Windows x64
cmp [Thu, 8 Oct 2015 12:21:13 +0000 (13:21 +0100)]
Fix sdb trampoline on Windows x64

On Windows x64 (and possibly other x64 systems) the offset between code
and the called function can be larger than 32 bits, but amd64_call_code
is just a wrapper around x86_call_code.

8 years agoAdd stub implementation of System.DirectoryServices.DirectoryEntry.ObjectSecurity...
Richard Webb [Thu, 8 Oct 2015 16:34:47 +0000 (17:34 +0100)]
Add stub implementation of System.DirectoryServices.DirectoryEntry.ObjectSecurity property

Add stub implementation of
System.DirectoryServices.DirectoryEntry.ObjectSecurity property (throws
on access)

8 years ago[runtime] Reworked coop GC stack handling in platforms with restricted access to...
João Matos [Thu, 1 Oct 2015 16:38:38 +0000 (17:38 +0100)]
[runtime] Reworked coop GC stack handling in platforms with restricted access to register contexts.

8 years ago[mcs] Resolve target before resolving collection/dictionary initializers. Fixes ...
Marek Safar [Thu, 8 Oct 2015 13:03:04 +0000 (15:03 +0200)]
[mcs] Resolve target before resolving collection/dictionary initializers. Fixes #34604

8 years ago[threadpool-ms] Refactor thread parking
Ludovic Henry [Wed, 7 Oct 2015 19:49:12 +0000 (20:49 +0100)]
[threadpool-ms] Refactor thread parking

Use a global condition variable as opposed to one per parked thread.
This remove any memory passed to the interrupt token, as this could be
an issue.

The problem comes from the fact that a destroy on a cond variable could
make a wait on this cond variable fail with EINVAL, and this would
trigger an assertion in the mono-mutex code.

8 years ago[linker] Both the TypeSpecification (T) along with the GenericArguments (G) must...
Sebastien Pouliot [Thu, 8 Oct 2015 00:54:15 +0000 (20:54 -0400)]
[linker] Both the TypeSpecification (T) along with the GenericArguments (G) must be preserved from custom attributes, e.g. T<G>

8 years agoFix sgen gchandle truncating pointers on Windows x64
cmp [Wed, 7 Oct 2015 19:41:31 +0000 (20:41 +0100)]
Fix sgen gchandle truncating pointers on Windows x64

On Windows x64 sizeof(unsigned long) == 4, so & ~3UL ends up truncating
the upper 32 bits of the pointer.

8 years ago[test] The process output/error is finished only when null is passed
Ludovic Henry [Wed, 7 Oct 2015 18:38:37 +0000 (19:38 +0100)]
[test] The process output/error is finished only when null is passed

8 years ago[corlib] Rework some test to avoid unhandled and swallowed exception
Ludovic Henry [Wed, 7 Oct 2015 11:33:05 +0000 (12:33 +0100)]
[corlib] Rework some test to avoid unhandled and swallowed exception

These tests could fail randomly (timing issues) and this would lead to
unhandled exceptions. By using Task, instead of the ThreadPool directly,
we avoid these cases. We also ensure to wait for these tasks so we get
the test failing at the right moment and place.

8 years ago[threadpool-ms] Remove recursivity of active_threads_lock
Ludovic Henry [Tue, 6 Oct 2015 14:27:57 +0000 (15:27 +0100)]
[threadpool-ms] Remove recursivity of active_threads_lock

There was a recursive lock because of the interaction between
worker_kill and work_wait_interrupt, but as a matter of fact it is not
needed. This is because we cannot have an interrupt token with
worker_wait_interrupt, and the current thread in active_threads at
the same time.