Lluis Sanchez [Fri, 5 Jun 2015 12:48:49 +0000 (14:48 +0200)]
[MSBuild] Fix minor assembly resolution issue
When getting the assembly name of a file, don't cache it if the
file has just been deleted.
Lluis Sanchez [Fri, 5 Jun 2015 10:00:34 +0000 (12:00 +0200)]
[MSBuild] Fix assembly resolution issue
The ResolveAssemblyReference task class keeps a reference to an
instance of AssemblyResolver, and AssemblyResolver keeps a cache
of assembly names, indexed by file name. The problem is that
the cache doesn't take into account that files can change between
builds.
For example, if a referenced assembly doesn't exist, the cache
will store that the file doesn't have an assembly name. If after
the build the file is created and a new build operation is started,
the cache will still return that the file doesn't have a name.
This is not a problem when running xbuild from the command line,
since every build starts a new process, but MonoDevelop uses
the MSBuild API to load and build projects, and doesn't start
a new process every time, so the cache is never cleared.
The solution is to keep the last write timestamp in the cache,
so that it can check if the file changed before returning the
cached name. It also needs to do a better handling of non existant
files.
Alex Rønne Petersen [Wed, 20 May 2015 13:17:42 +0000 (15:17 +0200)]
Merge pull request #1823 from iainx/anti-dos
[Profiler] Limit files loaded in the coverage profiler to 128k
Ludovic Henry [Wed, 20 May 2015 12:57:23 +0000 (09:57 -0300)]
[referencesource] Import System.ValueType
Instead of importing the source from referencesource, the algorithm has been reimplemented in our version. This is because their implementation uses multiple internal calls that do not need to be.
iain holmes [Wed, 20 May 2015 09:52:23 +0000 (10:52 +0100)]
[Profiler] Limit files loaded in the coverage profiler to 128k
Place an upper limit on files loaded in the coverage profiler to 128k. If the
system suppression file exceeds that (it is currently only 3k), then there's
some problem and the profiler will exit. For other user files passed on the
commandline, we print a warning message and ignore them.
Marek Safar [Wed, 20 May 2015 10:56:10 +0000 (12:56 +0200)]
[bcl] Mobile profiles fixes
Martin Baulig [Wed, 20 May 2015 02:46:08 +0000 (04:46 +0200)]
Merge pull request #1822 from mono/work-bug23792
[TLS]: Fix #23792.
Sebastien Pouliot [Wed, 20 May 2015 01:51:30 +0000 (21:51 -0400)]
Bump referencesource for XI #30205
Martin Baulig [Wed, 20 May 2015 01:00:34 +0000 (03:00 +0200)]
[TLS]: Fix #23792.
What happens here is the following:
When using chunked encoding, the ChunkStream sometimes mixes async and sync requests
on the underlying stream. The async calls work great - just the sync ones create
problems.
In this particular bug, the server returns two ApplicationData records - one big one
and then a smaller one. The chunk parser requests a sync read of 1024 bytes which
then result in a series of sync reads on the underlying network stream. The first
two or three network reads don't return enough data to fill the huge ApplicationData
record - the last one then returns so much data that it fills both the remainder of
the first record and the entire second one.
If the caller issued a second sync read, then the implementation would catch this -
but the async code path does not.
Sebastien Pouliot [Wed, 20 May 2015 00:10:53 +0000 (20:10 -0400)]
Bump referencesource for fixes required by XI
Ludovic Henry [Tue, 19 May 2015 18:28:58 +0000 (15:28 -0300)]
[referencesource] Import System.Runtime.InteropServices.SafeHandle
Instead of importing the source from referencesource, the algorithm has been reimplemented in our version. This is because their implementation uses multiple internal calls that do not need to be, and they are simple enough to just be reimplemented in managed code.
Marek Safar [Tue, 19 May 2015 21:26:48 +0000 (23:26 +0200)]
[corlib] Remove unused files
Marek Safar [Tue, 19 May 2015 20:06:27 +0000 (22:06 +0200)]
[corlib] LocalDataStoreSlot from reference sources
João Matos [Tue, 19 May 2015 17:14:29 +0000 (18:14 +0100)]
Merge pull request #1821 from iainx/replace-getline
[Profiler] Replace getline(3)
Marek Safar [Tue, 19 May 2015 17:06:13 +0000 (19:06 +0200)]
[corlib] CompressedStack in not supported in mobile profile
iain holmes [Tue, 19 May 2015 16:22:07 +0000 (17:22 +0100)]
[Profiler] Replace getline(3)
getline(3) is not available on Android API < 21, so we use our own custom
functions
Zoltan Varga [Tue, 19 May 2015 14:47:45 +0000 (16:47 +0200)]
[aot] Fix full aot support.
Marek Safar [Tue, 19 May 2015 09:43:50 +0000 (11:43 +0200)]
[corlib] Small part of thread from reference sources
Neale Ferguson [Tue, 19 May 2015 01:47:59 +0000 (21:47 -0400)]
Fix delegate and IMT processing - devirtualization and generics test now pass
Miguel de Icaza [Tue, 19 May 2015 01:38:06 +0000 (21:38 -0400)]
[mono-proclib] Compile on non Mach-based Unix systems (see pull request 1819)
Miguel de Icaza [Mon, 18 May 2015 22:04:05 +0000 (18:04 -0400)]
[corlib/Tests] Added test for bug #30171
Zoltan Varga [Mon, 18 May 2015 20:30:05 +0000 (22:30 +0200)]
[arm64] Define MONO_ARCH_HAS_MONO_CONTEXT.
Zoltan Varga [Mon, 18 May 2015 15:25:41 +0000 (17:25 +0200)]
[runtime] Add a test for 8 delegate arguments.
Marcos Henrich [Mon, 18 May 2015 14:25:05 +0000 (15:25 +0100)]
[corlib] Fixed make android TZ testing targets.
tzi.exe now builds with new sources.
tzi.exe is now ran and compiled with current mono and mcs which avoids corlib version
problems.
João Matos [Mon, 18 May 2015 12:18:41 +0000 (13:18 +0100)]
Merge pull request #1815 from jbevain/clean-mutex-windows
[runtime] Cleanup wrappers for windows cond-vars
Marek Safar [Mon, 18 May 2015 12:03:37 +0000 (14:03 +0200)]
[mcs] Update unicode categories allowed as Unicode escape sequences within identifiers. Fixes #24968
Jo Shields [Mon, 18 May 2015 09:46:13 +0000 (10:46 +0100)]
Add missing mono-profiler-log.suppression to EXTRA_DIST
Jb Evain [Mon, 18 May 2015 09:10:42 +0000 (11:10 +0200)]
[runtime] Cleanup wrappers for windows cond-vars
Alex Rønne Petersen [Mon, 18 May 2015 07:55:43 +0000 (09:55 +0200)]
Merge pull request #1626 from iainx/add-coverage-to-log-profiler
Add coverage to log profiler
Marek Safar [Mon, 18 May 2015 06:29:32 +0000 (08:29 +0200)]
Merge pull request #1811 from yann-morin-1998/yem/parallel-install
mcs: fix installation with parallel make
Rodrigo Kumpera [Sun, 17 May 2015 17:05:34 +0000 (13:05 -0400)]
Merge pull request #1809 from kumpera/double_loading_fix
[runtime] Avoid allocating interface offsets multiple times. Fixes #28398
Yann E. MORIN [Sat, 16 May 2015 17:34:17 +0000 (19:34 +0200)]
mcs: fix installation with parallel make
In mcs/ the install of xbuild_12 and xbuild_14 will end-up installing
the same files:
${NETFRAMEWORK_DIR}/v2.0/RedistList/FrameworkList.xml
${NETFRAMEWORK_DIR}/v3.0/RedistList/FrameworkList.xml
${NETFRAMEWORK_DIR}/v3.5/RedistList/FrameworkList.xml
${NETFRAMEWORK_DIR}/v4.0/Profile/Client/RedistList/FrameworkList.xml
${NETFRAMEWORK_DIR}/v4.0/RedistList/FrameworkList.xml
${NETFRAMEWORK_DIR}/v4.5.1/RedistList/FrameworkList.xml
${NETFRAMEWORK_DIR}/v4.5/RedistList/FrameworkList.xml
This is because there is no atomicity when installing each file, and
xbuild_12 and xbuild_14 may well run in parallel, each trying to install
each of those files; but the 'install' utility will first check if the
target file exists or not, and there is a race in doing so, thus leading
to build failures like so:
http://autobuild.buildroot.org/results/c32/
c3288c5d1fb94474f14a4a889e76135878d403bc/build-end.log
http://autobuild.buildroot.org/results/3cb/
3cb99e5c5672cbaa2a86020129a05dfde47cdb8f/build-end.log
and many more:
http://autobuild.buildroot.net/?reason=host-mono-4.0.0
http://autobuild.buildroot.net/?reason=host-mono-4.0.1
So, ensure ordering of the install of xbuild_12 and xbuild_14 (the
ordering is completely arbitrary, either way gives the same installed
files).
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@free.fr>
Cc: Angelo Compagnucci <angelo.compagnucci@gmail.com>
Zoltan Varga [Sun, 17 May 2015 13:05:13 +0000 (15:05 +0200)]
[runtime] Remove the unused method field from MonoLMF on arm64.
Zoltan Varga [Sun, 17 May 2015 13:04:53 +0000 (15:04 +0200)]
[runtime] Fix the DISABLE_JIT/DISABLE_REMOTING build.
Zoltan Varga [Sun, 17 May 2015 12:46:07 +0000 (14:46 +0200)]
Fix the DISABLE_COM build.
Zoltan Varga [Sun, 17 May 2015 12:06:11 +0000 (14:06 +0200)]
[jit] Remove some unused code when MONO_ARCH_HAVE_OP_GENERIC_CLASS_INIT is defined.
Zoltan Varga [Sat, 16 May 2015 11:52:01 +0000 (13:52 +0200)]
[runtime] Remove a few more DISABLE_ ifdefs.
Zoltan Varga [Sat, 16 May 2015 11:34:30 +0000 (13:34 +0200)]
[runtime] Reduce the number of gc ifdefs in gc.c a bit more.
Zoltan Varga [Sat, 16 May 2015 11:23:56 +0000 (13:23 +0200)]
[runtime] Use condvars instead of events for notifying the finalizer thread.
Zoltan Varga [Sat, 16 May 2015 09:47:28 +0000 (11:47 +0200)]
Revert "[runtime] Use condvars instead of events for waiting for domain finalization."
This reverts commit
f84084dd793a22102ec231db36855bcaeb470e09.
Revert this until issues with interrupts can be sorted out.
Zoltan Varga [Sat, 16 May 2015 09:46:59 +0000 (11:46 +0200)]
Revert "[runtime] Use condvars instead of events for notifying the finalizer thread."
This reverts commit
c84508b6f33af3853e676102903edac3ed278fd5.
Revert this until issues with interrupts can be sorted out.
Zoltan Varga [Sat, 16 May 2015 09:03:49 +0000 (11:03 +0200)]
[runtime] Use condvars instead of events for notifying the finalizer thread.
Zoltan Varga [Sat, 16 May 2015 08:16:07 +0000 (10:16 +0200)]
[runtime] Remove compile time null gc dependencies from gc.c.
Zoltan Varga [Sat, 16 May 2015 08:08:01 +0000 (10:08 +0200)]
[runtime] Use condvars instead of events for waiting for domain finalization.
Zoltan Varga [Sat, 16 May 2015 07:58:05 +0000 (09:58 +0200)]
[jit] Fix OP_GENERIC_CLASS_INIT on amd64 so it doesn't clobber the first arg register.
Zoltan Varga [Sat, 16 May 2015 06:49:01 +0000 (08:49 +0200)]
[jit] Allow the inlining of generic class init trampolines on some platforms. Enable it for amd64.
Alex Rønne Petersen [Fri, 15 May 2015 21:17:52 +0000 (23:17 +0200)]
[runtime] Fix endianness issue with special static offsets.
On big endian systems, this code would break because we reinterpret the
structure as a `guint32` via memory. Fix this by reversing the order of
the fields on big endian systems.
Zoltan Varga [Fri, 15 May 2015 23:50:10 +0000 (01:50 +0200)]
[runtime] Disable spawning lldb on a native crash, since it doesn't quit automatically.
Zoltan Varga [Fri, 15 May 2015 23:11:24 +0000 (01:11 +0200)]
[aot] Avoid defining symbols starting with numbers. Fixes #30099.
Miguel de Icaza [Fri, 15 May 2015 22:27:31 +0000 (18:27 -0400)]
Add tests for #3811
Alex Rønne Petersen [Fri, 15 May 2015 19:29:48 +0000 (21:29 +0200)]
Merge pull request #1801 from alexrp/profiler-allocs
[runtime] Improve profiler allocation reporting
Rodrigo Kumpera [Fri, 15 May 2015 19:24:44 +0000 (15:24 -0400)]
Merge pull request #1654 from alexanderkyte/xunit-fixes
Fix various bugs causing hangs on Xunit
Miguel de Icaza [Fri, 15 May 2015 19:08:48 +0000 (15:08 -0400)]
Merge pull request #1805 from martincostello/master
Fix typos in man content for sn
Marek Safar [Fri, 15 May 2015 18:52:21 +0000 (20:52 +0200)]
[corlib] Fixes mobile tests
Alex Rønne Petersen [Thu, 14 May 2015 12:46:49 +0000 (14:46 +0200)]
[runtime] Use slow path managed allocators when profiling a FullAOT image.
This is needed because the fast paths in managed allocators (by design) don't
report allocations to the profiler. In regular JIT/AOT mode, managed allocators
are simply disabled to work around this when profiling. However, in FullAOT
mode, an image may have been compiled with managed allocators enabled which
results in the managed allocator actually being emitted into the AOT image.
So, when we want to profile a FullAOT image, we need to replace the regular
managed allocator with one that always goes through the slow path (i.e. calls
straight into the runtime). To that end, when we decode a MONO_WRAPPER_ALLOC
method ref, we redirect it to the appropriate slow path allocator if allocation
profiling is enabled.
João Matos [Fri, 15 May 2015 15:50:59 +0000 (16:50 +0100)]
[aot] Added command-line parsing support for hybrid AOT mode.
João Matos [Fri, 15 May 2015 15:50:24 +0000 (16:50 +0100)]
[aot] Migrate the AOT compiler code to use MonoAotMode.
No behavioural changes intended.
João Matos [Fri, 15 May 2015 15:48:58 +0000 (16:48 +0100)]
[runtime] Introduce new `mono_jit_set_aot_mode` public AOT API.
We're also deprecating `mono_jit_set_aot_only` which is a strictly on-off API and of limited value in the face of the new AOT modes.
João Matos [Fri, 15 May 2015 15:47:12 +0000 (16:47 +0100)]
[runtime] Introduce MonoAotMode enum to the public API.
This will be used throughout the runtime to bookkeep the selected AOT code model.
iain holmes [Tue, 12 May 2015 14:43:31 +0000 (15:43 +0100)]
[Profiler] Add coverage information to the log profiler
Store coverage information in the mlpd file. Extend the mprof-report tool to
give a basic coverage summary.
iain holmes [Tue, 12 May 2015 14:00:45 +0000 (15:00 +0100)]
[Utils] Use g_direct_equal if NULL is passed in as the equals function
iain holmes [Tue, 12 May 2015 14:00:24 +0000 (15:00 +0100)]
[Utils] Add an iteration function to MonoConcurrentHashTable
Alex Rønne Petersen [Fri, 15 May 2015 14:09:02 +0000 (16:09 +0200)]
Merge pull request #1656 from alexanderkyte/webservice_27561
[System.ServiceModel] Fix timeout defaulting to 0 seconds
Alex Rønne Petersen [Thu, 14 May 2015 20:27:01 +0000 (22:27 +0200)]
[runtime] Regenerate opcodef.def.
Note: Don't modify this file by hand.
Alex Rønne Petersen [Wed, 13 May 2015 11:57:31 +0000 (13:57 +0200)]
[mini] Add regressionexitcode.out to .gitignore.
Alex Rønne Petersen [Wed, 13 May 2015 11:53:52 +0000 (13:53 +0200)]
[runtime] Move profiler allocation reporting to GC implementations.
By reporting allocations in the GC implementations, we significantly reduce the
odds of someone forgetting to add a mono_profiler_allocation () call. These
previously had to be placed at all call sites of mono_gc_alloc_* () which was
in some cases forgotten, resulting in the profiler seeing objects in GC events
which appeared to not have been allocated.
Alex Rønne Petersen [Wed, 13 May 2015 11:25:08 +0000 (13:25 +0200)]
[runtime] Move object allocation into GC implementations.
This was already done for SGen, but Boehm and the null GC still had a bunch of
code in object.c to allocate and prepare objects. This has now been moved into
mono_gc_alloc_* () functions so that all 3 GC backends have the same interface
for allocation.
Alex Rønne Petersen [Wed, 13 May 2015 09:05:38 +0000 (11:05 +0200)]
[runtime] Drop support for external libgc.
This has not been supported for a while, so remove it.
Marek Safar [Fri, 15 May 2015 07:16:43 +0000 (09:16 +0200)]
[System.Data.DataSetExtensions] Switch to reference sources
Rodrigo Kumpera [Fri, 15 May 2015 01:55:04 +0000 (21:55 -0400)]
[runtime] Avoid allocating interface offsets multiple times. Fixes #28398
setup_interface_offsets will be called multiple times. The code was originally
designed to avoid setting up this multiple times but a change to avoid making it assert
when used from SRE made it so that the check to avoid multiple initialization would
effectively make it be initialized multiple times.
See
628e025476f1e8781502eb9ee44bc94911229c36 for the original change.
Alexander Köplinger [Thu, 14 May 2015 23:24:10 +0000 (01:24 +0200)]
[System.Data] Fix make dist
martincostello [Thu, 14 May 2015 17:58:50 +0000 (18:58 +0100)]
Fix typos in "man sn".
João Matos [Thu, 14 May 2015 14:46:37 +0000 (15:46 +0100)]
[aot] Fixed linker invocation when cross-compiling to Android.
Fixes an Android AOT regression introduced by https://github.com/mono/mono/commit/
b41ed5db82ad82f0540eef70d821318836fba107.
Marek Safar [Thu, 14 May 2015 17:07:14 +0000 (19:07 +0200)]
[System.Data] Remove obsolete files
Marek Safar [Thu, 14 May 2015 16:26:41 +0000 (18:26 +0200)]
[system.data] More api from reference sources
Marek Safar [Thu, 14 May 2015 15:35:58 +0000 (17:35 +0200)]
[system.data] SqlXml from reference sources
Zoltan Varga [Thu, 14 May 2015 16:38:09 +0000 (18:38 +0200)]
[runtime] Fix the signature of native-func-aot wrappers. AOT the delegate invoke wrapper which is used to invoke it. Fixes #29970.
Miguel de Icaza [Thu, 14 May 2015 16:29:13 +0000 (12:29 -0400)]
Merge pull request #1793 from rolfbjarne/subminute-dstoffset-fix
[corlib] Tweak the fix for the reference sources' inability to support sub-minute DST offsets.
Alexander Kyte [Thu, 14 May 2015 16:05:28 +0000 (12:05 -0400)]
[runtime] Made mono_marshal_get_castclass_with_cache use the isinst fixes, refactored
Marek Safar [Thu, 14 May 2015 12:06:11 +0000 (14:06 +0200)]
[corlib] Remove unused code
Marek Safar [Thu, 14 May 2015 11:44:34 +0000 (13:44 +0200)]
[corlib] More reference code for string class
Marek Safar [Thu, 14 May 2015 11:32:24 +0000 (13:32 +0200)]
[corlib] Remove unused code
Ludovic Henry [Thu, 14 May 2015 09:56:02 +0000 (10:56 +0100)]
[corlib] Remove unused code
Ludovic Henry [Thu, 14 May 2015 09:24:08 +0000 (10:24 +0100)]
[threadpool-ms] Fix compilation warning
Ludovic Henry [Thu, 14 May 2015 09:22:41 +0000 (10:22 +0100)]
[null-gc] Ensure mono_gc_set_skip_thread is compiled
Ludovic Henry [Thu, 14 May 2015 08:27:08 +0000 (09:27 +0100)]
Zoltan Varga [Thu, 14 May 2015 07:21:59 +0000 (09:21 +0200)]
[arm64] Increase max length of seq_point instruction.
Zoltan Varga [Thu, 14 May 2015 07:17:44 +0000 (09:17 +0200)]
[aot] Avoid generating instances of AsyncMethodBuilderCore/AsyncVoidMethodBuilder methods, use the gsharedvt versions instead. Fixes part of #29615.
Marek Safar [Thu, 14 May 2015 06:39:53 +0000 (08:39 +0200)]
[corlib] Remove unused code
Alexander Kyte [Mon, 20 Apr 2015 17:28:45 +0000 (13:28 -0400)]
[runtime] Do not cache isinstance for TransparentProxies
When using a TransparentProxy, we run into the problem that the cache is
shared between all marshalbyrefobjects. The fix here is to not update
the cache when using a TransparentProxy, so that the correct slow path
is used.
Ludovic Henry [Wed, 13 May 2015 19:46:37 +0000 (20:46 +0100)]
[threads] Remove dead code
Ludovic Henry [Wed, 13 May 2015 19:44:41 +0000 (20:44 +0100)]
[threads] Remove thread_exit callback as the logic is redundant between the GCs
Ludovic Henry [Wed, 13 May 2015 19:27:16 +0000 (20:27 +0100)]
[threads] Remove dead code
Ludovic Henry [Wed, 13 May 2015 19:24:16 +0000 (20:24 +0100)]
[sgen] Remove unnecessary #define
Ludovic Henry [Wed, 13 May 2015 19:16:28 +0000 (20:16 +0100)]
[threads] Remove useless indirection for thread creation on Posix platforms
Marek Safar [Wed, 13 May 2015 18:14:46 +0000 (20:14 +0200)]
Alexander Kyte [Tue, 24 Mar 2015 21:50:14 +0000 (17:50 -0400)]
[System.ServiceModel] Fix timeout defaulting to 0 seconds
Marek Safar [Wed, 13 May 2015 17:46:16 +0000 (19:46 +0200)]
Marek Safar [Wed, 13 May 2015 17:44:07 +0000 (19:44 +0200)]
[system.web] Add System.Design reference instead of referencing files
Ludovic Henry [Wed, 13 May 2015 16:20:58 +0000 (17:20 +0100)]
[referencesource] Import System.Double and System.Simple