mono.git
7 years ago[sgen] Parallel precleaning of los objects
Vlad Brezae [Wed, 1 Jun 2016 19:32:12 +0000 (22:32 +0300)]
[sgen] Parallel precleaning of los objects

In the future we should consider splitting large objects.

7 years ago[sgen] Remove unused parameter
Vlad Brezae [Wed, 1 Jun 2016 18:23:46 +0000 (21:23 +0300)]
[sgen] Remove unused parameter

7 years ago[sgen] Parallel major blocks precleaning
Vlad Brezae [Tue, 31 May 2016 21:45:19 +0000 (00:45 +0300)]
[sgen] Parallel major blocks precleaning

We allow spliting a major_scan_cardtable into multiple smaller jobs. For precleaning, we enqueue num_workers precleaning jobs, each one precleaning one in every num_workers blocks from the list.

7 years ago[sgen] Split precleaning into multiple jobs
Vlad Brezae [Tue, 31 May 2016 22:28:25 +0000 (01:28 +0300)]
[sgen] Split precleaning into multiple jobs

7 years ago[sgen] Enqueue preclean through a worker finish callback
Vlad Brezae [Tue, 31 May 2016 20:55:41 +0000 (23:55 +0300)]
[sgen] Enqueue preclean through a worker finish callback

It moves enqueuing back to the main gc giving more flexibility.

7 years ago[sgen] Enable multiple workers
Vlad Brezae [Mon, 30 May 2016 04:34:04 +0000 (07:34 +0300)]
[sgen] Enable multiple workers

7 years ago[sgen] CAS on LOS marking
Vlad Brezae [Mon, 30 May 2016 04:13:13 +0000 (07:13 +0300)]
[sgen] CAS on LOS marking

We make sure we don't double enqueue a large object.

7 years ago[sgen] Add CAS object marking for concurrent workers
Vlad Brezae [Mon, 30 May 2016 02:02:17 +0000 (05:02 +0300)]
[sgen] Add CAS object marking for concurrent workers

When marking an object we need to make sure we are not unmarking other objects (since marking is stored as bits). This also allows us to make sure that we never enqueue the same object multiple times on separate gray queues.

7 years ago[sgen] Add separate scan/copy context for concurrent parallel configuration
Vlad Brezae [Mon, 30 May 2016 01:25:10 +0000 (04:25 +0300)]
[sgen] Add separate scan/copy context for concurrent parallel configuration

7 years ago[sgen] Use array with fixed-size element for mark words
Vlad Brezae [Fri, 27 May 2016 23:12:14 +0000 (02:12 +0300)]
[sgen] Use array with fixed-size element for mark words

There is no benefit in using pointer size element and we need to special case between architectures.

7 years ago[sgen] Support multiple workers
Vlad Brezae [Tue, 17 May 2016 17:24:06 +0000 (20:24 +0300)]
[sgen] Support multiple workers

7 years ago[sgen] Add multiple thread support for sgen thread pool
Vlad Brezae [Mon, 16 May 2016 23:23:23 +0000 (02:23 +0300)]
[sgen] Add multiple thread support for sgen thread pool

7 years ago[sgen] Add parallel configuration to the sgen testing suite
Vlad Brezae [Mon, 16 May 2016 20:15:41 +0000 (23:15 +0300)]
[sgen] Add parallel configuration to the sgen testing suite

7 years ago[sgen] Add option for a new parallel concurrent collector
Vlad Brezae [Mon, 16 May 2016 19:57:17 +0000 (22:57 +0300)]
[sgen] Add option for a new parallel concurrent collector

7 years ago[sgen] Remove unused prototypes
Vlad Brezae [Mon, 16 May 2016 19:41:06 +0000 (22:41 +0300)]
[sgen] Remove unused prototypes

7 years ago[sgen] Use thread safe addition to block list
Vlad Brezae [Mon, 16 May 2016 19:24:45 +0000 (22:24 +0300)]
[sgen] Use thread safe addition to block list

This will enable us to to parallel block allocation, which is useful when doing parallel copying. We no longer compact the array (using the default array list allocator instead) so we need to account for unallocated slots (slots with null value) in the array at any time (see FOREACH_BLOCK).

