Vlad Brezae [Mon, 30 May 2016 16:06:09 +0000 (19:06 +0300)]
Merge pull request #3056 from BrzVlad/fix-multiple-binprot
[sgen] Exclusive write on binary protocol file
Vlad Brezae [Mon, 30 May 2016 16:04:28 +0000 (19:04 +0300)]
Merge pull request #3057 from BrzVlad/fix-major-log3
[sgen] Refactor collection logging
Alexander Köplinger [Mon, 30 May 2016 10:36:55 +0000 (12:36 +0200)]
Merge pull request #3071 from adamburgess/fix-ci-links
Update README with new CI builds/badges
Zoltan Varga [Mon, 30 May 2016 07:40:56 +0000 (03:40 -0400)]
[jit] Emit code to throw method access exceptions instead of throwing them from the JIT, so the stack trace is correct. Fixes #41280. (#3072)
Zoltan Varga [Mon, 30 May 2016 02:25:36 +0000 (22:25 -0400)]
Revert "[jit] Emit code to throw method access exceptions instead of throwing them from the JIT, so the stack trace is correct. Fixes #41280."
This reverts commit
04171d2c267d2db54b36877809dca7a890adcfc5.
Revert this as it causes test failures.
Zoltan Varga [Mon, 30 May 2016 02:25:12 +0000 (22:25 -0400)]
Revert "[jit] Fix
04171d2c267d2db54b36877809dca7a890adcfc5 so it actually works."
This reverts commit
6683c128e4510187b0a6b8a6585095dcd25984c2.
Revert this as it causes test failures.
Alexander Köplinger [Mon, 30 May 2016 00:11:33 +0000 (02:11 +0200)]
[System.Transactions] Fix the build broken by https://github.com/mono/mono/pull/3061
Marek Safar [Sun, 29 May 2016 06:22:45 +0000 (08:22 +0200)]
Merge pull request #3061 from Thorium/master
#23050 TransactionScopeAsyncFlowOption
Zoltan Varga [Sun, 29 May 2016 04:24:08 +0000 (00:24 -0400)]
Zoltan Varga [Sun, 29 May 2016 04:21:58 +0000 (00:21 -0400)]
[jit] Emit code to throw method access exceptions instead of throwing them from the JIT, so the stack trace is correct. Fixes #41280.
Adam Burgess [Sat, 28 May 2016 10:03:20 +0000 (20:03 +1000)]
Update README with new CI builds/badges
Adds the debian arm64 build and also changes the amd64/i386 builds to be ubuntu-specific
Zoltan Varga [Sat, 28 May 2016 05:52:01 +0000 (01:52 -0400)]
[gsharedvt] Fix the mapping of reference generic instances in gsharedvt wrappers, they need to be the same as references.
Bernhard Urban [Fri, 27 May 2016 23:50:06 +0000 (16:50 -0700)]
Merge pull request #3002 from lewurm/typespec-caching
[aot] use hashtable for caching typespec of classes
Vlad Brezae [Mon, 23 May 2016 18:01:24 +0000 (21:01 +0300)]
[sgen] Exclusive write on binary protocol file
If we have binary protocol enabled and the debugged executable will spawn a new mono instance, both of the processes will write to the same debug file, because they share the environment variable, producing invalid results. Add a pid sufix if output file exists in order to separately obtain binary protocol outputs from all mono instances.
Aleksey Kliger [Fri, 27 May 2016 20:19:29 +0000 (16:19 -0400)]
[s390x] Fix the build2
Aleksey Kliger [Fri, 27 May 2016 20:15:42 +0000 (16:15 -0400)]
[s390x] Fix the build
Broken by
b884d17
Miguel de Icaza [Fri, 27 May 2016 20:13:17 +0000 (16:13 -0400)]
[genproj] Update from Ankit's project
Alexander Köplinger [Fri, 27 May 2016 18:20:18 +0000 (20:20 +0200)]
Merge pull request #3037 from mono/system_io_compression_datetime
[System.IO.Compression/.Filesystem] Fixed handling of date/time for Zip entries
Miguel de Icaza [Fri, 27 May 2016 17:52:22 +0000 (13:52 -0400)]
[genproj] Run update-solution-files to track master
Miguel de Icaza [Fri, 27 May 2016 17:27:32 +0000 (13:27 -0400)]
Add another build step
Miguel de Icaza [Fri, 27 May 2016 17:24:08 +0000 (13:24 -0400)]
[genproj] Do not use \r on the Unix parts of the build hook, add RabbitMQ hooks
Vlad Brezae [Wed, 25 May 2016 00:04:40 +0000 (03:04 +0300)]
[sgen] Refactor collection logging
We had the problem that we were logging at sweep finish which can happen anytime. If we happen to suspend a thread, while doing a GC, in the middle of logging we might deadlock if we wait for sweep to finish (which can be blocked waiting for logging).
When logging multiple collections in the same stw pause, we would not log the real results for both collections since we would compute the major sizes at the very end.
We logged collections in sgen_perform_collection, outside the function calls for specific collections, which makes it cumbersome to add additional log entries.
This refactoring solves these issues by having GC code log info at any time. This log entry is enqueued in a list of pending entries. We flush the list of logs, as before, at the end of the stw, when the world is restarted.
Alexander Köplinger [Fri, 27 May 2016 15:47:54 +0000 (17:47 +0200)]
Merge pull request #3060 from directhex/pr-in-version.h
[jenkins] Include PR number in version.h if PR builder env is set
Aleksey Kliger (λgeek) [Fri, 27 May 2016 14:54:45 +0000 (10:54 -0400)]
Merge pull request #3050 from lambdageek/dev/monoerror-to_utf8
[runtime] Mark mono_string_to_utf8 external only.
Alexander Köplinger [Fri, 27 May 2016 14:16:09 +0000 (16:16 +0200)]
Merge pull request #3058 from rolfbjarne/git-instead-of-ssh
[offsets-tool] Use git protocol instead of ssh to allow anonymous access.
Alexander Köplinger [Fri, 27 May 2016 14:06:57 +0000 (16:06 +0200)]
Merge pull request #3062 from madewokherd/win32threadscompile
[win32_threads] Mark an inline function as static.
Marek Safar [Fri, 27 May 2016 14:00:05 +0000 (16:00 +0200)]
[corlib] Clean up MonoType declaration
Joao Matos [Fri, 27 May 2016 12:03:57 +0000 (13:03 +0100)]
[System.IO.Compression.FileSystem] Fixed date time when creating Zip entries from filesystem files.
Joao Matos [Fri, 27 May 2016 12:03:02 +0000 (13:03 +0100)]
[System.IO.Compression] Added test for Zip entry timestamp modification.
Tuomas Hietanen [Fri, 27 May 2016 09:40:09 +0000 (10:40 +0100)]
Made changes suggested by marek.
Jo Shields [Thu, 26 May 2016 10:49:59 +0000 (11:49 +0100)]
[jenkins] Include PR number in version.h if PR builder env is set
A while ago, we switched our PR builders from using the Github-provided PR branch head (i.e. `pull/merge/XXXX`) to the exact sha1 of the latest commit on the PR (i.e. `
abcdefabc`). This change was needed for the performance team, otherwise the changes they wanted to test would be rebased against a new master several times per day, breaking their ability to meaningfully track the changes in a PR.
As a side effect of this, `version.h` went from setting the version from `XXXX/
abcdefabc` to `explicit/
abcdefabc`, and the Jenkins PR packages use the branch name `explicit` instead of the actual PR number `XXXX`, which is pretty bad from a UX perspective.
This change checks for the `ghprbPullId` environment variable and uses it instead of the actual branch name or `explicit` - it is always set on PR builds.
Zoltan Varga [Fri, 27 May 2016 02:50:23 +0000 (22:50 -0400)]
Remove an unused icall.
monojenkins [Fri, 27 May 2016 01:25:07 +0000 (02:25 +0100)]
Merge pull request #3026 from lewurm/is-call-macro
[mini] small improvements around `MONO_IS_CALL` macro and `local-prop`
showed up in vtunes when running
```
./mono/mini/mono-sgen --stats -O=all --aot=threads=1,asmonly ~/work/benchmarker/tests/fsharp/lib/bootstrap/4.0/FSharp.Compiler.dll
```
also, I think when `OP_DYN_CALL` was introduced, it wasn't added to the `MONO_IS_CALL` macro. @vargaz, what do you think?
Zoltan Varga [Thu, 26 May 2016 22:55:57 +0000 (18:55 -0400)]
[sdb] Avoid calling mono_thread_current () in the profiler shutdown callback, sends a 0 thread id instead, the managed side ignores it.
Bernhard Urban [Fri, 20 May 2016 18:52:47 +0000 (11:52 -0700)]
[mini] avoid checking condition twice in local-prop
Bernhard Urban [Fri, 20 May 2016 18:52:44 +0000 (11:52 -0700)]
[mini] simplify MONO_IS_CALL macro
Zoltan Varga [Thu, 26 May 2016 22:33:41 +0000 (18:33 -0400)]
Merge System/MonoType.cs into ReferenceSources/RuntimeType.cs, use th… (#3045)
* Merge System/MonoType.cs into ReferenceSources/RuntimeType.cs, use the latter in the runtime code.
* [sdb] Fix a test which referenced System.MonoType.
Vincent Povirk [Thu, 26 May 2016 21:50:42 +0000 (16:50 -0500)]
[win32_threads] Mark an inline function as static.
If the C compiler decides not to inline the function, and it's not declared
static, it'll look for an extern version, and linking will fail.
Aleksey Kliger [Wed, 25 May 2016 18:01:22 +0000 (14:01 -0400)]
[runtime] Mark mono_string_to_utf8 external only.
Runtime should use mono_string_to_utf8_checked.
Aleksey Kliger (λgeek) [Thu, 26 May 2016 15:26:33 +0000 (11:26 -0400)]
Merge pull request #3055 from lambdageek/dev/monoerror-cleanup-cleanup
[runtime] Disallow unintended reuse of MonoError after mono_error_cleanup
Tuomas Hietanen [Thu, 26 May 2016 14:07:30 +0000 (15:07 +0100)]
Merge branch 'master' of https://github.com/mono/mono
Tuomas Hietanen [Thu, 26 May 2016 14:04:25 +0000 (15:04 +0100)]
#23050 First attempt to create TransactionScopeAsyncFlowOption on Mono.
This is a feature that is missing. However I don't have Mono,
so has to be compiled and tested.
Ludovic Henry [Thu, 26 May 2016 13:26:51 +0000 (15:26 +0200)]
Merge pull request #3028 from lateralusX/jlorenss/threadpool_warning
Incorrect warning message on thread pool startup in full AOT:ed Windows build.
Marek Safar [Thu, 26 May 2016 09:15:27 +0000 (11:15 +0200)]
Merge pull request #3047 from marek-safar/rs-corlib
[corlib] More System.Runtime.InteropServices from referencesource
Rolf Bjarne Kvinge [Thu, 26 May 2016 07:54:40 +0000 (09:54 +0200)]
[offsets-tool] Use git protocol instead of ssh to allow anonymous access.
Zoltan Varga [Thu, 26 May 2016 03:58:36 +0000 (23:58 -0400)]
Aot runtime noraise3 (#3054)
* [aot] Make mono_aot_get_method () external only, use mono_aot_get_method_checked () instead.
* [aot] Avoid raising exceptions in the AOT runtime.
Aleksey Kliger [Wed, 25 May 2016 23:27:39 +0000 (19:27 -0400)]
[reflection] Reinitialize MonoError after mono_error_convert_to_exception
Aleksey Kliger [Wed, 25 May 2016 23:23:16 +0000 (19:23 -0400)]
[mini] Use an inner MonoError in instance testing in first pass EH
Aleksey Kliger [Wed, 25 May 2016 22:25:37 +0000 (18:25 -0400)]
[runtime] Disallow unintentional reuse of MonoError after mono_error_cleanup
Aleksey Kliger [Wed, 25 May 2016 22:09:16 +0000 (18:09 -0400)]
[reflection] Cleanup uses of mono_error_cleanup
MonoError must be explicitly reinitialized if it is used again after
mono_error_cleanup. But it is better to introduce an explicit inner
MonoError when possible.
Zoltan Varga [Wed, 25 May 2016 20:59:57 +0000 (16:59 -0400)]
[llvmonly] Avoid calling mono_error_raise_exception () to throw exceptions during method initialization, call mono_llvm_throw_exception () directly.
Alexander Köplinger [Wed, 25 May 2016 19:50:30 +0000 (21:50 +0200)]
Merge pull request #3051 from mono/revert-3043-aot-runtime-noraise
Revert "[aot] Avoid raising exceptions in the AOT runtime."
Alexander Köplinger [Wed, 25 May 2016 19:48:39 +0000 (21:48 +0200)]
Revert "[aot] Avoid raising exceptions in the AOT runtime."
Sebastien Pouliot [Wed, 25 May 2016 19:11:22 +0000 (15:11 -0400)]
Merge pull request #2996 from UCIS/patch-7
Generate RSA keys using public exponent 65537 (was 17)
Alexander Köplinger [Wed, 25 May 2016 17:28:55 +0000 (19:28 +0200)]
Merge pull request #3036 from tritao/windowsbase_zip_datetime
[WindowsBase] Fixed System.IO.Packaging creating Zip archive with wrong date time entries
Bernhard Urban [Wed, 25 May 2016 16:56:39 +0000 (09:56 -0700)]
Merge pull request #3016 from lewurm/small-arm-cleanup
[mini-arm] remove useless case for iphone_abi
Bernhard Urban [Tue, 17 May 2016 17:43:25 +0000 (10:43 -0700)]
[aot] use hashtable for caching typespec of classes
I had a look in vtunes for
```
$ mono/mini/mono-sgen --stats -O=all --aot=threads=1,asmonly ~/work/benchmarker/tests/fsharp/lib/bootstrap/4.0/FSharp.Compiler.dll
```
and that method showed up as hot.
With this change I get an improvement from ~27.4s down to ~24.3s on my
machine.
Zoltan Varga [Wed, 25 May 2016 16:35:39 +0000 (12:35 -0400)]
[aot] Avoid raising exceptions in the AOT runtime. (#3043)
Marek Safar [Wed, 25 May 2016 15:01:34 +0000 (17:01 +0200)]
[WindowsBase] Fix for the new .rels file when it's shorter than the old. A fix for #41203
Aleksey Kliger (λgeek) [Wed, 25 May 2016 14:36:20 +0000 (10:36 -0400)]
Merge pull request #3038 from lambdageek/dev/monoerror-threads
[threadpool-ms] Assert if queuing work items fails in the IO selector
Aleksey Kliger (λgeek) [Wed, 25 May 2016 14:12:25 +0000 (10:12 -0400)]
Merge pull request #3042 from lambdageek/dev/monoerror-upgrade_remote_class
[remoting] Pass MonoError to mono_upgrade_remote_class
Aleksey Kliger (λgeek) [Wed, 25 May 2016 13:56:53 +0000 (09:56 -0400)]
Merge pull request #3044 from lambdageek/dev/monoerror-llvm
[llvm] Convert MonoError to LLVM ctx failure in process_call
Marek Safar [Wed, 25 May 2016 13:24:41 +0000 (15:24 +0200)]
Merge pull request #3046 from redbrain/cfnetworking-null-reference
ContentStream can be null
Philip Herron [Wed, 25 May 2016 13:18:59 +0000 (14:18 +0100)]
ContentStream can be null if no bytes were available and is closed will cause null-exception
Marek Safar [Wed, 25 May 2016 12:59:06 +0000 (14:59 +0200)]
[corlib] More System.Runtime.InteropServices from referencesource
Marek Safar [Wed, 25 May 2016 09:01:30 +0000 (11:01 +0200)]
[WindowsBase] Deal with deleted package parts. A patch from #41203
Miguel de Icaza [Tue, 24 May 2016 21:43:21 +0000 (17:43 -0400)]
[genproj] Handle resources properly, add helper scripts to bootstrap
Zoltan Varga [Tue, 24 May 2016 20:37:58 +0000 (16:37 -0400)]
[amd64] Implement the general rgctx fetch trampoline.
Aleksey Kliger [Tue, 24 May 2016 20:19:27 +0000 (16:19 -0400)]
[llvm] Convert MonoError to LLVM ctx failure in process_call
Aleksey Kliger [Tue, 24 May 2016 19:20:30 +0000 (15:20 -0400)]
[llvmonly] Assert gsharedvt wrapper compile always succeeds.
Zoltan Varga [Tue, 24 May 2016 20:08:11 +0000 (16:08 -0400)]
[jit] Optimize ldnull+unbox.any pairs, mcs generates it for code like f = null where f is a field of a generic type with an open type.
Zoltan Varga [Tue, 24 May 2016 19:35:25 +0000 (15:35 -0400)]
[amd64] Add back an assert removed by the previous change.
Zoltan Varga [Tue, 24 May 2016 19:30:29 +0000 (15:30 -0400)]
[amd64] Handle genericinst return types in gsharedvt.
Aleksey Kliger [Tue, 24 May 2016 17:36:39 +0000 (13:36 -0400)]
[remoting] Pass MonoError to mono_upgrade_remote_class
Aleksey Kliger [Tue, 24 May 2016 17:30:21 +0000 (13:30 -0400)]
[remoting] Pass MonoError to mono_remote_class_vtable
Aleksey Kliger [Tue, 24 May 2016 16:51:08 +0000 (12:51 -0400)]
[remoting] Pass MonoError to mono_class_proxy_vtable
Aleksey Kliger [Tue, 24 May 2016 16:26:32 +0000 (12:26 -0400)]
[remoting] MonoError-ize arch_create_remoting_trampoline
Marek Safar [Tue, 24 May 2016 17:11:13 +0000 (19:11 +0200)]
[System.Net.Http] Disable default global proxy when only UseProxy is set. Fixes #41224
Zoltan Varga [Tue, 24 May 2016 15:47:42 +0000 (11:47 -0400)]
[arm64] Enable system AOT.
Zoltan Varga [Tue, 24 May 2016 15:43:37 +0000 (11:43 -0400)]
Fix warnings.
Aleksey Kliger (λgeek) [Tue, 24 May 2016 15:11:48 +0000 (11:11 -0400)]
Merge pull request #3024 from lambdageek/dev/monoerror-endinvoke
[threadpool-ms] MonoError-ize mono_threadpool_ms_end_invoke
Aleksey Kliger (λgeek) [Tue, 24 May 2016 15:08:01 +0000 (11:08 -0400)]
Merge pull request #3029 from lambdageek/dev/simplify-monoerror-threads
[runtime] Simplify MonoError handling in finalizer creation and in thread objects
Aleksey Kliger (λgeek) [Tue, 24 May 2016 14:29:26 +0000 (10:29 -0400)]
Merge pull request #3041 from lambdageek/dev/monoerror-mono_arch_patch_code
[ia64/mips/ppc/s390x/sparc] Add MonoError arg to mono_arch_patch_code
Aleksey Kliger [Mon, 23 May 2016 23:16:32 +0000 (19:16 -0400)]
[ia64/mips/ppc/s390x/sparc] Add MonoError arg to mono_arch_patch_code
Aleksey Kliger (λgeek) [Mon, 23 May 2016 22:37:10 +0000 (18:37 -0400)]
Merge pull request #3032 from lambdageek/dev/monoerror-gc
[runtime] Don't raise MonoErrors in mono_gc_run-finalize
Rodrigo Kumpera [Fri, 20 May 2016 23:20:28 +0000 (16:20 -0700)]
[runtime] Cleanup how we map WAIT_FAILED to what managed expects.
Rodrigo Kumpera [Thu, 19 May 2016 23:13:54 +0000 (16:13 -0700)]
[coop] Change self_abort_internal to take a MonoError to report that an exception must be raised.
Rodrigo Kumpera [Thu, 19 May 2016 23:09:07 +0000 (16:09 -0700)]
[runtime] Change mono_thread_internal_stop to only stop other threads. Mask mono_thread_stop as MONO_RT_EXTERNAL_ONLY.
This change makes it not need to throw exceptions.
In the runtime, use mono_thread_internal_stop instead of mono_thread_stop.
mono_thread_internal_stop only stops other threads, which is what runtime usage calls for.
mono_thread_stop will stop the current thread by raising and exception.
Rodrigo Kumpera [Thu, 19 May 2016 22:41:45 +0000 (15:41 -0700)]
[runtime] Introduce mono_thread_internal_abort to be used instead of ves_icall_System_Threading_Thread_Abort.
Rodrigo Kumpera [Thu, 19 May 2016 22:08:34 +0000 (15:08 -0700)]
[runtime] Change mono_thread_current_check_pending_interrupt to use mono_set_pending_exception.
Callers now check its return and set a pending exception.
Rodrigo Kumpera [Thu, 19 May 2016 21:19:31 +0000 (14:19 -0700)]
[runtime] Simplify mono_wait_uninterrupted, remove two arguments that are needed.
The first argument is whether it's a single or multiple wait. We can infer that from the number of handles.
The second argument is alertable. All waits are alertable, so I baked the constant directly.
Rodrigo Kumpera [Thu, 19 May 2016 21:14:04 +0000 (14:14 -0700)]
[coop] Use MonoError in mono_wait_uninterrupted.
This removes an usage of mono_raise_exception by a set_pending
Aleksey Kliger [Mon, 23 May 2016 21:40:45 +0000 (17:40 -0400)]
[threapool-ms] Assert if queuing work items fails
Aleksey Kliger [Mon, 23 May 2016 18:27:31 +0000 (14:27 -0400)]
[runtime] Don't raise in mono_threads_get_thread_dump
Miguel de Icaza [Mon, 23 May 2016 20:56:44 +0000 (16:56 -0400)]
[genproj] Properly include EmbeddedResources for .resx->resources
Zoltan Varga [Mon, 23 May 2016 19:48:24 +0000 (15:48 -0400)]
[runtime] Remove some older glib workarounds.
Zoltan Varga [Mon, 23 May 2016 19:48:08 +0000 (15:48 -0400)]
[eglib] Use the PRi64 defines from inttypes.h to define G_GINT64_FORMAT etc. Get rid of support for older MSVC versions.
Joao Matos [Mon, 23 May 2016 19:05:31 +0000 (20:05 +0100)]
[System.IO.Compression] Fixed date time handling of Zip entries.
Zoltan Varga [Mon, 23 May 2016 18:46:03 +0000 (14:46 -0400)]
[runtime] Remove some dead code.
Aleksey Kliger [Fri, 20 May 2016 17:53:09 +0000 (13:53 -0400)]
[runtime] Push null check to callers of mono_object_register_finalizer
Simplify error propagation since most callers register a finalizer after
doing their own null check.