mono.git
6 years ago[msbuild] Bump msbuild to fix build breakage
Ankit Jain [Mon, 17 Jul 2017 21:56:11 +0000 (17:56 -0400)]
[msbuild] Bump msbuild to fix build breakage

.. specifically get msbuild@81687aa7dd4ad9b76c52c1efa841b4527e0f45f9

6 years agoMerge pull request #5194 from xmcclure/orbis-freeswept
Andi McClure [Mon, 17 Jul 2017 17:48:53 +0000 (13:48 -0400)]
Merge pull request #5194 from xmcclure/orbis-freeswept

Do not major_free_swept_blocks on Orbis.

6 years ago[msbuild] Bump to get new changes on xplat-master
Ankit Jain [Mon, 17 Jul 2017 17:34:31 +0000 (13:34 -0400)]
[msbuild] Bump to get new changes on xplat-master

6 years agoMerge pull request #5206 from alexrp/profiler-gc-base-init
Alex Rønne Petersen [Mon, 17 Jul 2017 17:25:17 +0000 (19:25 +0200)]
Merge pull request #5206 from alexrp/profiler-gc-base-init

[profiler] Don't call mono_gc_base_init () before loading profilers.

6 years ago[profiler] Don't call mono_gc_base_init () before loading profilers.
Alex Rønne Petersen [Thu, 13 Jul 2017 22:36:19 +0000 (00:36 +0200)]
[profiler] Don't call mono_gc_base_init () before loading profilers.

Calling this function could cause us to miss some profiler events.

In the past, we needed to call this function so that SMR and mono-threads were
initialized. Since then, 8dec9848f6208531ae14ea08f123c01da0357c42 changed
profiler initialization to happen later during startup, so this is no longer
necessary.

6 years agoMerge pull request #5216 from alexrp/profiler-runtime-settings
Alex Rønne Petersen [Mon, 17 Jul 2017 17:15:13 +0000 (19:15 +0200)]
Merge pull request #5216 from alexrp/profiler-runtime-settings

[profiler] Introduce runtime control API.

