Zoltan Varga [Fri, 11 Feb 2011 20:48:42 +0000 (21:48 +0100)]
Pretty print MonoString* too in xdb.
Sebastien Pouliot [Fri, 11 Feb 2011 18:10:21 +0000 (13:10 -0500)]
Continue X509Chain processing even if the local machine directory does not exists
* corlib/Mono.Security.X509/X509Store.cs:
* Mono.Security/Mono.Security.X509/X509Store.cs:
Fix key pair persistence to load key pairs from the same location
(machine or user) as the requested certificate. This avoids an
internal exception (on missing local machine directory) that stop
the evaluation of the certificate validity (i.e. no user store
check)
* System/System.Security.Cryptography.X509Certificates/X509Chain.cs:
Ensure that a missing local machine directory does not result in a NRE
while loading CRL (which would fail the certificate being validated)
Hib Eris [Wed, 9 Feb 2011 15:58:09 +0000 (16:58 +0100)]
Earlier undefine HAVE_GETPROCESSID when cross compiling
Zoltan Varga [Fri, 11 Feb 2011 14:25:09 +0000 (15:25 +0100)]
Avoid a boehm dependency in driver.c.
Rodrigo Kumpera [Fri, 11 Feb 2011 13:51:59 +0000 (14:51 +0100)]
Make maxStackSize behavior compatible with MS.
* Thread.cs (.ctor): Check if maxStackSize is negative
and raise and AOORE. Silently use a saner minimum size
of 128k as mono can't really run with much less than that.
Marek Safar [Fri, 11 Feb 2011 12:02:24 +0000 (12:02 +0000)]
Fix repl not to accumulate every evaluated expression
Zoltan Varga [Fri, 11 Feb 2011 04:50:42 +0000 (05:50 +0100)]
Make the wait in the finalizer thread alertable to fix sdb on windows. Fixes #670619.
Zoltan Varga [Fri, 11 Feb 2011 02:37:25 +0000 (03:37 +0100)]
Fix sdb tests on the 4.0 profile.
Zoltan Varga [Fri, 11 Feb 2011 00:32:54 +0000 (01:32 +0100)]
Change some Sleep(0)'s to Sleep(1) in the soft-debugger code to avoid 100% cpu utilization on windows.
Zoltan Varga [Fri, 11 Feb 2011 00:28:01 +0000 (01:28 +0100)]
Add a MONO_ prefix to the PROCESSOR_ARCHITECTURE_ constants to fix the mirriad warnings on windows.
Miguel de Icaza [Thu, 10 Feb 2011 23:55:29 +0000 (18:55 -0500)]
[bugfix: 664695] Calling Dispose on ToolStrip emit events. Doesn't on .NET
Miguel de Icaza [Thu, 10 Feb 2011 23:54:13 +0000 (18:54 -0500)]
[bugfix: 664695] Calling Dispose on ToolStrip emit events. Doesn't on .NET
Miguel de Icaza [Thu, 10 Feb 2011 23:53:00 +0000 (18:53 -0500)]
[bugfix: 665233] ToolStrip Menus Keeping Keyboard Capture after hovering over SubMenu
Zoltan Varga [Thu, 10 Feb 2011 23:34:45 +0000 (00:34 +0100)]
Merge branch 'mips-vm-fixes' of https://github.com/ztzg/mono into ztzg-mips-vm-fixes
Zoltan Varga [Thu, 10 Feb 2011 23:33:19 +0000 (00:33 +0100)]
Include malloc.h under windows for alloca in glib.h.
Damien Diederen [Mon, 7 Feb 2011 22:22:40 +0000 (23:22 +0100)]
MIPS: Ignore float->int overflow behaviour, as on PPC, ARM, and SPARC
From the comment:
$TARGET handles overflow by clipping, but this test assumes no overflow
handling. According to ECMA the result of float->int conversion is undefined
if overflow occurs, so both behaviours are valid.
Commit contributed under the MIT/X11 license.
Damien Diederen [Mon, 7 Feb 2011 21:56:35 +0000 (22:56 +0100)]
MIPS: Do not generate superfluous "load_const" in IMT thunks
1. Only three of the four branches need 'load_const's, so let's move
them down there;
2. The fourth one already contains its own 'load_const'; the new code
avoids a duplicate load before each binary search test.
Commit contributed under the MIT/X11 license.
Damien Diederen [Mon, 7 Feb 2011 21:47:15 +0000 (22:47 +0100)]
MIPS: Fix IMT binary search code generation in backend
Imt_emit_ir, in object.c, generates binary search code for sequences
longer than three elements. It saves the key of the mid item, then
recursively calls itself on the two halves of the segment:
item->key = sorted_array [middle]->key;
...
imt_emit_ir (sorted_array, start, middle, out_array);
item->check_target_idx = imt_emit_ir (sorted_array, middle, end, out_array);
Note how the mid item itself is included in the second half: it is to
be handled as part of that subsequence, whose code starts at index
'check_target_index'.
Given such a piece of binary search IR, the MIPS backend currently
generates:
load_const (temp, item->key);
slt (temp, temp, IMT_REG); ; temp = key < searched_for;
bne (temp, zero, 0); ; if (temp) jump_target_index ();
This is broken because no jump happens if (key == searched_for). The
target method won't be found in the first subtree, so the runtime will
end up jumping to its last method instead of the correct one!
This patch causes the following sequence to be emitted:
load_const (temp, item->key);
slt (temp, IMT_REG, temp); ; temp = searched_for < key;
beq (temp, zero, 0); ; if (!temp) jump_target_index ();
Commit contributed under the MIT/X11 license.
Damien Diederen [Thu, 3 Feb 2011 20:50:38 +0000 (21:50 +0100)]
MIPS: Fix unboxing trampolines for functions returning value types
Generated methods always place 'this' in a0, but unboxing trampolines
currently bump a1 for functions returning value types (the register
assignments for 'this' and return area pointers probably got swapped
at some point, but the trampoline generator was not updated).
Fix that by always bumping a0.
Commit contributed under the MIT/X11 license.
Damien Diederen [Wed, 2 Feb 2011 20:13:38 +0000 (21:13 +0100)]
MIPS: Use SLTU to implement COND_EXC_LE_UN (Exception when <= unsigned)
The current code generator uses a SUBU/BLEZ combination, but this
breaks for non-zero-based arrays. Given a lower bound 'b', length
'l', and an index 'i', Mini generates:
real_i = i - b;
COND_EXC_LE_UN(l, real_i);
Without this patch, the backend generates for e.g. b=42, l=1 and i=0:
SUBU real_i, 0, 42 => -42
SUBU at, 1, real_i => 43 (U only means "no trap.")
BLEZ at, throw => No throw because at is positive!
This causes the following sequence to be used instead:
SUBU real_i, 0, 42 => -42
SLTU at, real_i, 1 => 0 (Unsigned '<'; real_i is a large value)
BEQ at, zero, throw => Throw.
Commit contributed under the MIT/X11 license.
Damien Diederen [Tue, 1 Feb 2011 21:16:59 +0000 (22:16 +0100)]
MIPS: Throw OverflowException if Int32.MinValue is divided by -1
Without this, the code throws the more general ArithmeticException
when the divisor is -1, independently of the dividend. The check is
necessary because -Int32.MinValue does not fit into a 32-bit two's
complement integer.
Commit contributed under the MIT/X11 license.
Zoltan Varga [Thu, 10 Feb 2011 22:43:04 +0000 (23:43 +0100)]
Remove unused mono_arch_has_unwind_info () function.
Gonzalo Paniagua Javier [Thu, 10 Feb 2011 22:17:26 +0000 (17:17 -0500)]
[HttpWebRequest] Can't ignore erros here
Gonzalo Paniagua Javier [Thu, 10 Feb 2011 21:57:20 +0000 (16:57 -0500)]
[HttpWebRequest] Error handling for POST/PUT
When we get an error from the server before writing an entire
unbuffered response, the server might close the connection leading to
write errors. Ignore those and return the actual HTTP status code from
the original server error.
Ankit Jain [Thu, 10 Feb 2011 20:01:44 +0000 (01:31 +0530)]
[xbuild] Update Utilities.FromMSBuildPath from monodevelop.
Updating FromMSBuildPath also fixes a bug on windows.
* Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Utilities.cs:
Move to..
* Microsoft.Build.Utilities/Mono.XBuild.Utilities/MSBuildUtils.cs:
.. this. Also, update FromMSBuildPath from monodevelop.
* Update Engine/* and Tasks/* to track the new api.
Rodrigo Kumpera [Thu, 10 Feb 2011 20:18:27 +0000 (21:18 +0100)]
Handle ConstructorBuilders on other assemblies.
* reflection.c (mono_image_get_ctorbuilder_token):
Handle non generic CtorBuilder on another assembly.
Fixes #670949
Rodrigo Kumpera [Thu, 10 Feb 2011 20:44:58 +0000 (21:44 +0100)]
Revert "Don't use io layer semaphores for object monitors."
This reverts commit
7d0e224a7a67b32b214e7eadcc2089708bbd3914.
This is causing severe regressions on OSX.
Rodrigo Kumpera [Wed, 9 Feb 2011 17:56:38 +0000 (18:56 +0100)]
Don't use io layer semaphores for object monitors.
* monitor.c: Use a system semaphone instead of io-layer
semaphores as it has a much lower overhead.
Rodrigo Kumpera [Wed, 9 Feb 2011 17:40:19 +0000 (18:40 +0100)]
Add regression test for #668506
Marek Safar [Thu, 10 Feb 2011 19:04:02 +0000 (19:04 +0000)]
Another .net 4 update
Marek Safar [Thu, 10 Feb 2011 19:03:33 +0000 (19:03 +0000)]
Remove more csharp2 references
Zoltan Varga [Thu, 10 Feb 2011 15:17:44 +0000 (16:17 +0100)]
Fix a warning.
Marek Safar [Thu, 10 Feb 2011 13:34:39 +0000 (13:34 +0000)]
Make all evaluator created type public
Marek Safar [Thu, 10 Feb 2011 12:21:12 +0000 (12:21 +0000)]
Add mscorlib as mcs aot dependency
Atsushi Eno [Thu, 10 Feb 2011 13:06:17 +0000 (22:06 +0900)]
Fix a couple of addressing namespace fixes (found in April2005 version).
Atsushi Eno [Thu, 10 Feb 2011 12:16:17 +0000 (21:16 +0900)]
Fix wrong async completion handling in UDP channel receive.
After AsyncWaitHandle.Set(), order of filling results and WaitOne() are
undefined.
Marek Safar [Thu, 10 Feb 2011 09:22:04 +0000 (09:22 +0000)]
Fixes build
Marek Safar [Thu, 10 Feb 2011 08:58:16 +0000 (08:58 +0000)]
Enable eval statements
Marek Safar [Thu, 10 Feb 2011 08:53:44 +0000 (08:53 +0000)]
Drop csharp2
Marek Safar [Wed, 9 Feb 2011 19:18:14 +0000 (19:18 +0000)]
Fix wrong module context
Marek Safar [Wed, 9 Feb 2011 16:02:34 +0000 (16:02 +0000)]
Cleanup IMemberContext properties
Marek Safar [Wed, 9 Feb 2011 14:34:52 +0000 (14:34 +0000)]
Fix restore typo
Zoltan Varga [Wed, 9 Feb 2011 23:52:46 +0000 (00:52 +0100)]
Remove glib libs from the get-cygwin-deps.sh script.
Miguel de Icaza [Wed, 9 Feb 2011 23:33:05 +0000 (18:33 -0500)]
Do not throw if we get a RunAndCollect
Miguel de Icaza [Wed, 9 Feb 2011 23:25:09 +0000 (18:25 -0500)]
Style
Gonzalo Paniagua Javier [Wed, 9 Feb 2011 23:09:03 +0000 (18:09 -0500)]
Move some code into their own methods.
Gonzalo Paniagua Javier [Wed, 9 Feb 2011 22:16:09 +0000 (17:16 -0500)]
[Thread] Avoid using BinarySerialization
Whenever possible (Generic(Principal|Identity)), do not use
BinarySerialization for the 'principal'.
Marek Habersack [Wed, 9 Feb 2011 20:59:00 +0000 (21:59 +0100)]
[asp.net] Fix for bug #669048. Fix up virtual precompiled app virtual paths with the virtual root of the current app
Gonzalo Paniagua Javier [Wed, 9 Feb 2011 17:04:56 +0000 (12:04 -0500)]
Attempt 1
Gonzalo Paniagua Javier [Wed, 9 Feb 2011 16:01:27 +0000 (11:01 -0500)]
Add files to .gitignore
Rodrigo Kumpera [Wed, 9 Feb 2011 15:30:05 +0000 (16:30 +0100)]
Handle assignment check of variant type and its gtd.
* clas.c (mono_class_is_variant_compatible): Return
FALSE if checking a variant type and its gtd instead
of crashing.
Fixes #668506
Zoltan Varga [Wed, 9 Feb 2011 15:17:41 +0000 (16:17 +0100)]
Install Mono.Debugger.Soft in the 4.0 profile as well.
Marek Safar [Wed, 9 Feb 2011 14:27:06 +0000 (14:27 +0000)]
Fix corlib test
Marek Safar [Wed, 9 Feb 2011 14:16:04 +0000 (14:16 +0000)]
Fix few more mcs locations
Marek Safar [Wed, 9 Feb 2011 14:10:35 +0000 (14:10 +0000)]
Few mcs property accessors tweaks
Marek Safar [Tue, 8 Feb 2011 18:01:32 +0000 (18:01 +0000)]
Don't emit static data when running as evaluator
Rolf Bjarne Kvinge [Wed, 9 Feb 2011 12:01:41 +0000 (13:01 +0100)]
Add MonoCQItem to the moonlight build, otherwise we abort
Atsushi Eno [Wed, 9 Feb 2011 11:04:00 +0000 (20:04 +0900)]
Recent ContractDescription fix uncovered wrong contracts in discovery.
Rodrigo Kumpera [Wed, 9 Feb 2011 10:36:58 +0000 (11:36 +0100)]
Merge branch 'master' of github.com:mono/mono
Rodrigo Kumpera [Wed, 9 Feb 2011 10:20:37 +0000 (11:20 +0100)]
Cleanup the reference queue on domain unload.
* gc.c (finalize_domain_objects): Clear reference
queues on domain unload after running all finalizers.
Atsushi Eno [Wed, 9 Feb 2011 06:42:40 +0000 (15:42 +0900)]
Support ServiceKnownTypes. Fixed another case on bug #652331.
Jonathan Pobst [Wed, 9 Feb 2011 05:35:22 +0000 (23:35 -0600)]
Fix msvc build for threadpool changes.
Zoltan Varga [Wed, 9 Feb 2011 04:09:24 +0000 (05:09 +0100)]
Disable OP_INEG cfolding on 32 bit arches, as it breaks the LNEG decomposition. The previous special casing didn't work as the spill pass could insert a store between the ineg and the adc_imm. Fixes #670479.
Gonzalo Paniagua Javier [Wed, 9 Feb 2011 02:01:09 +0000 (21:01 -0500)]
[SmtpClient] Don't send empty display name.
If there's no display name, don't send '""'.
Fixes bug #670475.
Marek Habersack [Wed, 9 Feb 2011 01:36:00 +0000 (02:36 +0100)]
[build] Added runtime/_tmpinst/mcs script to unbreak system.web tests for 2.0
Also made gmcs force -sdk=2 since -sdk=4 is now the default. _tmpinst/mcs is needed because
the CSharp CodeDOM provider invokes it and without the script in place it will launch the
first mcs available in the path.
Marek Habersack [Wed, 9 Feb 2011 00:23:39 +0000 (01:23 +0100)]
[asp.net] Be more careful with errors collection when compilation fails.
Marek Habersack [Tue, 8 Feb 2011 23:46:39 +0000 (00:46 +0100)]
[asp.net] Implemented CustomErrorsRedirectMode
Gonzalo Paniagua Javier [Wed, 9 Feb 2011 00:12:28 +0000 (19:12 -0500)]
Just need 1 instance of the generic principal.
Gonzalo Paniagua Javier [Sat, 5 Feb 2011 17:49:01 +0000 (12:49 -0500)]
[threadpool] Added dynamic concurrent queue implementation
Replace the big lock around the list+array used to queue work items
with a dynamic concurrent queue to reduce contention.
Mark Probst [Tue, 8 Feb 2011 21:11:52 +0000 (22:11 +0100)]
[sgen] Two carefully placed prefetches.
Prefetch an object's vtable word when it's put on the gray stack,
because it's likely to be scanned soon.
Also prefetch it right before calling the mark/copy function in the
dynamic heap M&S to win a few cycles on the load. Don't do it for the
fixed heap because there it's unlikely we'll need the vtable anyway,
so the cache can be put to good use elsewhere.
Mark Probst [Tue, 8 Feb 2011 20:50:27 +0000 (21:50 +0100)]
[sgen] Only load an object's vtable word if absolutely necessary in M&S.
Until now we always loaded the vtable word in the mark/copy function.
It is not necessary in most cases for the fixed heap collector,
however. If the object is on the small object major heap and its
block size is not evacuated we don't need to load it.
Mark Probst [Tue, 8 Feb 2011 20:40:23 +0000 (21:40 +0100)]
[sgen] Fix some debug functions.
Mark Probst [Tue, 8 Feb 2011 20:38:37 +0000 (21:38 +0100)]
[sgen] Keep statistics on slots allocated in vain in parallel M&S.
Mark Probst [Tue, 8 Feb 2011 20:28:46 +0000 (21:28 +0100)]
[sgen] Make SGen compile with heavy statistics enabled.
Miguel de Icaza [Tue, 8 Feb 2011 21:01:29 +0000 (16:01 -0500)]
Add new test
Miguel de Icaza [Tue, 8 Feb 2011 19:25:54 +0000 (14:25 -0500)]
Fix Enum.HasValue, previous version crashed with negative values
Miguel de Icaza [Tue, 8 Feb 2011 19:25:36 +0000 (14:25 -0500)]
Update docs
Miguel de Icaza [Thu, 3 Feb 2011 23:37:23 +0000 (18:37 -0500)]
Add prototype to .h file
Lucas Meijer [Mon, 31 Jan 2011 13:52:50 +0000 (14:52 +0100)]
implement mono_set_assemblies_path for platforms that cannot set MONO_PATH environment variable.
Rodrigo Kumpera [Tue, 8 Feb 2011 19:48:03 +0000 (20:48 +0100)]
Avoid allocating memory for the handles.
* threads.c (ves_icall_System_Threading_WaitHandle_WaitAny_internal):
Store the handles on stack memory.
Rodrigo Kumpera [Tue, 8 Feb 2011 19:46:20 +0000 (20:46 +0100)]
Avoid allocating memory.
* wait.c (WaitForMultipleObjectsEx): Use a stack allocated
array and detect duplicated by sorting and doing a linear
search.
Marek Habersack [Tue, 8 Feb 2011 19:41:38 +0000 (20:41 +0100)]
[cross-compilation] Added some flexibility regarding the location of development packages
The script now supports an extra cross-compilation directory in which you can unpack the
library and development packages necessary for the build to succeed (glib, zlib etc). Also
supported now is specifying the location at which Mono will be installed on Windows.
Replaced SVN and GIT-SVN version checks with git checks.
Marek Habersack [Tue, 8 Feb 2011 19:41:09 +0000 (20:41 +0100)]
[aot compiler] runtime_dep uses the correct path when cross-compiling
Marek Safar [Tue, 8 Feb 2011 17:34:09 +0000 (17:34 +0000)]
Fix Mono.CSharp vs solution
Marek Safar [Tue, 8 Feb 2011 17:16:18 +0000 (17:16 +0000)]
Allow both predefined and custom values for mcs -skd option
Rodrigo Kumpera [Tue, 8 Feb 2011 17:21:12 +0000 (18:21 +0100)]
Fix reference queue under boehm.
* gc.c (finalizer_thread): Clean reference queues
after finalizers are called to give boehm a chance
to resurrect it.
Hib Eris [Mon, 14 Jun 2010 16:42:20 +0000 (18:42 +0200)]
Fix build-mingw32.sh for CROSS_PKG_CONFIG_DIR without *.pc files
Hib Eris [Mon, 14 Jun 2010 16:22:57 +0000 (18:22 +0200)]
No longer include glib binaries in build-mingw32.sh builds.
By default, Mono now uses an embedded glib implementation, so there
is no need to ship external glib libraries anymore.
Hib Eris [Mon, 14 Jun 2010 15:59:50 +0000 (17:59 +0200)]
Let build-mingw32.sh script also work on dist tarballs
Marek Safar [Tue, 8 Feb 2011 13:55:53 +0000 (13:55 +0000)]
Optimize Enumerable::ToArray
Hib Eris [Mon, 7 Feb 2011 16:43:23 +0000 (17:43 +0100)]
Use winternl.h instead of ddk (when available)
These changes are nescessary for compiling with a mingw-w64 compiler.
Hib Eris [Mon, 7 Feb 2011 16:37:59 +0000 (17:37 +0100)]
Remove implementation details from public header io-layer.h
The macro HAVE_GETPROCESSID is defined in config.h and should not be
exposed in public headers.
Marek Safar [Tue, 8 Feb 2011 12:51:25 +0000 (12:51 +0000)]
[657099] Fix cloning of remapped blocks
Atsushi Eno [Tue, 8 Feb 2011 11:52:20 +0000 (20:52 +0900)]
Simple content restriction was not validated when it is in further reference.
Fixed bug #595947. It was complexType [base]-> complexType [base]-> simpleType.
Rolf Bjarne Kvinge [Tue, 8 Feb 2011 11:36:00 +0000 (12:36 +0100)]
Moonlight build: we need to create the deps dir
Marek Safar [Tue, 8 Feb 2011 11:20:54 +0000 (11:20 +0000)]
New test.
Marek Safar [Tue, 8 Feb 2011 11:15:23 +0000 (11:15 +0000)]
Fix remapping of cloned block parent when already in cloned context
Marek Safar [Tue, 8 Feb 2011 11:15:01 +0000 (11:15 +0000)]
Disable vs hosting
Atsushi Eno [Tue, 8 Feb 2011 09:31:49 +0000 (18:31 +0900)]
For complexType simpleContent restriction, fill attributes from base type.
Part of bugfix #595947.
Atsushi Eno [Tue, 8 Feb 2011 08:09:26 +0000 (17:09 +0900)]
There's a tricky namespace-mismatching deserialization in .NET implementation.
Fixed bug #666333.