mono.git
7 years agoMerge pull request #3112 from akoeplinger/test-runner-nofile
Alexander Köplinger [Tue, 7 Jun 2016 22:18:39 +0000 (00:18 +0200)]
Merge pull request #3112 from akoeplinger/test-runner-nofile

[test-runner] Write stdout/stderr into StringBuilder instead of an intermediate file

7 years agoMore updates
Miguel de Icaza [Tue, 7 Jun 2016 21:53:36 +0000 (17:53 -0400)]
More updates

7 years agoFix make dist
Alexander Köplinger [Tue, 7 Jun 2016 20:43:16 +0000 (22:43 +0200)]
Fix make dist

It got broken when the versions.py file was moved around in d110f526706b7c4880ca916e2dfbab93138871cd.
Also add the new locations to EXTRA_DIST so they get distributed too.

7 years agoMerge pull request #3119 from kumpera/fix-getname-and-shadowcopy
Rodrigo Kumpera [Tue, 7 Jun 2016 19:51:27 +0000 (12:51 -0700)]
Merge pull request #3119 from kumpera/fix-getname-and-shadowcopy

[corlib] Take shadow copying when computing CodeBase in Assembly::GetName.

7 years agoMerge pull request #3082 from alexanderkyte/no_alloc_klass_error
Aleksey Kliger (λgeek) [Tue, 7 Jun 2016 19:23:17 +0000 (15:23 -0400)]
Merge pull request #3082 from alexanderkyte/no_alloc_klass_error

[runtime] Set klass-error-based MonoError state without allocating

7 years agoMerge pull request #3110 from BrzVlad/fix-complex-conc-scan
Rodrigo Kumpera [Tue, 7 Jun 2016 18:38:27 +0000 (11:38 -0700)]
Merge pull request #3110 from BrzVlad/fix-complex-conc-scan

[sgen] Fix concurrent scan of complex objects

7 years agoMerge pull request #3124 from mono/revert-2734-master
Alexander Köplinger [Tue, 7 Jun 2016 16:45:29 +0000 (18:45 +0200)]
Merge pull request #3124 from mono/revert-2734-master

Revert "Enhance log tracing"

7 years agoRevert "Enhance log tracing"
Alexander Köplinger [Tue, 7 Jun 2016 16:45:09 +0000 (18:45 +0200)]
Revert "Enhance log tracing"

7 years ago[amd64] Fix an off-by-one in the dyn call code.
Zoltan Varga [Tue, 7 Jun 2016 16:16:59 +0000 (12:16 -0400)]
[amd64] Fix an off-by-one in the dyn call code.