6 years agoAdd SoapAction to Content-typ for SOAP 1.2 (#5219)
Albert Ruff [Mon, 17 Jul 2017 16:30:44 +0000 (18:30 +0200)]
Add SoapAction to Content-typ for SOAP 1.2 (#5219)

6 years ago[msvc] Update csproj files (#5220)
monojenkins [Mon, 17 Jul 2017 15:38:53 +0000 (17:38 +0200)]
[msvc] Update csproj files (#5220)

6 years agoBump corefx (#5217)
Alexander Köplinger [Sun, 16 Jul 2017 17:59:41 +0000 (19:59 +0200)]
Bump corefx (#5217)

6 years ago[System] Suppress a few instances of CS0618 obsolete warnings
Alexander Köplinger [Sun, 16 Jul 2017 00:43:10 +0000 (02:43 +0200)]
[System] Suppress a few instances of CS0618 obsolete warnings

6 years ago[corlib] Preserve List<T>.ConvertAll in TypeTest (#5215)
Alexander Köplinger [Sat, 15 Jul 2017 23:49:00 +0000 (01:49 +0200)]
[corlib] Preserve List<T>.ConvertAll in TypeTest (#5215)

TypeTest.GetGenericMethodDefinitionOverInflatedMethodOnGTD accesses
List<T>.ConvertAll() via reflection but doesn't use the method
elsewhere so the linker can remove it. Added some usage to avoid that.

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

6 years ago[profiler] Use g_strerror () instead of strerror ().
Alex Rønne Petersen [Sat, 15 Jul 2017 21:13:37 +0000 (23:13 +0200)]
[profiler] Use g_strerror () instead of strerror ().

6 years ago[profiler] Change sample frequency to a 32-bit int.
Alex Rønne Petersen [Sat, 15 Jul 2017 20:55:08 +0000 (22:55 +0200)]
[profiler] Change sample frequency to a 32-bit int.

The unit is hertz, so values above 100-1000 are already extremely unusual.
Changing it to a 32-bit int avoids word tearing on 32-bit platforms.

6 years ago[profiler] Introduce runtime control API.
Alex Rønne Petersen [Sat, 15 Jul 2017 17:43:38 +0000 (19:43 +0200)]
[profiler] Introduce runtime control API.

6 years agoMerge pull request #5210 from alexrp/profiler-runtime-settings
Alex Rønne Petersen [Sat, 15 Jul 2017 11:33:20 +0000 (13:33 +0200)]
Merge pull request #5210 from alexrp/profiler-runtime-settings

[profiler] Housecleaning

6 years ago[profiler] Move heapshot logic to the correct GC event.
Alex Rønne Petersen [Sat, 15 Jul 2017 00:12:38 +0000 (02:12 +0200)]
[profiler] Move heapshot logic to the correct GC event.

MONO_GC_EVENT_START is actually sent _after_ all the 'stop world' events. The
heapshot logic being in this switch case only worked by accident previously.

6 years ago[profiler] Clean up MonoProfilerGCEvent enum.
Alex Rønne Petersen [Sat, 15 Jul 2017 00:08:40 +0000 (02:08 +0200)]
[profiler] Clean up MonoProfilerGCEvent enum.

* Remove the mark/reclaim events as they've been broken for a long time and
  aren't particularly useful.
* Reorder the enum member declarations to the order they actually arrive in.

6 years ago[bcl] Remove the ValueAdd and InetAccess NUnit categories (#2212)
Alexander Köplinger [Fri, 14 Jul 2017 21:38:31 +0000 (23:38 +0200)]
[bcl] Remove the ValueAdd and InetAccess NUnit categories (#2212)

ValueAdd was added over a decade ago and all the tests marked with this category are passing now.

We have *tons* of tests that rely on working DNS/Internet that aren't marked with
InetAccess (and they actually provide good value so we don't want to exclude them).

Since these categories don't really make sense and just causes confusion
it's better to just remove them.

6 years ago[profiler] Add a heapshot-on-shutdown option.
Alex Rønne Petersen [Fri, 14 Jul 2017 18:30:15 +0000 (20:30 +0200)]
[profiler] Add a heapshot-on-shutdown option.

6 years ago[pedump] Print failure cause message when a class cannot be initialized
Aleksey Kliger [Fri, 14 Jul 2017 16:58:08 +0000 (12:58 -0400)]
[pedump] Print failure cause message when a class cannot be initialized

6 years agoAdd @luhenry and @kumpera to CODEOWNERS for some files
Ludovic Henry [Fri, 14 Jul 2017 19:59:12 +0000 (15:59 -0400)]
Add @luhenry and @kumpera to CODEOWNERS for some files

6 years ago[llvm] Reserve the proper number of got entries in the llvm got instead of 16 which...
Zoltan Varga [Fri, 14 Jul 2017 19:39:16 +0000 (15:39 -0400)]
[llvm] Reserve the proper number of got entries in the llvm got instead of 16 which used to be enough in the past. Hopefully fixes #56111. (#5207)

6 years ago[metadata] Encode public key length correctly for keys longer than 128 bytes
Aleksey Kliger [Thu, 13 Jul 2017 19:54:12 +0000 (15:54 -0400)]
[metadata] Encode public key length correctly for keys longer than 128 bytes

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

For keys longer than 1024 bits, we encoded the length incorrectly as
   0x80 (length & 0xff)
instead of the correct algorithm:
  if (length < 0x80)
    length
  else if (length < 0x4000)
    0x80|(length>>8) (length & 0xff)
  else
    0xc0|(length>>24) (length>>16)&0xff (length>>8)&0xff length&0xff

which is provided by mono_metadata_encode_value.

See ECMA-335 II.24.2.4 #US and #Blob heaps

N.B.: we now always allocate the memory for the key as (keylen + 4) which
over-allocates by a couple of bytes in the cases where the key is shorter.

6 years ago[tests] Add regression test for InternalsVisibleTo with long PublicKey
Aleksey Kliger [Thu, 13 Jul 2017 23:02:10 +0000 (19:02 -0400)]
[tests] Add regression test for InternalsVisibleTo with long PublicKey

Regression test for https://bugzilla.xamarin.com/show_bug.cgi?id=57691

We build a library that has an InternalsVisibleTo attribute that references an
executable that is signed with a long (>128bytes) public key.  Previously we
were using an incorrect method of encoding the key length.

6 years ago[tests] Use test runner for test-internalsvisibleto
Aleksey Kliger [Thu, 13 Jul 2017 21:38:25 +0000 (17:38 -0400)]
[tests] Use test runner for test-internalsvisibleto

Also add the source files to EXTRA_DIST

6 years ago[Microsoft.Build] Relax check in BuildSubmissionTest a bit more
Alexander Köplinger [Fri, 14 Jul 2017 18:27:08 +0000 (20:27 +0200)]
[Microsoft.Build] Relax check in BuildSubmissionTest a bit more

6 years ago[Mono.Profiler.Log] Fix LogProcessor.ReadObject ().
Alex Rønne Petersen [Thu, 13 Jul 2017 17:01:09 +0000 (19:01 +0200)]
[Mono.Profiler.Log] Fix LogProcessor.ReadObject ().

6 years ago[msvc] Update VTune project files.
Alex Rønne Petersen [Thu, 13 Jul 2017 16:31:59 +0000 (18:31 +0200)]
[msvc] Update VTune project files.

6 years ago[profiler] Fix sampling thread shutdown logic to handle idle mode correctly.
Alex Rønne Petersen [Thu, 13 Jul 2017 15:37:22 +0000 (17:37 +0200)]
[profiler] Fix sampling thread shutdown logic to handle idle mode correctly.

6 years ago[profiler] Use tabledefs.h constants for method attributes.
Alex Rønne Petersen [Thu, 13 Jul 2017 13:30:37 +0000 (15:30 +0200)]
[profiler] Use tabledefs.h constants for method attributes.

6 years ago[profiler] Move the log format description to the header.
Alex Rønne Petersen [Thu, 13 Jul 2017 13:02:06 +0000 (15:02 +0200)]
[profiler] Move the log format description to the header.

6 years ago[acceptance-tests] Update the profiler-stress runner for removed options.
Alex Rønne Petersen [Thu, 13 Jul 2017 11:54:39 +0000 (13:54 +0200)]
[acceptance-tests] Update the profiler-stress runner for removed options.

6 years ago[profiler] More options reworking/refactoring.
Alex Rønne Petersen [Thu, 13 Jul 2017 11:37:27 +0000 (13:37 +0200)]
[profiler] More options reworking/refactoring.

This commit does a few different things.

First, metadata event options have been removed. We now always emit these
events. This is done because they contain important data that must be present
in order for dynamic event mask changes at runtime to result in useful data.
Also, almost all uses of the profiler require this data to be present, so
letting it be turned arguably just adds confusion for users.

Second, the PROFLOG_*_FEATURE flags have been removed. These made the code a
bit confusing because it was unclear whether code in log.c should be checking
the PROFLOG_*_FEATURE flag or the PROFLOG_*_EVENTS flag for a particular kind
of event. For heapshot in particular, the heapshot mode is now a separate enum
configuration variable. For enter/leave and coverage, switching those on and
off in the log profiler at runtime is not something we want to support at this
time.

As a result of the above change, some options are now processed manually rather
than being part of the event_list array.

Third, the way we turn off GC root events when needed is now by setting the
callback to NULL. This is more efficient as it signals to the runtime that it
doesn't have to gather root information. This will especially matter later on
when the profiler root info revamp lands, as it collects a lot more data than
we do today. Also, GC roots are no longer gathered unless we're doing a
heapshot.

Fourth, the profiler now always starts the sampling thread in idle mode. This
is so that we can reconfigure and enable/disable it at runtime as needed.

Finally, the alloc alias option now includes GC move events, and GC resize
events are only emitted if the gc option is given.

6 years ago[w32error] Add ENXIO error case (#5199)
Ludovic Henry [Fri, 14 Jul 2017 14:58:25 +0000 (10:58 -0400)]
[w32error] Add ENXIO error case (#5199)

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

6 years ago[Microsoft.Build] Make BuildSubmissionTest.EndBuildWaitsForCompletion more reliable...
Alexander Köplinger [Fri, 14 Jul 2017 12:47:14 +0000 (14:47 +0200)]
[Microsoft.Build] Make BuildSubmissionTest.EndBuildWaitsForCompletion more reliable (#5209)

We've seen this test failure a few times:

```
MESSAGE:
  #2
  Expected: greater than or equal to 00:00:01
  But was:  00:00:00.9544900

+++++++++++++++++++
STACK TRACE:
  at MonoTests.Microsoft.Build.Execution.BuildSubmissionTest.EndBuildWaitsForSubmissionCompletion () [0x000d8] in /mnt/jenkins/workspace/test-mono-mainline-linux/label/ubuntu-1404-amd64/mcs/class/Microsoft.Build/Test/Microsoft.Build.Execution/BuildSubmissionTest.cs:110
  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) [0x00032] in /mnt/jenkins/workspace/test-mono-mainline-linux/label/ubuntu-1404-amd64/mcs/class/corlib/System.Reflection/MonoMethod.cs:305
```

Rewriting the test to use Stopwatch instead of DateTime
for measuring elapsed time should make it more reliable.

6 years ago[profiler] Clarify docs for mono_profiler_set_sample_mode ().
Alex Rønne Petersen [Thu, 13 Jul 2017 08:45:59 +0000 (10:45 +0200)]
[profiler] Clarify docs for mono_profiler_set_sample_mode ().

6 years ago[profiler] Use mono_cpu_count () from utils/proclib.
Alex Rønne Petersen [Wed, 12 Jul 2017 18:16:31 +0000 (20:16 +0200)]
[profiler] Use mono_cpu_count () from utils/proclib.

6 years ago[utils/proclib] Export mono_cpu_count () for use in the profiler.
Alex Rønne Petersen [Wed, 12 Jul 2017 18:16:03 +0000 (20:16 +0200)]
[utils/proclib] Export mono_cpu_count () for use in the profiler.

6 years ago[profiler] Update file headers.
Alex Rønne Petersen [Wed, 12 Jul 2017 18:05:40 +0000 (20:05 +0200)]
[profiler] Update file headers.

6 years ago[profiler] Use EXIT_LOG instead of EXIT_LOG_EXPLICIT where possible.
Alex Rønne Petersen [Wed, 12 Jul 2017 18:00:06 +0000 (20:00 +0200)]
[profiler] Use EXIT_LOG instead of EXIT_LOG_EXPLICIT where possible.

6 years ago[profiler] Clean up counter data structures a bit.
Alex Rønne Petersen [Wed, 12 Jul 2017 15:59:27 +0000 (17:59 +0200)]
[profiler] Clean up counter data structures a bit.

6 years ago[profiler] Consolidate log profiler state.
Alex Rønne Petersen [Wed, 12 Jul 2017 15:37:34 +0000 (17:37 +0200)]
[profiler] Consolidate log profiler state.

Previously, the profiler's state was spread all over the place. Some stuff was
in the MonoProfiler structure, some stuff was in global variables littered
throughout log.c. Now everything is stored in MonoProfiler and ProfilerConfig.

6 years ago[profiler] Drop support for the old-style sample option.
Alex Rønne Petersen [Wed, 12 Jul 2017 14:06:11 +0000 (16:06 +0200)]
[profiler] Drop support for the old-style sample option.

6 years ago[profiler] Remove the need to pass a MonoProfiler pointer around everywhere.
Alex Rønne Petersen [Wed, 12 Jul 2017 13:32:37 +0000 (15:32 +0200)]
[profiler] Remove the need to pass a MonoProfiler pointer around everywhere.

6 years ago[profiler] Clean up logging to use the new logging functions.
Alex Rønne Petersen [Wed, 12 Jul 2017 13:22:00 +0000 (15:22 +0200)]
[profiler] Clean up logging to use the new logging functions.

6 years ago[profiler] Remove support for the output=-FILENAME option.
Alex Rønne Petersen [Wed, 12 Jul 2017 13:21:22 +0000 (15:21 +0200)]
[profiler] Remove support for the output=-FILENAME option.

6 years ago[profiler] Remove the debug-coverage option.
Alex Rønne Petersen [Wed, 12 Jul 2017 13:15:46 +0000 (15:15 +0200)]
[profiler] Remove the debug-coverage option.

6 years ago[utils/logger] Export logging functions for the profiler.
Alex Rønne Petersen [Wed, 12 Jul 2017 13:07:51 +0000 (15:07 +0200)]
[utils/logger] Export logging functions for the profiler.

6 years ago[profiler] Use explicit values for enum members.
Alex Rønne Petersen [Wed, 12 Jul 2017 10:43:23 +0000 (12:43 +0200)]
[profiler] Use explicit values for enum members.

6 years ago[profiler] Remove unused TYPE_END enum member.
Alex Rønne Petersen [Wed, 12 Jul 2017 10:43:08 +0000 (12:43 +0200)]
[profiler] Remove unused TYPE_END enum member.

6 years ago[profiler] Update sample hit size calculation.
Alex Rønne Petersen [Wed, 12 Jul 2017 10:35:44 +0000 (12:35 +0200)]
[profiler] Update sample hit size calculation.

6 years ago[llvm] Add support for fault clauses. Fixes #58114. (#5203)
Zoltan Varga [Fri, 14 Jul 2017 04:43:23 +0000 (00:43 -0400)]
[llvm] Add support for fault clauses. Fixes #58114. (#5203)

6 years agoAdd myself to a few paths in CODEOWNERS
Alexander Köplinger [Thu, 13 Jul 2017 23:36:44 +0000 (01:36 +0200)]
Add myself to a few paths in CODEOWNERS

Also fix a few broken markdown links in contributing.md that that I noticed.

6 years ago@jonpryor reviews Mono.Options (#5204)
Jonathan Pryor [Thu, 13 Jul 2017 19:51:19 +0000 (12:51 -0700)]
@jonpryor reviews Mono.Options (#5204)

6 years agoMerge pull request #5201 from alexrp/code-owners
Alex Rønne Petersen [Thu, 13 Jul 2017 19:39:02 +0000 (21:39 +0200)]
Merge pull request #5201 from alexrp/code-owners

Add initial CODEOWNERS file.

6 years agoAdd initial CODEOWNERS file.
Alex Rønne Petersen [Thu, 13 Jul 2017 16:30:39 +0000 (18:30 +0200)]
Add initial CODEOWNERS file.

6 years ago[amd64] Mark RBP as 'same value' in the unwind info for the epilog so the unwind...
Zoltan Varga [Tue, 11 Jul 2017 21:32:46 +0000 (17:32 -0400)]
[amd64] Mark RBP as 'same value' in the unwind info for the epilog so the unwind info is correct if the method is interrupted after cleaning up its frame. (#5197)

6 years agoIncorrect parameters passed to GetDiskFreeSpaceEx causing random memory corruption...
Johan Lorensson [Tue, 11 Jul 2017 21:23:54 +0000 (23:23 +0200)]
Incorrect parameters passed to GetDiskFreeSpaceEx causing random memory corruption. (#5196)

The call to GetDiskFreeSpaceEx passes uninitialized pointers to GetDiskFreeSpaceEx
instead of pointers to stack variables. This will cause random memory corruption and random
crashes on Windows builds.

This is a regression caused by the refactoring work done in this PR:

https://github.com/mono/mono/pull/4255

6 years agoMerge pull request #5190 from alexrp/profiler-roots-deprecation
Alex Rønne Petersen [Tue, 11 Jul 2017 16:52:59 +0000 (18:52 +0200)]
Merge pull request #5190 from alexrp/profiler-roots-deprecation

[profiler] Hide the GC roots callback behind a macro and mark it obsolete.

6 years agoRemove partial path for ml.exe and ml64.exe in mono VS runtime builds. (#5195)
Johan Lorensson [Tue, 11 Jul 2017 13:21:04 +0000 (15:21 +0200)]
Remove partial path for ml.exe and ml64.exe in mono VS runtime builds. (#5195)

Location of ml.exe and ml64.exe is different in VS2017 compared to VS2015.
By removing the partial path from the command, the VS environment will locate
the tool depending on selected build configuration and VS version.

This should work for both VS2015 and VS2017.

6 years ago[System.Drawing] Remove tab from .sources
Alexander Köplinger [Tue, 11 Jul 2017 00:14:45 +0000 (02:14 +0200)]
[System.Drawing] Remove tab from .sources

6 years agoDo not major_free_swept_blocks on Orbis.
Andi McClure [Mon, 10 Jul 2017 21:01:12 +0000 (17:01 -0400)]
Do not major_free_swept_blocks on Orbis.
Also, the existing major_free_swept_blocks exemption for Windows is more appropriate for Windows *hosts* than Windows *targets*.

6 years agoCheck return value of asn1_generalizedtime_to_tm ()
cherusker [Sat, 24 Jun 2017 13:03:01 +0000 (15:03 +0200)]
Check return value of asn1_generalizedtime_to_tm ()

6 years ago[bitcode] Disable tests which use filter clauses when running with bitcode.
Zoltan Varga [Mon, 10 Jul 2017 16:57:52 +0000 (12:57 -0400)]
[bitcode] Disable tests which use filter clauses when running with bitcode.

6 years agoMerge pull request #5189 from alexrp/profiler-sample-type-field
Alex Rønne Petersen [Mon, 10 Jul 2017 15:27:03 +0000 (17:27 +0200)]
Merge pull request #5189 from alexrp/profiler-sample-type-field

[profiler] Remove the type field from TYPE_SAMPLE_HIT.

6 years ago[profiler] Remove the type field from TYPE_SAMPLE_HIT.
Alex Rønne Petersen [Sat, 8 Jul 2017 03:53:16 +0000 (05:53 +0200)]
[profiler] Remove the type field from TYPE_SAMPLE_HIT.

It's unlikely that we'll add support for other kinds of sampling in the future
as we've dropped support for perf on Linux.

6 years ago[profiler] Hide the GC roots callback behind a macro and mark it obsolete.
Alex Rønne Petersen [Sat, 8 Jul 2017 04:41:38 +0000 (06:41 +0200)]
[profiler] Hide the GC roots callback behind a macro and mark it obsolete.

6 years agoAdd new version of SocketTest.ConnectedProperty that works on all platforms. The...
Katelyn Gadd [Thu, 29 Jun 2017 19:30:29 +0000 (12:30 -0700)]
Add new version of SocketTest.ConnectedProperty that works on all platforms. The current version is broken on Linux FullAOT and on Mac, so this adds a new version tuned to work reliably on Windows, Linux and Mac (including FullAOT). This addresses https://bugzilla.xamarin.com/show_bug.cgi?id=52157.

Revise new ConnectedProperty test

6 years agoMerge pull request #5187 from alexrp/debugger-fix-callback-signature
Alex Rønne Petersen [Fri, 7 Jul 2017 23:28:58 +0000 (01:28 +0200)]
Merge pull request #5187 from alexrp/debugger-fix-callback-signature

[sdb] Fix signatures of thread-related profiler callbacks.

6 years ago[sdb] Fix signatures of thread-related profiler callbacks.
Alex Rønne Petersen [Fri, 7 Jul 2017 19:13:21 +0000 (21:13 +0200)]
[sdb] Fix signatures of thread-related profiler callbacks.

This was an unintended change in the profiler API overhaul.

6 years agoBump api-snapshot
Alexander Köplinger [Fri, 7 Jul 2017 19:12:26 +0000 (21:12 +0200)]
Bump api-snapshot

6 years agoMerge pull request #5180 from alexrp/profiler-zero-freq
Alex Rønne Petersen [Fri, 7 Jul 2017 18:48:40 +0000 (20:48 +0200)]
Merge pull request #5180 from alexrp/profiler-zero-freq

[profiler] Don't enable sampling if frequency is zero.

6 years agoMerge pull request #5179 from alexrp/profiler-thread-name
Alex Rønne Petersen [Fri, 7 Jul 2017 18:45:58 +0000 (20:45 +0200)]
Merge pull request #5179 from alexrp/profiler-thread-name

[profiler] Report main thread name after attaching.

6 years ago[System]: minor cleanups. (#5186)
Martin Baulig [Fri, 7 Jul 2017 18:12:14 +0000 (14:12 -0400)]
[System]: minor cleanups. (#5186)

* [Mono.Security]: Add missing IMonoSslStream.WriteAsync() method.

* Cosmetic.

* [System]: MonoTlsStream: put implementation inside #SECURITY_DEP, not the entire class.

6 years ago[System.ServiceProcess] Remove "browser" service from dependencies in test (#5183)
Alexander Köplinger [Fri, 7 Jul 2017 17:36:22 +0000 (19:36 +0200)]
[System.ServiceProcess] Remove "browser" service from dependencies in test (#5183)

LanmanWorkstation and SamSs services don't depend on the Browser
service anymore, at least in the Windows Server build that our
Azure VM agents on Jenkins are using now. This started failing a
few days ago so I assume a new build was rolled out.

6 years agoMerge pull request #5184 from mono/gtk-bump
Marius Ungureanu [Fri, 7 Jul 2017 16:50:14 +0000 (19:50 +0300)]
Merge pull request #5184 from mono/gtk-bump

Bump bockbuild for gtk# API compat fixes.

6 years agoBump bockbuild for gtk# API compat fixes.
Marius Ungureanu [Fri, 7 Jul 2017 16:48:52 +0000 (19:48 +0300)]
Bump bockbuild for gtk# API compat fixes.

6 years ago[corlib] Add test for deleting non-existing file
Alexander Köplinger [Wed, 5 Jul 2017 15:54:47 +0000 (17:54 +0200)]
[corlib] Add test for deleting non-existing file

It shouldn't throw in that case.

Helps cover https://bugzilla.xamarin.com/show_bug.cgi?id=57629
(note that we don't explicitly test on a readonly FS as that is hard
to do in a unit test, but running this test on Android should suffice).

6 years ago[metadata/corlib] Add apfs to list of fixed drive types
Alexander Köplinger [Wed, 5 Jul 2017 15:39:52 +0000 (17:39 +0200)]
[metadata/corlib] Add apfs to list of fixed drive types

Also added some tests for DriveInfo since we didn't have any.

6 years ago[profiler] Don't enable sampling if frequency is zero.
Alex Rønne Petersen [Fri, 7 Jul 2017 00:47:22 +0000 (02:47 +0200)]
[profiler] Don't enable sampling if frequency is zero.

Otherwise we would get a SIGFPE at runtime.

6 years agoMerge pull request #5181 from alexrp/master
Alex Rønne Petersen [Fri, 7 Jul 2017 02:33:57 +0000 (04:33 +0200)]
Merge pull request #5181 from alexrp/master

[profiler] Fix a type name conflict.

6 years ago[profiler] Fix a type name conflict.
Alex Rønne Petersen [Fri, 7 Jul 2017 01:08:33 +0000 (03:08 +0200)]
[profiler] Fix a type name conflict.

6 years ago[arm64] Really fix handler block trampolines.
Zoltan Varga [Fri, 7 Jul 2017 01:00:01 +0000 (21:00 -0400)]
[arm64] Really fix handler block trampolines.

6 years ago[profiler] Report main thread name after attaching.
Alex Rønne Petersen [Fri, 7 Jul 2017 00:41:57 +0000 (02:41 +0200)]
[profiler] Report main thread name after attaching.

6 years agoMerge pull request #5088 from alexrp/profiler-lightweight-coverage
Alex Rønne Petersen [Thu, 6 Jul 2017 23:09:15 +0000 (01:09 +0200)]
Merge pull request #5088 from alexrp/profiler-lightweight-coverage

[profiler] No longer use enter/leave instrumentation for code coverage.

6 years ago[profiler] Don't enable GC and thread events for code coverage.
Alex Rønne Petersen [Thu, 22 Jun 2017 08:02:05 +0000 (10:02 +0200)]
[profiler] Don't enable GC and thread events for code coverage.

6 years ago[profiler] No longer use enter/leave instrumentation for code coverage.
Alex Rønne Petersen [Thu, 22 Jun 2017 07:59:47 +0000 (09:59 +0200)]
[profiler] No longer use enter/leave instrumentation for code coverage.

This was only enabled to populate a hash table that wasn't actually used.

6 years agoMerge pull request #5101 from alexrp/profiler-api
Alex Rønne Petersen [Thu, 6 Jul 2017 22:57:16 +0000 (00:57 +0200)]
Merge pull request #5101 from alexrp/profiler-api

[runtime] New profiler API.

6 years ago[msvc] Update def files after profiler API changes.
Alex Rønne Petersen [Thu, 6 Jul 2017 22:23:30 +0000 (00:23 +0200)]
[msvc] Update def files after profiler API changes.

6 years ago[utils] Mark mono_dl_open () as MONO_API.
Alex Rønne Petersen [Thu, 6 Jul 2017 22:23:03 +0000 (00:23 +0200)]
[utils] Mark mono_dl_open () as MONO_API.

This is needed on Windows.

6 years ago[metadata] Mark mono_loader_register_module () as MONO_API.
Alex Rønne Petersen [Thu, 6 Jul 2017 22:22:43 +0000 (00:22 +0200)]
[metadata] Mark mono_loader_register_module () as MONO_API.

This is needed on Windows.

6 years ago[runtime] Rework process waiting. (#5175)
Zoltan Varga [Thu, 6 Jul 2017 20:23:35 +0000 (16:23 -0400)]
[runtime] Rework process waiting. (#5175)

Instead of using fragile lockless code in the sigchld signal handler, wake up the finalizer thread and make it call back
into the process code to signal finished processes.

6 years ago[arm] Fix the handler block trampoline, it didn't actually call the helper function.
Zoltan Varga [Thu, 6 Jul 2017 19:06:51 +0000 (15:06 -0400)]
[arm] Fix the handler block trampoline, it didn't actually call the helper function.

6 years agoRevert "[arm] Fix the handler block trampoline, it didn't actually call the helper...
Zoltan Varga [Thu, 6 Jul 2017 18:45:35 +0000 (14:45 -0400)]
Revert "[arm] Fix the handler block trampoline, it didn't actually call the helper function."

This reverts commit 745a6bec4a1fab5a5f56e00fc8efda84341b0634.
Revert this as it wasn't tested properly.

6 years ago[arm] Fix the handler block trampoline, it didn't actually call the helper function.
Zoltan Varga [Thu, 6 Jul 2017 18:30:13 +0000 (14:30 -0400)]
[arm] Fix the handler block trampoline, it didn't actually call the helper function.

6 years ago[arm64] Fix the handler block trampoline, it didn't actually call the helper function.
Zoltan Varga [Thu, 6 Jul 2017 18:27:08 +0000 (14:27 -0400)]
[arm64] Fix the handler block trampoline, it didn't actually call the helper function.

6 years ago[profiler] Add MONO_PROFILER_API_VERSION macro.
Alex Rønne Petersen [Thu, 29 Jun 2017 21:49:14 +0000 (23:49 +0200)]
[profiler] Add MONO_PROFILER_API_VERSION macro.

6 years ago[profiler] Split shutdown callback into early/late callbacks.
Alex Rønne Petersen [Sat, 24 Jun 2017 02:53:43 +0000 (04:53 +0200)]
[profiler] Split shutdown callback into early/late callbacks.

6 years ago[runtime] New profiler API.
Alex Rønne Petersen [Thu, 22 Jun 2017 15:15:35 +0000 (17:15 +0200)]
[runtime] New profiler API.

* Profiler callbacks can now be changed and disabled at any point.
* API users no longer have to set event flags. The API instead uses a counter
  internally for each type of callback.
* Filter functions for enter/leave instrumentation can be installed, and they
  can choose whether to instrument the prologue, epilogue, or both.
* Managed allocators can now be instrumented for allocation profiling.
* A profiler must now declare that it wishes to use allocation profiling and/or
  sampling in its init function.
* Sampling parameters can now be changed at any point, and the sampling thread
  can be put into an idle mode when no sampling is needed.
* Only one profiler can have control over the sampling parameters. Whichever
  profiler enables sampling first gets control.
* Adding new events is now very easy: One line in profiler-events.h and one
  line wherever the event should be raised.
* Lifted the restriction that enter/leave instrumentation would cause an abort
  in full AOT mode.
* Support for call chain sampling has been removed.
* Support for the old, platform-specific code coverage mode has been removed.
* The new profiler module entry point is mono_profiler_init. If a module has
  a mono_profiler_startup symbol (the old entry point), a warning will be
  printed and the module won't be loaded.
* Updated the profiler test suite to work with instrumented managed allocators.

6 years agoMerge pull request #5172 from kumpera/proc-handles-pt2
Rodrigo Kumpera [Wed, 5 Jul 2017 22:25:10 +0000 (18:25 -0400)]
Merge pull request #5172 from kumpera/proc-handles-pt2

[System] Fix handle leak in Process::GetProcess.