7 years ago[threadpool] Fix race on runtime shutdown (#4263)
Ludovic Henry [Thu, 19 Jan 2017 14:30:07 +0000 (09:30 -0500)]
[threadpool] Fix race on runtime shutdown (#4263)

We cannot free the threadpool, because there is a race on shutdown where a managed thread may request a new threadpool thread, but we already destroyed the threadpool. So to avoid a use-after-free, we simply do not free the threadpool, as we won't be able to access the threadpool anyway because the ref count will be 0

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

7 years ago[io-layer] Extract socket (#4241)
Ludovic Henry [Thu, 19 Jan 2017 14:25:55 +0000 (09:25 -0500)]
[io-layer] Extract socket (#4241)

* [socket] Extract win32 and unix specific code from w32socket.c

* [socket] Extract WSAGetLastError and WSASetLastError

* [socket] Extract closesocket

* [socket] Extract iocltsocket

* [socket] Extract socket-wrappers.h functions

* [socket] Extract w32handle operations

* [socket] Extract WSAIoctl

* [socket] Do not use mono_w32socket_ioctl for disconnect

* [socket] Extract errno_to_WSA

* [socket] Remove redundant mono_w32handle_get_type/mono_w32handle_lookup

* [socket] Inline _wapi_* functions

* [socket] Make disconnect not rely on mono_w32socket_ioctl

* [socket] Remove unused parameters to mono_w32socket_transmit_file

* [socket] Refactor calls to mono_w32socket_convert_error

* [socket] Remove dead code

7 years ago[mini] Add new JIT flag JIT_FLAG_DISCARD_RESULTS to reduce the noise when profiling...
Rodrigo Kumpera [Thu, 19 Jan 2017 11:34:50 +0000 (03:34 -0800)]
[mini] Add new JIT flag JIT_FLAG_DISCARD_RESULTS to reduce the noise when profiling the jit with --compile-all. (#4266)

JI registration dominates profiling as it has some perf issues itself.

7 years ago[btls] Disable RC4 cipher suites by default
Alexander Köplinger [Wed, 18 Jan 2017 20:53:22 +0000 (21:53 +0100)]
[btls] Disable RC4 cipher suites by default

They should not be used anymore according to https://tools.ietf.org/html/rfc7465
and browser like Chrome, Firefox and Edge/IE [1] already removed them.

We should to do the same. To have everything in one place I also moved
the disabling of SSLv2/v3 to the mono_btls_ssl_ctx_new function as well
instead of disabling it on each single connection.

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

[1] https://blogs.windows.com/msedgedev/2016/08/09/rc4-now-deprecated/

7 years ago[bockbuild] Fix a packaging regression
Alexis Christoforides [Wed, 18 Jan 2017 20:21:07 +0000 (15:21 -0500)]
[bockbuild] Fix a packaging regression

7 years agoMerge pull request #4262 from kumpera/fix-windows
Rodrigo Kumpera [Wed, 18 Jan 2017 18:18:41 +0000 (13:18 -0500)]
Merge pull request #4262 from kumpera/fix-windows

Fix the windows build.

7 years agoFix the windows build.
Rodrigo Kumpera [Wed, 18 Jan 2017 15:50:51 +0000 (07:50 -0800)]
Fix the windows build.

7 years ago[pdb2mdb] Detect portable PDB and fail gracefully instead of crashing (#4261)
Alexander Köplinger [Wed, 18 Jan 2017 15:48:07 +0000 (16:48 +0100)]
[pdb2mdb] Detect portable PDB and fail gracefully instead of crashing (#4261)

Before when trying to convert an assembly that had a portable PDB
instead of a native PDB alongside it we'd just crash in the
Microsoft.Cci pdb reader.

We now check whether the symbol file is a portable PDB and exit
gracefully with an error message and exit code 2 from the app.

Users which access the Converter class (like e.g. Xamarin Android [1])
directly can now catch the PortablePdbNotSupportedException to
do custom logic.

[1] https://github.com/xamarin/xamarin-android/blob/15f7547fa673e02256a75910c60c5e13eb158d2b/src/Xamarin.Android.Build.Tasks/Tasks/ConvertDebuggingFiles.cs#L28

7 years ago[reflection] Fix ves_icall_RuntimeTypeHandle_GetGenericTypeDefinition_impl
Aleksey Kliger [Wed, 18 Jan 2017 00:40:14 +0000 (19:40 -0500)]
[reflection] Fix ves_icall_RuntimeTypeHandle_GetGenericTypeDefinition_impl

There was a typo in ea176c5bb8d2f93dafeec4aff683860c886c97ba that inadvertantly
replaced `generic_class` by `klass`.

7 years ago[coop handles] Fix mono_gchandle_get_target_handle
Aleksey Kliger [Tue, 17 Jan 2017 22:27:45 +0000 (17:27 -0500)]
[coop handles] Fix mono_gchandle_get_target_handle

Apparently it did not get exercised previously.

7 years ago[test] RuntimeType.GetGenericTypeDefiniton should return the TypeBuilder
Aleksey Kliger [Wed, 18 Jan 2017 00:38:01 +0000 (19:38 -0500)]
[test] RuntimeType.GetGenericTypeDefiniton should return the TypeBuilder

even after CreateType has already been called.

7 years ago[mini-posix] close file stream before exec'ing into GDB/LLDB
Bernhard Urban [Wed, 18 Jan 2017 13:08:50 +0000 (05:08 -0800)]
[mini-posix] close file stream before exec'ing into GDB/LLDB

otherwise it isn't ensured that the content is written to the file.

7 years ago[mini-posix] fix indent
Bernhard Urban [Wed, 18 Jan 2017 13:07:14 +0000 (05:07 -0800)]
[mini-posix] fix indent

7 years ago[exception] add another testcase where an exception is rethrown explicitly (and there...
Bernhard Urban [Mon, 16 Jan 2017 13:46:00 +0000 (14:46 +0100)]
[exception] add another testcase where an exception is rethrown explicitly (and therefore another behavior is expected)

7 years ago[exception] retain stack trace when an exception is rethrown
Bernhard Urban [Mon, 16 Jan 2017 13:45:52 +0000 (14:45 +0100)]
[exception] retain stack trace when an exception is rethrown

7 years agoMerge pull request #4234 from kumpera/katia-flavia
Rodrigo Kumpera [Wed, 18 Jan 2017 06:21:30 +0000 (01:21 -0500)]
Merge pull request #4234 from kumpera/katia-flavia

[runtime] Deny loading bad images.

7 years ago[bockbuild] Fix packaging regression
Alexis Christoforides [Tue, 17 Jan 2017 23:21:58 +0000 (18:21 -0500)]
[bockbuild] Fix packaging regression

7 years ago[tools] Add nuget-hash-extractor tool to help produce the runtime ignored assemblies...
Rodrigo Kumpera [Tue, 17 Jan 2017 22:31:32 +0000 (14:31 -0800)]
[tools] Add nuget-hash-extractor tool to help produce the runtime ignored assemblies table.

This tool takes a folder full of nupkg file and print macro invocations to add to image.c:ignored_assemblies.

Usage:

make download
make run

The download.sh script downloads all nugets we want to ignore. So update it before running if you have more you want to add.

7 years ago[runtime] Deny loading images that belong to a set of well known bad images.
Rodrigo Kumpera [Fri, 13 Jan 2017 19:00:05 +0000 (11:00 -0800)]
[runtime] Deny loading images that belong to a set of well known bad images.

Matching is done by assembly name and GUID. This should be enough to narrow
down the effect.

This approach is not very efficient as it waits for quite some of the loading
process to be on its way before detection. It works in the case that only a few
rare images are matched.

7 years ago[MacSDK] Fix typo in ironlangs manifest
Alexis Christoforides [Tue, 17 Jan 2017 21:33:26 +0000 (16:33 -0500)]
[MacSDK] Fix typo in ironlangs manifest

7 years ago[msvc] Update csproj files (#4254)
monojenkins [Tue, 17 Jan 2017 18:17:57 +0000 (18:17 +0000)]
[msvc] Update csproj files (#4254)

7 years ago[interpreter] fix castclass and isinst instruction
Bernhard Urban [Tue, 17 Jan 2017 16:26:32 +0000 (17:26 +0100)]
[interpreter] fix castclass and isinst instruction

`mono_object_isinst_mbyref_checked` was removed recently. however, this
code unnecessary checks cases that are covered by
`mono_object_isinst_checked` anyway.

7 years agoClean up few warnings
Marek Safar [Tue, 17 Jan 2017 12:47:19 +0000 (13:47 +0100)]
Clean up few warnings

7 years ago[tests] Use correct MONO_PATH directory for tools like MCS/ILASM
Alexander Köplinger [Tue, 17 Jan 2017 11:59:41 +0000 (12:59 +0100)]
[tests] Use correct MONO_PATH directory for tools like MCS/ILASM

We need to use the mcs/class/lib/build directory so Roslyn
works (it runs into AOT bugs in net_4_x).

This was fixed in a few other places already, fix more.

7 years ago[lldb] Embed the actual entry in the jit descriptor structure to avoid a roundtrip...
Zoltan Varga [Tue, 17 Jan 2017 09:13:38 +0000 (04:13 -0500)]
[lldb] Embed the actual entry in the jit descriptor structure to avoid a roundtrip. Add a timer for the amount of time spent in  __mono_jit_debug_register_code (). Avoid emitting info for specific trampolines for now.

7 years ago[tools] Add mdb2ppdb tool for converting a .mdb file to a portable pdb .pdb file...
Zoltan Varga [Mon, 16 Jan 2017 23:22:28 +0000 (18:22 -0500)]
[tools] Add mdb2ppdb tool for converting a .mdb file to a portable pdb .pdb file. (#4251)

7 years ago[runtime] Enable unwind_backtrace on ARM/linux (#4230)
Alexander Kyte [Mon, 16 Jan 2017 01:18:19 +0000 (20:18 -0500)]
[runtime] Enable unwind_backtrace on ARM/linux (#4230)

7 years ago[jit] Optimize constrained calls to Enum.GetHasCode () to avoid boxing. Fixes #51330...
Zoltan Varga [Mon, 16 Jan 2017 00:52:46 +0000 (19:52 -0500)]
[jit] Optimize constrained calls to Enum.GetHasCode () to avoid boxing. Fixes #51330. (#4250)

7 years ago[runtime] Remove glib usage from public headers. (#4242)
Zoltan Varga [Mon, 16 Jan 2017 00:32:48 +0000 (19:32 -0500)]
[runtime] Remove glib usage from public headers. (#4242)

7 years ago[jit] Fix a regression introduced by the addition of an assert in bf467001b10a0e4fe38...
Zoltan Varga [Sun, 15 Jan 2017 17:54:30 +0000 (12:54 -0500)]
[jit] Fix a regression introduced by the addition of an assert in bf467001b10a0e4fe389b1616ffc56009a11aaa5.

7 years ago[msvc] Update csproj files (#4249)
monojenkins [Sat, 14 Jan 2017 17:21:08 +0000 (17:21 +0000)]
[msvc] Update csproj files (#4249)

7 years agoMerge pull request #4246 from Unity-Technologies/mcs-generic-constraint-enumerator
Marek Safar [Fri, 13 Jan 2017 19:01:03 +0000 (20:01 +0100)]
Merge pull request #4246 from Unity-Technologies/mcs-generic-constraint-enumerator

[mcs] Ignore constraints on enumerator generic methods. Fixes #51506

7 years ago[mcs] Ignore constraints on enumerator generic methods. Fixes #51506
Josh Peterson [Fri, 13 Jan 2017 14:44:03 +0000 (09:44 -0500)]
[mcs] Ignore constraints on enumerator generic methods. Fixes #51506

This is similar to the change at 30f6c9933a6c0595a5d1d5cf681be39b4367446e

7 years ago[btls] Remove btls-cert-sync and integrate it into cert-sync
Alexander Köplinger [Fri, 13 Jan 2017 13:42:50 +0000 (14:42 +0100)]
[btls] Remove btls-cert-sync and integrate it into cert-sync

cert-sync already knew how to import into the BTLS cert store,
update it to always import into both stores so we don't need
the btls-cert-sync tool anymore.

7 years ago[Mono.Security] Consider _newFormat when building certificate collection in X509Store
Alexander Köplinger [Fri, 13 Jan 2017 13:38:02 +0000 (14:38 +0100)]
[Mono.Security] Consider _newFormat when building certificate collection in X509Store

It only looked at the legacy format where certificates had the *.cer
extension, the new BTLS store uses *.0 extension.

7 years ago[hybrid] Enable gsharedvt trampoline on amd64
Ludovic Henry [Thu, 12 Jan 2017 18:31:59 +0000 (16:31 -0200)]
[hybrid] Enable gsharedvt trampoline on amd64

7 years ago[hybrid] Ensure gsharedvt isn't disabled once it's been enabled
Ludovic Henry [Thu, 12 Jan 2017 18:24:06 +0000 (16:24 -0200)]
[hybrid] Ensure gsharedvt isn't disabled once it's been enabled

We would observe gsharedvt being disabled on desktop, even after passing --hybrid-aot. This would happen because we would call `mono_set_optimizations` without the `gsharedvt` optimisation enabled, thus calling `mono_set_generic_sharing_vt_supported(FALSE)` disabling again gsharedvt.

7 years ago[hybrid] Enable logging for methods not found with gsharedvt enabled
Ludovic Henry [Thu, 12 Jan 2017 18:22:59 +0000 (16:22 -0200)]
[hybrid] Enable logging for methods not found with gsharedvt enabled

7 years ago[Facades] Implementation types from CoreFX
Marek Safar [Fri, 13 Jan 2017 08:14:17 +0000 (09:14 +0100)]
[Facades] Implementation types from CoreFX

7 years agoMerge pull request #4198 from vkargov/vk-prevbb
Rodrigo Kumpera [Thu, 12 Jan 2017 23:13:49 +0000 (15:13 -0800)]
Merge pull request #4198 from vkargov/vk-prevbb

[jit] Fix the prev_bb quick lookup in mono_merge_basic_blocks().

7 years agoMerge pull request #4212 from BrzVlad/fix-ephemeron-leak
Rodrigo Kumpera [Thu, 12 Jan 2017 23:11:30 +0000 (15:11 -0800)]
Merge pull request #4212 from BrzVlad/fix-ephemeron-leak

[corlib] Avoid unbounded resizes of ephemeron arrays

7 years ago[runtime] Use mono_{object,class}_is_transparent_proxy () where possible
Aleksey Kliger [Thu, 12 Jan 2017 20:24:36 +0000 (15:24 -0500)]
[runtime] Use mono_{object,class}_is_transparent_proxy () where possible

instead of comparing the klass to mono_defaults.transparent_proxy_class directlyi.

7 years ago[runtime] Fix compile error in mono_domain_from_appdomain when DISABLE_REMOTING is...
Aleksey Kliger [Thu, 12 Jan 2017 19:48:48 +0000 (14:48 -0500)]
[runtime] Fix compile error in mono_domain_from_appdomain when DISABLE_REMOTING is defined

mono_defaults.transparent_proxy_class is #ifdef'd out when remoting is disabled.

7 years ago[runtime] Add an --enable-minimal=mdb option for disabling support for .mdb symbol...
Zoltan Varga [Thu, 12 Jan 2017 21:32:54 +0000 (16:32 -0500)]
[runtime] Add an --enable-minimal=mdb option for disabling support for .mdb symbol files.

7 years ago[mini] Initialize profiler in mini_init
Aleksey Kliger [Thu, 12 Jan 2017 18:48:15 +0000 (13:48 -0500)]
[mini] Initialize profiler in mini_init

Initializing the profiler later fixes a segfault with cooperative GC due to
thread info callbacks not being initialized.

7 years ago[ci] Fix interpreter config and simplify CI_TAGS checking in run-jenkins.sh
Alexander Köplinger [Thu, 12 Jan 2017 20:07:31 +0000 (21:07 +0100)]
[ci] Fix interpreter config and simplify CI_TAGS checking in run-jenkins.sh

The elif for the interpreter was done after the elif
that catches (almost) all cases so it was ignored.

Simplify and condense the CI_TAGS checking so it's
easier to understand and more readable.

7 years ago[configure] avoid avoid 'no symbols' warnings on darwin (2nd attempt)
Bernhard Urban [Tue, 10 Jan 2017 12:21:07 +0000 (13:21 +0100)]
[configure] avoid avoid 'no symbols' warnings on darwin (2nd attempt)

7 years ago[reflection] Coop handles for more icalls in `System.RuntimeTypeHandle` (#4220)
Aleksey Kliger (λgeek) [Thu, 12 Jan 2017 19:05:59 +0000 (14:05 -0500)]
[reflection] Coop handles for more icalls in `System.RuntimeTypeHandle` (#4220)

* [reflection] Use handles for ves_icall_RuntimeType_get_DeclaringMethod

* [reflection] Use handles for System.RuntimeType.GetInterfaces

* [reflection] Use handles for System.RuntimeType.GetInterfaceMapData

* [reflection] Use handles for System.RuntimeType.GetGenericArgumentsInternal

* [reflection] Use handles for System.RuntimeType.MakePointerType

* [reflection] Use handles for ves_icall_RuntimeType_get_DeclaringType

* [reflection] Use handles for more System.RuntimeType icalls

  - CreateInstanceInternal
  - GetConstructors_native
  - GetCorrespondingInflatedConstructor
  - GetCorrespondingInflatedMethod
  - GetEvents_native
  - GetFields_native
  - GetGenericParameterPosition
  - GetMethodsByName_native
  - GetNestedTypes_native
  - GetPacking
  - GetTypeCodeImplInternal
  - IsTypeExportedToWindowsRuntime
  - IsWindowsRuntimeObjectType
  - get_core_clr_security_level
  - make_array_type
  - make_byref_type

7 years ago[unwind] respect link register on ppc and use right dwarf register for PC depending...
Bernhard Urban [Thu, 12 Jan 2017 14:11:29 +0000 (15:11 +0100)]
[unwind] respect link register on ppc and use right dwarf register for PC depending on ELF spec version

fixes a regression introduced by 3baad19c6c34891fa04c59d9673cbbd7c91e5ac2

7 years ago[runtime] Support TransparentProxy-es in mono_domain_from_appdomain ().
Zoltan Varga [Thu, 12 Jan 2017 18:18:59 +0000 (13:18 -0500)]
[runtime] Support TransparentProxy-es in mono_domain_from_appdomain ().

7 years agoMerge pull request #3563 from lewurm/interpreter
Rodrigo Kumpera [Thu, 12 Jan 2017 17:46:05 +0000 (09:46 -0800)]
Merge pull request #3563 from lewurm/interpreter

reviving interpreter

7 years agoFixes build
Marek Safar [Thu, 12 Jan 2017 17:19:56 +0000 (18:19 +0100)]
Fixes build

7 years ago[Mono.Security] Add IVT to Xamarin dlls
Marek Safar [Thu, 12 Jan 2017 15:41:15 +0000 (16:41 +0100)]
[Mono.Security] Add IVT to Xamarin dlls

7 years agoMerge pull request #4235 from grendello/android_dns_servers
Marek Safar [Thu, 12 Jan 2017 11:56:41 +0000 (12:56 +0100)]
Merge pull request #4235 from grendello/android_dns_servers

[BCL,Android] Get DNS server addresses from Android

7 years ago[BCL,Android] Get DNS server addresses from Android
Marek Habersack [Wed, 11 Jan 2017 10:34:47 +0000 (11:34 +0100)]
[BCL,Android] Get DNS server addresses from Android

This change implements retrieving a list of DNS server addresses from Android
instead of attempting to parse `/etc/resolv.conf` which doesn't exist on
Android.
The list is retrieved by calling native function in Xamarin.Android that gets
the data from the system.

Part 2 of fix for https://bugzilla.xamarin.com/show_bug.cgi?id=48016

7 years agoBump cecil
Marek Safar [Thu, 12 Jan 2017 09:05:01 +0000 (10:05 +0100)]
Bump cecil

7 years ago[aot] Add 'profile-only' argument to only aot methods found in the profile file.
Zoltan Varga [Thu, 12 Jan 2017 08:32:06 +0000 (03:32 -0500)]
[aot] Add 'profile-only' argument to only aot methods found in the profile file.

7 years ago[aot] Add a 'verbose' argument to the aot compiler, use it to print out more informat...
Zoltan Varga [Thu, 12 Jan 2017 03:04:26 +0000 (22:04 -0500)]
[aot] Add a 'verbose' argument to the aot compiler, use it to print out more information on profile loading errors.

7 years ago[aot] Add support for loading multiple profile files.
Zoltan Varga [Thu, 12 Jan 2017 02:23:16 +0000 (21:23 -0500)]
[aot] Add support for loading multiple profile files.

7 years ago[lldb] Avoid a crash in mono_lldb_remove_method () if lldb is not enabled.
Zoltan Varga [Wed, 11 Jan 2017 22:56:11 +0000 (17:56 -0500)]
[lldb] Avoid a crash in mono_lldb_remove_method () if lldb is not enabled.

7 years ago[ilasm] Support 'nooptimization' attribute.
Jon Purdy [Tue, 10 Jan 2017 22:30:14 +0000 (14:30 -0800)]
[ilasm] Support 'nooptimization' attribute.

7 years ago[msvc] Add lldb.c to the vs project.
Zoltan Varga [Wed, 11 Jan 2017 21:50:12 +0000 (16:50 -0500)]
[msvc] Add lldb.c to the vs project.

7 years ago[lldb] Use mono_unwind_get_cie_program () instead of mono_arch_get_cie_program (...
Zoltan Varga [Wed, 11 Jan 2017 21:17:45 +0000 (16:17 -0500)]
[lldb] Use mono_unwind_get_cie_program () instead of mono_arch_get_cie_program () which might not be available on all platforms.

7 years ago[BTLS]: Fix callback method signatures.
Martin Baulig [Wed, 16 Nov 2016 15:49:36 +0000 (16:49 +0100)]
[BTLS]: Fix callback method signatures.

7 years ago[BTLS]: Remove unused local variables.
Martin Baulig [Wed, 16 Nov 2016 15:39:45 +0000 (16:39 +0100)]
[BTLS]: Remove unused local variables.

7 years ago[btls] Fix function declaration and add it to btls-key.h header
Alexander Köplinger [Wed, 11 Jan 2017 19:15:03 +0000 (20:15 +0100)]
[btls] Fix function declaration and add it to btls-key.h header

7 years ago[mcs] Don't do constraints on fabricated generic methods. Fixes #47672
Marek Safar [Wed, 11 Jan 2017 19:16:52 +0000 (20:16 +0100)]
[mcs] Don't do constraints on fabricated generic methods. Fixes #47672

7 years ago[System.Windows.Forms] Clean up misused __MonoCS__
Marek Safar [Tue, 10 Jan 2017 16:44:25 +0000 (17:44 +0100)]
[System.Windows.Forms] Clean up misused __MonoCS__

7 years ago[msvc] Update csproj files (#4226)
monojenkins [Wed, 11 Jan 2017 18:35:12 +0000 (19:35 +0100)]
[msvc] Update csproj files (#4226)

7 years agoMerge pull request #4224 from akoeplinger/fix-46602
Alexander Köplinger [Wed, 11 Jan 2017 18:32:38 +0000 (19:32 +0100)]
Merge pull request #4224 from akoeplinger/fix-46602

[btls] Create a native BTLS key handle for X509CertificateImplBtls.PrivateKey

7 years agoLldb support code for mono (#4225)
Zoltan Varga [Wed, 11 Jan 2017 17:12:32 +0000 (12:12 -0500)]
Lldb support code for mono (#4225)

* Initial version of lldb support code.

* [lldb] Keep all the debug entries in a linked list so lldb can read it after attaching to the process.

* [lldb] Add an --enable-minimal=lldb option to disable the code. Add locking.

* [lldb] Add support for dynamic methods by adding a new protocol entry for unloading code regions.

* [lldb] Add beginnings of a test suite using the lldb python bindings.

* [lldb] Emit line number info for methods, not used yet.

* [lldb] Add dummy fields to structures to make sure 64 bit fields are 64 bit aligned.

* [lldb] Finish emission of line number info.

* [lldb] Use mono_method_full_name () for computing method names.

* [lldb] Emit info for specific trampolines as well.

* [lldb] Add tests for line number info.

* [lldb] Fix unwind info encoding on x86.

* [lldb] Skip seq points with no native offset.

* [lldb] Add tests for breakpoints.

7 years ago[remoting] Coop handles for proxy objects (#4208)
Aleksey Kliger (λgeek) [Wed, 11 Jan 2017 15:38:49 +0000 (10:38 -0500)]
[remoting] Coop handles for proxy objects (#4208)

* [remoting] Use coop handles in several functions

  - icall System.Runtime.Remoting.Proxies.RealProxy.InternalGetTransparentProxy
  - mono_remote_class
  - mono_remote_class_vtable
  - mono_upgrade_remote_class
  - mono_object_handle_get_virtual_method
  - mono_object_handle_isinst
  - mono_object_handle_isinst_mbyref

* [reflection] Use handles in System.RuntimeTypeHandle.IsInstanceOfType

* [runtime] Rewrite mono_object_castclass_mbyref
  in terms of mono_object_handle_isinst_mbyref.

  This is an external API function that isn't used inside the runtime.

* [runtime] Remove mono_object_isinst_mbyref_checked

  It was a runtime internal funciton.

  All of its former callers have been converted to use mono_object_handle_isinst_mbyref.

7 years agoMerge pull request #4219 from marek-safar/corert-bump
Marek Safar [Wed, 11 Jan 2017 13:32:31 +0000 (14:32 +0100)]
Merge pull request #4219 from marek-safar/corert-bump

Update ValueTuple implementation

7 years ago[corlib] Avoid unnecessary ephemeron array resizes
Vlad Brezae [Wed, 11 Jan 2017 01:26:41 +0000 (03:26 +0200)]
[corlib] Avoid unnecessary ephemeron array resizes

7 years ago[corlib] Avoid unbounded resizes of ephemeron arrays
Vlad Brezae [Fri, 6 Jan 2017 00:46:29 +0000 (02:46 +0200)]
[corlib] Avoid unbounded resizes of ephemeron arrays

We compute the size of the array based on how many live ephemerons it stores, and not based on the previous size of the array which doesn't indicate anything.

Fixes leak from #47388.

7 years ago[corlib] Update ValueTuple implementation
Marek Safar [Tue, 10 Jan 2017 14:08:21 +0000 (15:08 +0100)]
[corlib] Update ValueTuple implementation

7 years agoBump corert
Marek Safar [Mon, 9 Jan 2017 16:50:21 +0000 (17:50 +0100)]
Bump corert

7 years ago[jit] Extends an array in mono_spill_global_vars () instead of asserting. Fixes ...
Zoltan Varga [Wed, 11 Jan 2017 09:31:21 +0000 (04:31 -0500)]
[jit] Extends an array in mono_spill_global_vars () instead of asserting. Fixes #50789. (#4201)

7 years agoMerge pull request #4222 from alexanderkyte/fix_mismatch_com_disabled
Marek Safar [Wed, 11 Jan 2017 08:44:17 +0000 (09:44 +0100)]
Merge pull request #4222 from alexanderkyte/fix_mismatch_com_disabled

[runtime] Fix corlib out of date error with disabled COM

7 years agoMono BCL test fixes so XM can run them (#4210)
Chris Hamons [Tue, 10 Jan 2017 22:59:08 +0000 (16:59 -0600)]
Mono BCL test fixes so XM can run them (#4210)

7 years ago[btls] Create a native BTLS key handle for X509CertificateImplBtls.PrivateKey
Alexander Köplinger [Tue, 10 Jan 2017 20:40:58 +0000 (21:40 +0100)]
[btls] Create a native BTLS key handle for X509CertificateImplBtls.PrivateKey

When setting X509CertificateImplBtls.PrivateKey we'd previously just
update the fallback instance. This causes problems if other code
internal to System.dll like MonoBtlsContext.SetPrivateCertificate()
tries to fetch the NativePrivateKey since it'd be null at that point.

This scenario happens e.g. with HttpListener, it supports a special
directory in ~/.config/.mono/httplistener which contains <port>.cer
and <port>.pvk files (public and private key) that will be used
as the server certificate. In that code we're reading the private
key from the file and assigning it to X509CertificateImplBtls.PrivateKey
without ever having a native BTLS handle.

The fix is to create such a native BTLS handle from the managed
private key when needed.

Note that we can't simply always do this e.g. in the PrivateKey
setter because the setter will be used with instances that
don't actually contain a private key. We can't throw in those
cases so instead we do it only when NativePrivateKey is accessed.

To make the code clearer and easier to read, `privateKey` was
renamed to `nativePrivateKey` in X509CertificateImplBtls.

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

7 years ago[btls] Call Reset() in X509CertificateImplBtls.Import()
Alexander Köplinger [Tue, 10 Jan 2017 20:37:30 +0000 (21:37 +0100)]
[btls] Call Reset() in X509CertificateImplBtls.Import()

Otherwise we'd not clear the fields like subjectName, issuerName, etc.
and the properties they're backing would continue to return old values.

7 years ago[btls] Free handle returned by EVP_PKEY_get1_RSA
Alexander Köplinger [Tue, 10 Jan 2017 21:14:47 +0000 (22:14 +0100)]
[btls] Free handle returned by EVP_PKEY_get1_RSA

From the header docs:

> The |get1| functions return a fresh reference to the underlying
> object or NULL if |pkey| is not of the correct type.

7 years ago[System] Use non-obsolete API in SslStream
Alexander Köplinger [Tue, 10 Jan 2017 20:44:29 +0000 (21:44 +0100)]
[System] Use non-obsolete API in SslStream