7 years agoLlvm submodule (#3108)
Zoltan Varga [Tue, 7 Jun 2016 14:46:33 +0000 (10:46 -0400)]
Llvm submodule (#3108)

* Move the versions.mk infrastructure to scripts/submodules so it can be used elsewhere too.

* Add a conditional submodule for llvm.

* Fix commit messages emitted by the bump- targets.

* Use a anonymous git url for llvm.

7 years ago[runtime][mobile_static] Add flag for rgctx_fetch_trampolines and use it (#3088)
Alexander Kyte [Tue, 7 Jun 2016 11:44:40 +0000 (07:44 -0400)]
[runtime][mobile_static] Add flag for rgctx_fetch_trampolines and use it (#3088)

* [runtime] Add commandline option for rgctx fetch trampolines.

* [mobile_static] Increase the number of trampolines

7 years ago[runtime] Call mono_class_init () for classes in mono_class_is_subclass_of (). Fixes...
Zoltan Varga [Tue, 7 Jun 2016 08:08:41 +0000 (04:08 -0400)]
[runtime] Call mono_class_init () for classes in mono_class_is_subclass_of (). Fixes #41466.

7 years ago[corlib] Take shadow copying when computing CodeBase in Assembly::GetName.
Rodrigo Kumpera [Tue, 7 Jun 2016 06:36:32 +0000 (23:36 -0700)]
[corlib] Take shadow copying when computing CodeBase in Assembly::GetName.

7 years agoMerge pull request #3116 from alexrp/master
Alex Rønne Petersen [Tue, 7 Jun 2016 01:35:36 +0000 (03:35 +0200)]
Merge pull request #3116 from alexrp/master

Some improvements to the profiler makefile

7 years ago[sgen] Make gcpauseviz histograms more meaningful.
Mark Probst [Mon, 6 Jun 2016 23:36:14 +0000 (16:36 -0700)]
[sgen] Make gcpauseviz histograms more meaningful.

There were too many bins, because the x axis was not logarithmic, and
there were no meaningful labels.

7 years ago[sgen] Fix gcpauseviz.
Mark Probst [Mon, 6 Jun 2016 23:17:58 +0000 (16:17 -0700)]
[sgen] Fix gcpauseviz.

It didn't detect starts of concurrent collections anymore because of how
the binary protocol outputs it.

7 years ago[profiler] Don't install the coverage suppression file if the profiler is disabled.
Alex Rønne Petersen [Mon, 6 Jun 2016 22:49:04 +0000 (00:49 +0200)]
[profiler] Don't install the coverage suppression file if the profiler is disabled.

7 years ago[profiler] Don't run the test suite when the profiler is disabled.
Alex Rønne Petersen [Mon, 6 Jun 2016 22:44:58 +0000 (00:44 +0200)]
[profiler] Don't run the test suite when the profiler is disabled.

Also clean up the makefile logic surrounding tests a bit.

7 years agoMerge pull request #3113 from akoeplinger/boehm-fixes
Alexander Köplinger [Mon, 6 Jun 2016 21:44:35 +0000 (23:44 +0200)]
Merge pull request #3113 from akoeplinger/boehm-fixes

[ci] Turn off Boehm on Windows x64 gcc build

7 years ago[offsets-tool] Generate offsets for SgenClientThreadInfo.
Zoltan Varga [Mon, 6 Jun 2016 20:48:02 +0000 (16:48 -0400)]
[offsets-tool] Generate offsets for SgenClientThreadInfo.

7 years ago[sgen] Fix define argument
Vlad Brezae [Mon, 6 Jun 2016 12:37:03 +0000 (15:37 +0300)]
[sgen] Fix define argument

The code worked by accident because the function in which the define was expanded had an argument with the name desc.

7 years ago[sgen] Fix race between complex descriptor allocation and complex object scanning
Vlad Brezae [Mon, 6 Jun 2016 12:19:12 +0000 (15:19 +0300)]
[sgen] Fix race between complex descriptor allocation and complex object scanning

When we allocate the complex descriptor for a new type we might have the concurrent marker scan objects. While the concurrent marker scans the bitmap for a complex object, which resides in the complex_descriptor array, another thread might allocate a new complex descriptor, thus reallocate the complex_descriptor array, which would lead to corruption of the bitmap used by the concurrent marker.

We reuse the SgenArrayList which never reallocates, using instead a list of exponentially increasing arrays.

7 years agoOnly define Boehm variables in configure.ac when it is enabled
Alexander Köplinger [Mon, 6 Jun 2016 19:18:45 +0000 (21:18 +0200)]
Only define Boehm variables in configure.ac when it is enabled

Fix the message that is printed in the configure summary at the end to contain only "sgen" when Boehm is disabled.

7 years ago[ci] Turn off Boehm on Windows x64 gcc build
Alexander Köplinger [Mon, 6 Jun 2016 19:07:07 +0000 (21:07 +0200)]
[ci] Turn off Boehm on Windows x64 gcc build

It was never supported there, turn it off to fix the build on Jenkins.

7 years ago[amd64] Fix a loop variable reuse in a58c2ef804779be70832c6b0e092fbca1edaebf1.
Zoltan Varga [Mon, 6 Jun 2016 19:04:06 +0000 (15:04 -0400)]
[amd64] Fix a loop variable reuse in a58c2ef804779be70832c6b0e092fbca1edaebf1.

7 years agoMerge pull request #3100 from lambdageek/dev/monoerror-exns
Aleksey Kliger (λgeek) [Mon, 6 Jun 2016 18:39:05 +0000 (14:39 -0400)]
Merge pull request #3100 from lambdageek/dev/monoerror-exns

[runtime] Pass MonoError to exception creation utilities

7 years ago[sgen] Make sure we will scan the bits correctly for complex objects
Vlad Brezae [Mon, 6 Jun 2016 11:19:40 +0000 (14:19 +0300)]
[sgen] Make sure we will scan the bits correctly for complex objects

7 years ago[sgen] Add missing memory type description
Vlad Brezae [Mon, 6 Jun 2016 00:54:25 +0000 (03:54 +0300)]
[sgen] Add missing memory type description

7 years agoMerge pull request #3104 from lambdageek/dev/monoerror-resolve_vcall
Aleksey Kliger (λgeek) [Mon, 6 Jun 2016 18:01:44 +0000 (14:01 -0400)]
Merge pull request #3104 from lambdageek/dev/monoerror-resolve_vcall

[llvm] Raise MonoError using mono_llvm_throw_exception

7 years ago[jit] Fix the emission of Selector.GetHandle () implementation to avoid the creation...
Zoltan Varga [Mon, 6 Jun 2016 17:21:54 +0000 (13:21 -0400)]
[jit] Fix the emission of Selector.GetHandle () implementation to avoid the creation of string objects, which could cause GCs don't work in a cross compiler. Fixes #41431.

7 years ago[test-runner] Write stdout/stderr into StringBuilder instead of an intermediate file
Alexander Köplinger [Mon, 6 Jun 2016 16:09:14 +0000 (18:09 +0200)]
[test-runner] Write stdout/stderr into StringBuilder instead of an intermediate file

We don't need to write out and then read back in the contents. Additionally, this will prevent
an unhandled exception we've seen on Jenkins due:

```
Unhandled Exception:
System.IO.IOException: Sharing violation on path /media/ssd/jenkins/workspace/test-mono-mainline-linux/label/debian-8-arm64/mono/tests/finalizer-wait.exe.stdout
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) <0x7f7eb4a740 + 0x00650> in <filename unknown>:0
  at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.IO.FileOptions options, System.String msgPath, System.Boolean bFromProxy, System.Boolean useLongPath, System.Boolean checkHost) <0x7f7eb4a620 + 0x00053> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare,int,System.IO.FileOptions,string,bool,bool,bool)
  at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize, System.Boolean checkHost) <0x7f7e9b2170 + 0x000f3> in <filename unknown>:0
  at System.IO.StreamReader..ctor (System.String path, System.Text.Encoding encoding, System.Boolean detectEncodingFromByteOrderMarks, System.Int32 bufferSize) <0x7f7e9b2120 + 0x00037> in <filename unknown>:0
  at System.IO.StreamReader..ctor (System.String path, System.Boolean detectEncodingFromByteOrderMarks) <0x7f7e9b2040 + 0x0003b> in <filename unknown>:0
  at System.IO.StreamReader..ctor (System.String path) <0x7f7e9b2010 + 0x0001f> in <filename unknown>:0
  at (wrapper remoting-invoke-with-check) System.IO.StreamReader:.ctor (string)
  at System.IO.File.ReadAllText (System.String path) <0x7f7eb48c70 + 0x0003b> in <filename unknown>:0
  at TestRunner.DumpPseudoTrace (System.String filename) <0x7f7cfc6450 + 0x00023> in <filename unknown>:0
  at TestRunner.Main (System.String[] args) <0x7f8128b770 + 0x01ed3> in <filename unknown>:0
```

7 years ago[test-runner] Print timeout value when test times out
Alexander Köplinger [Mon, 6 Jun 2016 16:06:06 +0000 (18:06 +0200)]
[test-runner] Print timeout value when test times out

This is useful when multiple timeouts are in place e.g. like in the runtime testsuite.

7 years agoMerge pull request #3111 from directhex/sed-before-sign
Marek Safar [Mon, 6 Jun 2016 16:01:19 +0000 (18:01 +0200)]
Merge pull request #3111 from directhex/sed-before-sign

Move call to sn.exe to *after* cil-stringreplacer.exe

7 years agoMerge pull request #2734 from nealef/master
Aleksey Kliger (λgeek) [Mon, 6 Jun 2016 16:00:47 +0000 (12:00 -0400)]
Merge pull request #2734 from nealef/master

Enhance log tracing

7 years agoMove call to sn.exe to *after* cil-stringreplacer.exe
Jo Shields [Mon, 6 Jun 2016 15:57:24 +0000 (16:57 +0100)]
Move call to sn.exe to *after* cil-stringreplacer.exe

This makes sure mscorlib.dll still has a valid signature (fixes nightly builds on Linux)

7 years agoMerge pull request #3070 from kumpera/runtime-handles
Rodrigo Kumpera [Mon, 6 Jun 2016 15:42:34 +0000 (08:42 -0700)]
Merge pull request #3070 from kumpera/runtime-handles

Local handles initial drop

7 years agoMerge pull request #3083 from alexrp/gc-pointless-memory-barrier
Rodrigo Kumpera [Mon, 6 Jun 2016 15:37:39 +0000 (08:37 -0700)]
Merge pull request #3083 from alexrp/gc-pointless-memory-barrier

[sgen] Remove a pointless memory barrier from the middle of the managed allocator.

7 years ago[System] Override SupportsHeaders in all WebResponse overrides
Marek Safar [Mon, 6 Jun 2016 14:58:29 +0000 (16:58 +0200)]
[System] Override SupportsHeaders in all WebResponse overrides

7 years ago[amd64] Enable dyncall tests on amd64.
Zoltan Varga [Mon, 6 Jun 2016 13:52:28 +0000 (09:52 -0400)]
[amd64] Enable dyncall tests on amd64.

7 years ago[amd64] Support stack args in dyn calls.
Zoltan Varga [Mon, 6 Jun 2016 13:50:31 +0000 (09:50 -0400)]
[amd64] Support stack args in dyn calls.

7 years ago[amd64] Handle ArgValuetypeAddrInIReg in dyncalls.
Zoltan Varga [Mon, 6 Jun 2016 11:39:36 +0000 (07:39 -0400)]
[amd64] Handle ArgValuetypeAddrInIReg in dyncalls.

7 years ago[mini] Set pending MonoError in mono_vcall_trampoline (#3107)
Aleksey Kliger (λgeek) [Sat, 4 Jun 2016 09:02:48 +0000 (05:02 -0400)]
[mini] Set pending MonoError in mono_vcall_trampoline (#3107)

7 years agoRemove unused header.
Rodrigo Kumpera [Tue, 31 May 2016 20:58:26 +0000 (13:58 -0700)]
Remove unused header.

7 years ago[coop] New local handles implementation.
Rodrigo Kumpera [Sat, 28 May 2016 01:03:56 +0000 (18:03 -0700)]
[coop] New local handles implementation.

This is the initial code drop of a new handles implementation.

It differs from the previous one is a few ways:

- It keeps a separate stack of handles which is shared by all "arenas".
This eliminates malloc in the majority of the cases without the need for any tuning

- Custom gc scanning code for the handles stack.
The original implementation registered the chunks as a GC roots. Which is a terribly
slow operation as it takes the GC lock.

Instead of allocating a new handle arena for each icall, we compute a stack mark,
which is the position in the handles stack at icall entry. On exit, we simply restore that
position, which is just a couple of stores.

Since the stack is implemented using arraylets, addressed are stable in the face of
expansion.

Only the typed handles function/macros are in as having both typed and untyped handles
adds extra complexity for no clear value.

The macros only handle what was needed to port a sizeable chunk of locales.c.

This commit just sets the stage for the feature, there's quite some work left
before we can start using it, as it can be seen in the big TODO in handle.c

7 years ago[sgen] Fix scan thread data job to set ops so it can do precise scanning.
Rodrigo Kumpera [Sat, 28 May 2016 01:03:38 +0000 (18:03 -0700)]
[sgen] Fix scan thread data job to set ops so it can do precise scanning.

7 years ago[mono-error] Fix error_init macro to work with MonoError pointers.
Rodrigo Kumpera [Sat, 28 May 2016 01:01:17 +0000 (18:01 -0700)]
[mono-error] Fix error_init macro to work with MonoError pointers.

7 years ago[llvm] Propagate MonoError out of mini_resolve_imt_method
Aleksey Kliger [Fri, 3 Jun 2016 18:35:21 +0000 (14:35 -0400)]
[llvm] Propagate MonoError out of mini_resolve_imt_method

To the enclosing llvm jit icalls

7 years agoUse %Y-%m-%d %H:%M:%S for Windows log message header
Neale Ferguson [Fri, 3 Jun 2016 17:33:23 +0000 (13:33 -0400)]
Use %Y-%m-%d %H:%M:%S for Windows log message header

7 years agoMerge pull request #3040 from xmcclure/debugger-step-recursive
Andi McClure [Fri, 3 Jun 2016 17:08:23 +0000 (13:08 -0400)]
Merge pull request #3040 from xmcclure/debugger-step-recursive

Debugger stepping does not understand recursion (bug 38025)

7 years ago[genproj] Update project files
Miguel de Icaza [Fri, 3 Jun 2016 16:26:03 +0000 (12:26 -0400)]
[genproj] Update project files

7 years ago[jit] Pass MonoError to resolve_vcall
Aleksey Kliger [Thu, 2 Jun 2016 21:40:07 +0000 (17:40 -0400)]
[jit] Pass MonoError to resolve_vcall

7 years ago[System] Flush few colliding changes
Marek Safar [Fri, 3 Jun 2016 16:04:33 +0000 (18:04 +0200)]
[System] Flush few colliding changes

7 years ago[runtime] Use new mono_error_set_for_class_failure where applicable.
Alexander Kyte [Tue, 31 May 2016 21:13:21 +0000 (17:13 -0400)]
[runtime] Use new mono_error_set_for_class_failure where applicable.

We were seeing an issue where attempts to create the MonoClass for an
exception in a no-exec context was causing failure. No-exec will forbid
the constructor call. Our solution was to realize that there was no
need to allocate an exception, as MonoError could already encode the
errors.

7 years ago[runtime] Make helper to set MonoError directly from MonoClass error
Alexander Kyte [Tue, 31 May 2016 21:04:33 +0000 (17:04 -0400)]
[runtime] Make helper to set MonoError directly from MonoClass error

7 years agoCorrect typo
Neale Ferguson [Fri, 3 Jun 2016 14:56:34 +0000 (10:56 -0400)]
Correct typo

7 years agoCorrect for widechar on Windows
Neale Ferguson [Fri, 3 Jun 2016 14:34:35 +0000 (10:34 -0400)]
Correct for widechar on Windows

7 years ago[mcs] Fixes NRE during error reporting
Marek Safar [Fri, 3 Jun 2016 14:21:13 +0000 (16:21 +0200)]
[mcs] Fixes NRE during error reporting

7 years ago[System] Remove duplicate file entry
Marek Safar [Fri, 3 Jun 2016 14:20:52 +0000 (16:20 +0200)]
[System] Remove duplicate file entry

7 years agoSeveral corrections thanks to Johan Lorensson
Neale Ferguson [Fri, 3 Jun 2016 13:57:11 +0000 (09:57 -0400)]
Several corrections thanks to Johan Lorensson

7 years ago[WinForms] Fix build broken by 5d54803af7af4c78cfeac020e0e2046b1282af91
Alexander Köplinger [Fri, 3 Jun 2016 13:13:10 +0000 (15:13 +0200)]
[WinForms] Fix build broken by 5d54803af7af4c78cfeac020e0e2046b1282af91

7 years agoCorrecty initialize image ref_count. Ensures image is correctly unloaded during appdo...
Jonathan Chambers [Fri, 3 Jun 2016 13:13:41 +0000 (09:13 -0400)]
Correcty initialize image ref_count. Ensures image is correctly unloaded during appdomain unload. (#3084)

7 years agoMerge pull request #3102 from alexrp/master
Marek Safar [Fri, 3 Jun 2016 09:04:40 +0000 (11:04 +0200)]
Merge pull request #3102 from alexrp/master

[System] Add back IWebProxyScript to the mobile profile.

7 years ago[System] Add back IWebProxyScript to the mobile profile.
Alex Rønne Petersen [Fri, 3 Jun 2016 08:09:00 +0000 (10:09 +0200)]
[System] Add back IWebProxyScript to the mobile profile.

7 years agoSWF - Fixed exiting modal runloop. (#2980)
Jiří Volejník [Fri, 3 Jun 2016 07:09:24 +0000 (09:09 +0200)]
SWF - Fixed exiting modal runloop. (#2980)

Fixes a bug in exiting modal runloop that caused not really exiting it
(not calling XplatUI.SetModal(..., false).

It caused issues with menu, for example, if you first ran a modal
dialog (a wizard), and then you started the application.

7 years agoMerge pull request #3099 from marek-safar/rs-Semaphore
Marek Safar [Fri, 3 Jun 2016 06:23:12 +0000 (08:23 +0200)]
Merge pull request #3099 from marek-safar/rs-Semaphore

[System] Semaphore from referencesource

7 years ago[sgen] Use raw mutex for pin_queue_mutex as it's only used during a collection
Ludovic Henry [Thu, 2 Jun 2016 21:25:04 +0000 (23:25 +0200)]
[sgen] Use raw mutex for pin_queue_mutex as it's only used during a collection

7 years ago[coop] Reuse local info variable for polling
Ludovic Henry [Tue, 31 May 2016 16:37:46 +0000 (18:37 +0200)]
[coop] Reuse local info variable for polling

This would lead to a crash when unregistering the thread from the currnt MonoThreadInfo* destructor, as `mono_thread_info_current_unchecked` would return NULL. This would trigger an infinite loop in `mono_threads_enter_gc_safe_region_unbalanced_with_info`.

7 years ago[marshal] Fix unused variable warning
Ludovic Henry [Tue, 31 May 2016 16:35:14 +0000 (18:35 +0200)]
[marshal] Fix unused variable warning

7 years ago[threads] Make mono_thread_detach_if_exiting return if it detached
Ludovic Henry [Mon, 30 May 2016 18:19:19 +0000 (20:19 +0200)]
[threads] Make mono_thread_detach_if_exiting return if it detached

7 years ago[coop] Use mono_thread_info_is_current in checked build
Ludovic Henry [Mon, 30 May 2016 18:17:45 +0000 (20:17 +0200)]
[coop] Use mono_thread_info_is_current in checked build

7 years ago[coop] Remove unecessary assertion
Ludovic Henry [Mon, 30 May 2016 18:16:57 +0000 (20:16 +0200)]
[coop] Remove unecessary assertion

7 years ago[coop] Switch to GC unsafe state in SIGILL signal handler as it may throw an exception
Ludovic Henry [Mon, 30 May 2016 18:15:19 +0000 (20:15 +0200)]
[coop] Switch to GC unsafe state in SIGILL signal handler as it may throw an exception

7 years ago[runtine] We should always ignore SIGPIPE signal
Ludovic Henry [Mon, 30 May 2016 18:14:43 +0000 (20:14 +0200)]
[runtine] We should always ignore SIGPIPE signal

7 years ago[coop] Ensure GC unsafe state when throwing exception
Ludovic Henry [Mon, 30 May 2016 18:14:09 +0000 (20:14 +0200)]
[coop] Ensure GC unsafe state when throwing exception

7 years ago[coop] Switch to GC safe around pthread_join
Ludovic Henry [Mon, 30 May 2016 18:13:21 +0000 (20:13 +0200)]
[coop] Switch to GC safe around pthread_join

7 years ago[coop] Do not pass current thread to mono_threads_enter_gc_unsafe_region_cookie
Ludovic Henry [Mon, 30 May 2016 18:11:35 +0000 (20:11 +0200)]
[coop] Do not pass current thread to mono_threads_enter_gc_unsafe_region_cookie

7 years ago[coop] Fix state transition when unregistering the thread
Ludovic Henry [Mon, 30 May 2016 17:16:33 +0000 (19:16 +0200)]
[coop] Fix state transition when unregistering the thread

unregister_thread is the destructor for the current MonoThreadInfo* TLS key, meaning that when in this function, calling mono_thread_info_current_unchecked will always return NULL.

7 years ago[coop] Make GC safe/unsafe unbalanced transitions public
Ludovic Henry [Mon, 30 May 2016 17:08:06 +0000 (19:08 +0200)]
[coop] Make GC safe/unsafe unbalanced transitions public

This is needed by Xamarin.iOS for unbalanced transitions, for example aroung a ObjC @throw.

7 years ago[coop] Do not include mono-threads-coop.h and mono-threads-api.h in mono-threads.h
Ludovic Henry [Mon, 30 May 2016 17:04:02 +0000 (19:04 +0200)]
[coop] Do not include mono-threads-coop.h and mono-threads-api.h in mono-threads.h

This leads to circular dependency between them, while mono-threads.h does not depends on the other 2.

7 years ago[coop] Do not allow transition on not-attached, not-current and not-live thread
Ludovic Henry [Mon, 30 May 2016 16:42:48 +0000 (18:42 +0200)]
[coop] Do not allow transition on not-attached, not-current and not-live thread

7 years ago[coop] Remove unecessary GC unsafe transition
Ludovic Henry [Mon, 30 May 2016 16:29:45 +0000 (18:29 +0200)]
[coop] Remove unecessary GC unsafe transition

7 years ago[marshal] Fix setting of last error for P/Invoke
Ludovic Henry [Mon, 30 May 2016 16:27:05 +0000 (18:27 +0200)]
[marshal] Fix setting of last error for P/Invoke

On Unix, errno value might change between the native call and the call to mono_marshal_set_last_error, if we exit the gc safe region. We need to ensure that it's done right after the native call.

7 years ago[checked-build] Fix warning
Ludovic Henry [Mon, 30 May 2016 16:26:31 +0000 (18:26 +0200)]
[checked-build] Fix warning

7 years ago[coop] Remove DoneBlockingAborted state transition
Ludovic Henry [Mon, 30 May 2016 16:25:24 +0000 (18:25 +0200)]
[coop] Remove DoneBlockingAborted state transition

This state transition would only be possible in case something went wrong. It's better to fix where this issue comes from.

7 years agoMerge pull request #2881 from alexrp/gc-sample-managed-alloc
monojenkins [Thu, 2 Jun 2016 20:45:26 +0000 (21:45 +0100)]
Merge pull request #2881 from alexrp/gc-sample-managed-alloc

[gc] Register a critical region when executing managed allocators.

Previously, if we stopped a thread and it had a stack looking like this:

    ...
    profiler_signal_handler
    <signal handler called>
    managed_allocator
    ...

We would fail to identify the fact that we've just interrupted a thread that's
in a managed allocator (uninterruptible code) because we only look at the very
latest instruction pointer of the thread, which will be pointing into
profiler_signal_handler or some other function called by it. So we would
happily continue along with the STW process and proceed to doing the actual GC,
where we would see a broken heap.

We could solve this by unwinding the stack and checking all frames, but that's
complicated and error-prone. Instead, register a critical region while the
managed allocator runs. This way, if we don't identify it by instruction pointer, we
will identify it by the fact that the thread is in a critical region.

7 years agoMerge pull request #3066 from alexanderkyte/pedump_sgen
Alexander Köplinger [Thu, 2 Jun 2016 20:00:38 +0000 (22:00 +0200)]
Merge pull request #3066 from alexanderkyte/pedump_sgen

[runtime] Replace pedump boehm dependency with sgen dependency

7 years ago[runtime] Mark mono_exception_from_token_two_strings external only
Aleksey Kliger [Thu, 2 Jun 2016 19:29:12 +0000 (15:29 -0400)]
[runtime] Mark mono_exception_from_token_two_strings external only

Runtime should use mono_exception_from_token_two_strings_checked

7 years ago[runtime] Mark mono_exception_from_name_two_strings external only.
Aleksey Kliger [Thu, 2 Jun 2016 19:21:13 +0000 (15:21 -0400)]
[runtime] Mark mono_exception_from_name_two_strings external only.

Runtime should use mono_exception_from_name_two_strings_checked

7 years ago[System] Semaphore from referencesource
Marek Safar [Thu, 2 Jun 2016 19:33:22 +0000 (21:33 +0200)]
[System] Semaphore from referencesource

7 years agoCorrect use of localtime() in Win32
Neale Ferguson [Thu, 2 Jun 2016 19:33:12 +0000 (15:33 -0400)]
Correct use of localtime() in Win32

7 years agoUse localtime for Win32 and localtime_r for others
Neale Ferguson [Thu, 2 Jun 2016 18:40:05 +0000 (14:40 -0400)]
Use localtime for Win32 and localtime_r for others

7 years agoCorrect syntax error and G_LOG_xxx identifier
Neale Ferguson [Thu, 2 Jun 2016 18:09:26 +0000 (14:09 -0400)]
Correct syntax error and G_LOG_xxx identifier

7 years agoCorrect use of Windows APIs
Neale Ferguson [Thu, 2 Jun 2016 17:40:15 +0000 (13:40 -0400)]
Correct use of Windows APIs

7 years agoUse correct APIs for Windows; Remove sys/time.h
Neale Ferguson [Thu, 2 Jun 2016 17:14:56 +0000 (13:14 -0400)]
Use correct APIs for Windows; Remove sys/time.h

7 years agoCorrect conditional compilation & move logger source files to correct place
Neale Ferguson [Thu, 2 Jun 2016 15:59:45 +0000 (11:59 -0400)]
Correct conditional compilation & move logger source files to correct place

7 years agoMerge pull request #3087 from lambdageek/dev/monoerror-mono_object_to_string
Aleksey Kliger (λgeek) [Thu, 2 Jun 2016 14:31:29 +0000 (10:31 -0400)]
Merge pull request #3087 from lambdageek/dev/monoerror-mono_object_to_string

[runtime] Mark mono_object_to_string external only.

7 years ago[System] Internal connectionpool from referencesource
Marek Safar [Thu, 2 Jun 2016 14:19:15 +0000 (16:19 +0200)]
[System] Internal connectionpool from referencesource

7 years agoMerge pull request #3096 from alexrp/master
Alex Rønne Petersen [Thu, 2 Jun 2016 13:11:51 +0000 (15:11 +0200)]
Merge pull request #3096 from alexrp/master

[bcl] Avoid ObjectDisposedException in EndPointListener.

7 years ago[corlib] Fixes mobile tests
Marek Safar [Thu, 2 Jun 2016 12:40:25 +0000 (14:40 +0200)]
[corlib] Fixes mobile tests

7 years agoMerge pull request #3097 from rolfbjarne/mono-api-info-compare-generic-method-parameters
Marek Safar [Thu, 2 Jun 2016 11:11:16 +0000 (13:11 +0200)]
Merge pull request #3097 from rolfbjarne/mono-api-info-compare-generic-method-parameters

[mono-api-info] Take number of generic parameters into account when comparing methods.