monojenkins [Tue, 24 Jan 2017 17:12:19 +0000 (17:12 +0000)]
[msvc] Update csproj files (#4287)
Vlad Brezae [Tue, 24 Jan 2017 11:03:05 +0000 (13:03 +0200)]
Merge pull request #3806 from BrzVlad/feature-parallel-gc-final
[sgen] Parallel concurrent major
Marek Safar [Mon, 23 Jan 2017 20:12:22 +0000 (15:12 -0500)]
Bump corert
Marek Safar [Mon, 23 Jan 2017 20:43:02 +0000 (15:43 -0500)]
[build] Add new profile
Ludovic Henry [Mon, 23 Jan 2017 20:29:07 +0000 (15:29 -0500)]
[socket] Ensure werror is initialized to 0
Marek Safar [Mon, 23 Jan 2017 17:56:35 +0000 (12:56 -0500)]
[build] Add System.Text.Encoding.CodePages dependency used for non-ascii files in build
monojenkins [Mon, 23 Jan 2017 17:19:22 +0000 (17:19 +0000)]
[msvc] Update csproj files (#4284)
Zoltan Varga [Mon, 23 Jan 2017 08:23:20 +0000 (03:23 -0500)]
[runtime] Remove duplicate unused SHA1 implementation.
Bernhard Urban [Fri, 20 Jan 2017 15:15:04 +0000 (16:15 +0100)]
[mono-sha1] make SHA1Transform thread-safe
should fix https://bugzilla.xamarin.com/show_bug.cgi?id=41133
The bug exposed itself as System.MethodAccessExceptionMethod which is
thrown when a method isn't allowed to call another method. Several
things are checked for this: Among other things, the runtime checks if
the public key in the friend list of the caller assembly matches the
public key in the callee assembly.
The issue here was that two threads computed the SHA1 at the same time,
using the same buffer and therefore computing garbage.
Zoltan Varga [Mon, 23 Jan 2017 10:48:54 +0000 (05:48 -0500)]
[aot] Allow the redirection of aot profile output to an already opened fd using outfile=#<fdnum>.
Zoltan Varga [Wed, 18 Jan 2017 00:50:19 +0000 (19:50 -0500)]
Enable AOT for all roslyn assemblies.
Alexander Köplinger [Mon, 23 Jan 2017 02:11:40 +0000 (03:11 +0100)]
Fix a few cppcheck errors (#4281)
* [zlib] Fix CppCheck error "Shifting a negative value is undefined behaviour"
This matches what upstream now does:
https://github.com/madler/zlib/blob/
2edb94a3025d288dc251bc6cbb2c02e60fbd7438/inflate.c#L1529
* [scripts] Fix CppCheck error "Memory leak: nargv"
* [tests] Fix CppCheck error: "Memory leak: reference"
* [aot-compiler] Fix CppCheck error: "Resource leak: infile"
* [metadata] Fix CppCheck error: "Uninitialized variable: ret"
Rodrigo Kumpera [Sun, 22 Jan 2017 15:20:38 +0000 (10:20 -0500)]
Merge pull request #4274 from kumpera/cctor-abort
[runtime] Latest attempt at the cctor abort race. All tests passing locally.
Alexander Köplinger [Sun, 22 Jan 2017 02:13:56 +0000 (03:13 +0100)]
Fix tarball build
w32api.h wasn't included in any sources in the Makefile.
Also fix path in vcxproj, the file is in mono/utils not mono/metadata.
Zoltan Varga [Sat, 21 Jan 2017 11:04:22 +0000 (06:04 -0500)]
[aot] Init the plt before setting acfg->methods_loaded which is accessed outside the lock.
Ludovic Henry [Sat, 21 Jan 2017 01:15:19 +0000 (20:15 -0500)]
[io-layer] Extract error (#4279)
* [file] Remove dead field
* [process] Remove wapi_getpid
* [process] Remove CloseHandle
* [io-layer] Remove dead MONO_TRACE
* [io-layer] Extract error
* [io-layer] Extract wapi.h
* [io-layer] Remove the io-layer
Zoltan Varga [Sat, 21 Jan 2017 00:02:43 +0000 (19:02 -0500)]
[runtime] Fix the loaded llvm build.
Marek Safar [Fri, 20 Jan 2017 22:23:58 +0000 (23:23 +0100)]
[corlib] Removes unused method
Alexander Köplinger [Fri, 20 Jan 2017 19:34:29 +0000 (20:34 +0100)]
[btls] Remove last traces of statically linked btls
It was removed in
d831fc4ec4c90930026342431641e529b2e34dc8.
Alexander Köplinger [Fri, 20 Jan 2017 19:33:37 +0000 (20:33 +0100)]
[btls] Add dependency on btls source files in Makefile so change tracking works
Alexander Köplinger [Fri, 20 Jan 2017 18:49:03 +0000 (19:49 +0100)]
Really fix the file mode this time...
Sorry, should probably get a coffee :(
Alexander Köplinger [Fri, 20 Jan 2017 18:44:36 +0000 (19:44 +0100)]
Fix inadvertent file mode change in previous commit
Alexander Köplinger [Fri, 20 Jan 2017 18:40:55 +0000 (19:40 +0100)]
[Facades] Refresh netstandard20 typeforwarders
Alexander Köplinger [Fri, 20 Jan 2017 15:59:55 +0000 (16:59 +0100)]
[profiler] Add mono-profiler-aot.h to EXTRA_DIST
This broke the tarball build.
Ludovic Henry [Fri, 20 Jan 2017 16:32:48 +0000 (11:32 -0500)]
[io-layer] Extract file (#4255)
* [io-layer] Merge io related headers
* [io-layer] Remove global variable _wapi_had_shut_down
* [io-layer] Inline io-portability.c file into io.c
* [io-layer] Inline locking.c file into io.c
* [io-layer] Inline posix.c file into io.c
* [file] Move metadata/file-io* files to metadata/w32file*
* [io-layer] Extract file functions
* [file] Remove overlapped parameter which is always NULL
* [file] Remove SECURITY_ATTRIBUTES parameter which is always NULL
* [file] Remove GET_FILEEX_INFO_LEVELS parameter which is always GetFileExInfoStandard
* [file] Replace ULARGE_INTEGER parameter type with guint64
* [file] Replace WIN32_FILE_ATTRIBUTE_DATA parameter type with MonoIOStat
* [file] Remove mono_w32file_create unused parameter tmplate
* [file] Fix win32 build
Aleksey Kliger (λgeek) [Fri, 20 Jan 2017 15:35:02 +0000 (10:35 -0500)]
[reflection] Use coop handles for MonoMethod icalls (#4272)
* [reflection] Use coop handles for MonoMethod.GetGenericArguments
* [reflection] Use handles for ves_icall_MonoMethod_GetGenericMethodDefinition
and two more trivial functions:
- ves_icall_MonoMethod_get_IsGenericMethod
- ves_icall_MonoMethod_get_IsGenericMethodDefinition
* [runtime] Add mono_method_get_base_method function
- Internal function in class-internals.h, for now.
- Code factored out from ves_icall_MonoMethod_get_base_method
- ves_icall_MonoMethod_get_base_method just calls this utility and wraps on
reflection objects, using handles.
* [reflection] Use coop handles for ves_icall_MonoMethod_MakeGenericMethod_impl
* [reflection] Use coop handles for ves_icall_MonoMethod_GetPInvoke
* [reflection] Use coop handles for ves_icall_MonoMethod_get_core_clr_security_level
* [reflection] Use coop handles for ves_icall_MonoMethod_get_name
Vlad Brezae [Fri, 20 Jan 2017 15:02:36 +0000 (17:02 +0200)]
[sgen] Always use a context specialized gray stack
Alexander Köplinger [Fri, 20 Jan 2017 15:00:56 +0000 (16:00 +0100)]
[bcl] Rename FEATURE_MONO_CAS to MONO_FEATURE_CAS
To be consistent with the other MONO_FEATURE_* defines.
Zoltan Varga [Fri, 20 Jan 2017 10:08:50 +0000 (05:08 -0500)]
[runtime] Mono.Dynamic.Interpreter is no more, delete it from the list of assemblies compiled by make fullaotcheck.
Zoltan Varga [Fri, 20 Jan 2017 08:28:22 +0000 (03:28 -0500)]
[runtime] Fix locking issues while accessing MonoClass bitfields. (#4275)
Alexander Köplinger [Fri, 20 Jan 2017 02:06:05 +0000 (03:06 +0100)]
[System.Transactions] Add stubs and visibility fixes for netstandard20 APIs
Rodrigo Kumpera [Fri, 20 Jan 2017 02:04:46 +0000 (18:04 -0800)]
[runtime] Poll for interruption on cctor execution if mono_threads_end_abort_protected_block returns true.
Rodrigo Kumpera [Fri, 20 Jan 2017 02:02:20 +0000 (18:02 -0800)]
[runtime] Add new thread state INTERRUPT_REQUEST_DEFERRED to fix race with abort protected blocks.
The way this works is that when we install a protected block, we change a interrupt requested to interrupt request deferred.
Then, when protected block count drops to zero, we switch back and inform the caller to poll for interrupts.
Additionally, when interrupting, we set it to deferred if there's a protected block in effect and it's not a self interrupt.
Rodrigo Kumpera [Fri, 20 Jan 2017 02:01:43 +0000 (18:01 -0800)]
[threading] Change mono_thread_try_resume_interruption to check for the abort threshold too.
Rodrigo Kumpera [Fri, 20 Jan 2017 02:00:46 +0000 (18:00 -0800)]
[runtime] Workaround in Environment::Exit icall in case current thread has an interruption token installed. Tracked under bug #51653.
Rodrigo Kumpera [Fri, 20 Jan 2017 01:59:16 +0000 (17:59 -0800)]
[mono/tests] Use multiple return values to make it easy to pinpoint the failure.
Michael DeRoy [Fri, 20 Jan 2017 00:28:47 +0000 (19:28 -0500)]
Fix memory leak when creating sequence points (#4273)
Vlad Brezae [Tue, 18 Oct 2016 13:32:58 +0000 (16:32 +0300)]
[sgen] Always use one concurrent worker
We have the infrastructure to use multiple concurrent workers, but, in theory, this could starve the mutator threads. In the future, we should do additional research and consider using multiple concurrent workers.
Vlad Brezae [Fri, 21 Oct 2016 14:46:08 +0000 (17:46 +0300)]
[sgen] Awaken workers if they are finished while there is work to steal
Vlad Brezae [Mon, 17 Oct 2016 10:20:12 +0000 (13:20 +0300)]
[sgen] Use non-synchronized gray stack when only one worker is running
Vlad Brezae [Fri, 21 Oct 2016 11:05:35 +0000 (14:05 +0300)]
[sgen] Spread the initial roots of workers
A parallel phase starts with enqueuing of jobs and of sections to the distribute gray queue. In order to have a good work distribution we split jobs into multiple smaller jobs. We now do the same with the initial gray queue sections, by trying to always have a minimum number of starting sections.
Vlad Brezae [Fri, 14 Oct 2016 17:14:35 +0000 (20:14 +0300)]
[sgen] Worker gray queue stealing
When a worker is out of work, it tries to steal a section from the bottom of another workers' private gray queue. This operation takes a lock. Pushes/Pops done by the owner thread on its own private gray queue are done in lock free fashion, using membar/CAS (at section level).
Vlad Brezae [Wed, 12 Oct 2016 10:57:46 +0000 (13:57 +0300)]
[sgen] Properly init the size of a new gray queue section
To avoid confusion
Vlad Brezae [Fri, 30 Sep 2016 09:38:25 +0000 (12:38 +0300)]
[profiler] Fix vtune build
Vlad Brezae [Thu, 29 Sep 2016 11:30:15 +0000 (14:30 +0300)]
[sgen] Add worker index to the binary protocol entries
Vlad Brezae [Thu, 29 Sep 2016 10:36:08 +0000 (13:36 +0300)]
[sgen] Clean exit if we can't read binprot file due to unsupported version
Vlad Brezae [Wed, 28 Sep 2016 23:16:06 +0000 (02:16 +0300)]
[sgen] Switch to nopar context when we are left with one worker
Non-parallel context is significantly faster since it doesn't require CAS-ing. Use it when we are left with only one worker so we don't regress performance.
Vlad Brezae [Wed, 28 Sep 2016 13:59:34 +0000 (16:59 +0300)]
[sgen] Parallel mod union scan jobs
Vlad Brezae [Thu, 19 Jan 2017 20:20:33 +0000 (22:20 +0200)]
[sgen] Avoid allocating mod union cardtables for los objects when scanning
We should consider doing the same when marking the mod union card table, if we have no cards to mark.
Vlad Brezae [Wed, 28 Sep 2016 22:32:18 +0000 (01:32 +0300)]
[sgen] Remove unused function
Vlad Brezae [Tue, 27 Sep 2016 21:21:11 +0000 (00:21 +0300)]
[sgen] Use parallel workers when finishing concurrent collections
Vlad Brezae [Thu, 20 Oct 2016 23:30:32 +0000 (02:30 +0300)]
[sgen] Make getting object size safe with parallel collector
Vlad Brezae [Wed, 28 Sep 2016 13:16:32 +0000 (16:16 +0300)]
[sgen] Support cementing from multiple workers
Vlad Brezae [Wed, 28 Sep 2016 21:40:06 +0000 (00:40 +0300)]
[sgen] Disable concurrent queue redirection
We used to support the case where workers are running and when the main gc thread populates the redirected gray queue, these queue sections are moved to the workers distribute gray queue from where they are distributed to all the workers. In order to simplify the process, the main gc thread should never do any relevant gc work concurrently with the workers. This means that we no longer need to handle the above case.
Vlad Brezae [Tue, 27 Sep 2016 14:48:22 +0000 (17:48 +0300)]
[sgen] Add parallel copying infrastructure
Parallel copying should happen only when the world is stopped and the gc thread is not running. Each thread allocates from its own block freelist, which he obtains by pop-ing the global block free list.
When a worker has to copy an object, it first allocates a new object in a major block and initialises its contents. Afterwards it tries to forward the vtable, using a CAS operation. If the vtable already contains a forwarded object, we just return the forwarded address, and the object that we allocated will be left to die (we expect this case to be extremely unlikely, otherwise we could re-enque the free object in its block's freelist).
After the copying is done, the caller has the duty to update references and mark the new object (which we have to do it also with a CAS).
FIXME : This means that an object can reside on a gray queue without being marked, so another thread can enque again this same object. We should refactor this copying/mark/enqueing mechansim to avoid these issues.
Vlad Brezae [Fri, 23 Sep 2016 12:31:35 +0000 (15:31 +0300)]
[sgen] Add free lists for each workers
These will be used for object allocation by the workers
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.
Vlad Brezae [Wed, 1 Jun 2016 18:23:46 +0000 (21:23 +0300)]
[sgen] Remove unused parameter
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.
Vlad Brezae [Tue, 31 May 2016 22:28:25 +0000 (01:28 +0300)]
[sgen] Split precleaning into multiple jobs
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.
Vlad Brezae [Mon, 30 May 2016 04:34:04 +0000 (07:34 +0300)]
[sgen] Enable multiple workers
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.
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.
Vlad Brezae [Mon, 30 May 2016 01:25:10 +0000 (04:25 +0300)]
[sgen] Add separate scan/copy context for concurrent parallel configuration
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.
Vlad Brezae [Tue, 17 May 2016 17:24:06 +0000 (20:24 +0300)]
[sgen] Support multiple workers
Rodrigo Kumpera [Fri, 16 Dec 2016 01:58:32 +0000 (23:58 -0200)]
[runtime] Collapse interruption_requested and abort_protected_block_count into a single var.
This change doesn't change behavior.
Aleksey Kliger [Thu, 12 Jan 2017 15:36:21 +0000 (10:36 -0500)]
[sre] Use coop handles in parts of sre.c
* Convert ves_icall_RuntimeType_MakeGenericType to use handles.
* The above necessitates converting mono_reflection_bind_generic_parameters and
mono_reflection_type_get_handle (renamed to
mono_reflection_type_handle_mono_type) to use handles.
* From there we have to touch a lot of builder internals:
- ves_icall_DynamicMethod_create_dynamic_method
- ves_icall_ModuleBuilder_RegisterToken
- ves_icall_ModuleBuilder_basic_init
- ves_icall_ModuleBuilder_getMethodToken
- ves_icall_ModuleBuilder_getToken
- ves_icall_ModuleBuilder_getUSIndex
- ves_icall_TypeBuilder_create_runtime_class
* As well as runtime functions
- mono_image_insert_string
- mono_image_create_token
- mono_class_{get,has,set}_ref_info
- mono_reflection_is_usertype
- mono_dynimage_encode_reflection_sighelper
- mono_dynamic_image_register_token
Miguel de Icaza [Thu, 19 Jan 2017 18:48:14 +0000 (13:48 -0500)]
Add mdb2ppdb man page, remove prj2make man page
Rodrigo Kumpera [Thu, 19 Jan 2017 18:26:54 +0000 (10:26 -0800)]
Merge pull request #4269 from kumpera/nuget-fixing-round2
[runtime] A pair of small fixes for the ignore assembly work.
Vlad Brezae [Mon, 16 May 2016 23:23:23 +0000 (02:23 +0300)]
[sgen] Add multiple thread support for sgen thread pool
Vlad Brezae [Mon, 16 May 2016 20:15:41 +0000 (23:15 +0300)]
[sgen] Add parallel configuration to the sgen testing suite
Vlad Brezae [Mon, 16 May 2016 19:57:17 +0000 (22:57 +0300)]
[sgen] Add option for a new parallel concurrent collector
Vlad Brezae [Mon, 16 May 2016 19:41:06 +0000 (22:41 +0300)]
[sgen] Remove unused prototypes
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).
Ludovic Henry [Thu, 19 Jan 2017 14:31:01 +0000 (09:31 -0500)]
[threads] Fix crash on unknown policy (#4264)
Fixes https://bugzilla.xamarin.com/show_bug.cgi?id=51545
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
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
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.
Rodrigo Kumpera [Thu, 19 Jan 2017 01:54:32 +0000 (17:54 -0800)]
[runtime] A pair of small fixes for the ignore assembly work.
image.c (do_mono_image_load): Ignore refonly images when checking for ignorable assemblies.
icall.c (ves_icall_System_Reflection_Assembly_InternalGetAssemblyName): Load the image in ref only mode.
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/
Alexis Christoforides [Wed, 18 Jan 2017 20:21:07 +0000 (15:21 -0500)]
[bockbuild] Fix a packaging regression
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.
Rodrigo Kumpera [Wed, 18 Jan 2017 15:50:51 +0000 (07:50 -0800)]
Fix the windows build.
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
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`.
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.
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.
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.
Bernhard Urban [Wed, 18 Jan 2017 13:07:14 +0000 (05:07 -0800)]
[mini-posix] fix indent
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)
Bernhard Urban [Mon, 16 Jan 2017 13:45:52 +0000 (14:45 +0100)]
[exception] retain stack trace when an exception is rethrown
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.
Alexis Christoforides [Tue, 17 Jan 2017 23:21:58 +0000 (18:21 -0500)]
[bockbuild] Fix packaging regression
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.
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.
Alexis Christoforides [Tue, 17 Jan 2017 21:33:26 +0000 (16:33 -0500)]
[MacSDK] Fix typo in ironlangs manifest
monojenkins [Tue, 17 Jan 2017 18:17:57 +0000 (18:17 +0000)]
[msvc] Update csproj files (#4254)
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.