mono.git
12 years agoMerge pull request #152 from bassamtabbara/master
Gonzalo Paniagua Javier [Mon, 8 Aug 2011 13:25:59 +0000 (06:25 -0700)]
Merge pull request #152 from bassamtabbara/master

Some fixes to master

12 years agoFixed regression in System.Web.Routing caused by 62b047a. Value and constraint where...
Bassam Tabbara [Mon, 8 Aug 2011 06:18:18 +0000 (23:18 -0700)]
Fixed regression in System.Web.Routing caused by 62b047a. Value and constraint where switched when evaluating regex route constraints.

12 years agoNetworkstream now throws IOException('connection closed') if the socket was closed...
Bassam Tabbara [Mon, 8 Aug 2011 06:17:19 +0000 (23:17 -0700)]
Networkstream now throws IOException('connection closed') if the socket was closed/disposed

12 years agoMerge pull request #151 from kenbell/master
Atsushi Eno [Mon, 8 Aug 2011 05:36:59 +0000 (22:36 -0700)]
Merge pull request #151 from kenbell/master

Fix two bugs in System.Security.AccessControl

12 years agoFix bug 213 - interpret string identity in RegistryAccessRule constructor as account...
Kenneth Bell [Sun, 7 Aug 2011 19:23:43 +0000 (12:23 -0700)]
Fix bug 213 - interpret string identity in RegistryAccessRule constructor as account name.

Previously the string was treated as a SID in string form.  Note Mono can only convert well-known accounts to SID form.

12 years agoFix infinite loop parsing some SDDL strings
Kenneth Bell [Sat, 6 Aug 2011 03:01:29 +0000 (20:01 -0700)]
Fix infinite loop parsing some SDDL strings

Attempting to parse ACLs containing flags would cause an infinite loop.

12 years agoImplement proper ctor parameter checking
Jérémie Laval [Sat, 6 Aug 2011 19:45:59 +0000 (21:45 +0200)]
Implement proper ctor parameter checking

12 years agoImplement exception propagation for void async context
Marek Safar [Fri, 5 Aug 2011 22:19:32 +0000 (23:19 +0100)]
Implement exception propagation for void async context

12 years agoRevert a line from 89d18c331d0f750af57691d8180e603fe349508b which breaks the linux...
Zoltan Varga [Fri, 5 Aug 2011 21:50:15 +0000 (23:50 +0200)]
Revert a line from 89d18c331d0f750af57691d8180e603fe349508b which breaks the linux build

12 years agoAdd more tests
Marek Safar [Fri, 5 Aug 2011 20:46:53 +0000 (21:46 +0100)]
Add more tests

12 years agoBuild membercache for imported interfaces in the same way as for compiled types....
Marek Safar [Fri, 5 Aug 2011 16:43:31 +0000 (17:43 +0100)]
Build membercache for imported interfaces in the same way as for compiled types. Fixes #82

12 years agoFix for #162
Jérémie Laval [Fri, 5 Aug 2011 20:32:47 +0000 (22:32 +0200)]
Fix for #162

12 years agoMake sure the cygwin build uses gcc-3 from the gcc-core package, other version won...
Zoltan Varga [Fri, 5 Aug 2011 19:48:45 +0000 (21:48 +0200)]
Make sure the cygwin build uses gcc-3 from the gcc-core package, other version won't work

12 years agoRevert "Use the mingw32 gcc compiler on windows"
Zoltan Varga [Fri, 5 Aug 2011 18:46:21 +0000 (20:46 +0200)]
Revert "Use the mingw32 gcc compiler on windows"

This reverts commit 1ae8e0fd94400b72da1345795dcf8721e2b23e83.

12 years agoRevert "revert change from https://github.com/flutos/mono/commit/124c0ce55f13ca67cf8f...
Gonzalo Paniagua Javier [Fri, 5 Aug 2011 15:44:01 +0000 (11:44 -0400)]
Revert "revert change from https://github.com/flutos/mono/commit/124c0ce55f13ca67cf8f7641a9bb3b034ac7dd5e#mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol since it makes the sqlserver calls unstable"

This revert broke the build.

This reverts commit 72a7b7bccb0a5e1787d3321abe744064cf552f13.

12 years agoRemove the configue check for bison, we don't use it anymore
Zoltan Varga [Fri, 5 Aug 2011 15:23:28 +0000 (17:23 +0200)]
Remove the configue check for bison, we don't use it anymore

12 years agoUse the mingw32 gcc compiler on windows
Zoltan Varga [Fri, 5 Aug 2011 15:19:46 +0000 (17:19 +0200)]
Use the mingw32 gcc compiler on windows

12 years agoFix up bugs in x86-codegen for NaCl.
Elijah Taylor [Fri, 5 Aug 2011 15:02:45 +0000 (17:02 +0200)]
Fix up bugs in x86-codegen for NaCl.

12 years agoFixups for nacl at head revision.
Elijah Taylor [Fri, 5 Aug 2011 15:00:38 +0000 (17:00 +0200)]
Fixups for nacl at head revision.

12 years agoMerge pull request #129 from grumpydev/CryptoFixo
Miguel de Icaza [Fri, 5 Aug 2011 13:59:27 +0000 (06:59 -0700)]
Merge pull request #129 from grumpydev/CryptoFixo

Fix for out of bounds exception in Rfc2898DeriveBytes

12 years agoMerge pull request #138 from eisnerd/bug-winforms-datagridview-resize-490247
Miguel de Icaza [Fri, 5 Aug 2011 13:58:20 +0000 (06:58 -0700)]
Merge pull request #138 from eisnerd/bug-winforms-datagridview-resize-490247

[winforms] DataGridView row height resize handles added for bug #490247

12 years agoMerge pull request #147 from flutos/master
Miguel de Icaza [Fri, 5 Aug 2011 13:54:57 +0000 (06:54 -0700)]
Merge pull request #147 from flutos/master

revert performance patch for TdsComm.cs file

this is in reference to bug
https://bugzilla.novell.com/show_bug.cgi?id=609109
I was working with Veerapuram to isolate this problem and he was making some progress but this is a complated patch and he is not onto other things right now so given that I was hoping to get the patch that was causing these problems to get reverted from. the offending patch is
https://github.com/mono/mono/commit/124c0ce55f13ca67cf8f7641a9bb3b034ac7dd5e
This patch reverts the offending patch for the file but leave all the subsequent patches for the file in tact. Once Veerapuram has a chance to get back to it we can look at getting this performance patch fixed and reapplied . Since its just a performance patch it shouldnt effect any current functionality.

revert change from https://github.com/flutos/mono/commit/124c0ce55f13ca67cf8f7641a9bb3b034ac7dd5e#mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol since it makes the sqlserver calls unstable

12 years agoMerge pull request #141 from LogosBible/surrogtate
Miguel de Icaza [Fri, 5 Aug 2011 13:52:12 +0000 (06:52 -0700)]
Merge pull request #141 from LogosBible/surrogtate

[480178] Fix handling of surrogate characters.

12 years agoFix comment typo
Marek Safar [Fri, 5 Aug 2011 08:39:07 +0000 (09:39 +0100)]
Fix comment typo

12 years agoFix extension method expression conversion for type parameters
Marek Safar [Fri, 5 Aug 2011 08:26:24 +0000 (09:26 +0100)]
Fix extension method expression conversion for type parameters

12 years agoAdd exception handling to task awaiters
Marek Safar [Wed, 3 Aug 2011 19:11:46 +0000 (20:11 +0100)]
Add exception handling to task awaiters

12 years agoAdd a list of historic Mono branches, before we delete them from the server
Miguel de Icaza [Thu, 4 Aug 2011 17:04:29 +0000 (13:04 -0400)]
Add a list of historic Mono branches, before we delete them from the server

12 years agoHandle slow machines which exceed timeouts in the threadpool-exceptions<N> tests.
Zoltan Varga [Thu, 4 Aug 2011 15:31:23 +0000 (17:31 +0200)]
Handle slow machines which exceed timeouts in the threadpool-exceptions<N> tests.

12 years ago[sgen] Enqueue finalizers after update the pointer.
Mark Probst [Wed, 3 Aug 2011 12:02:38 +0000 (14:02 +0200)]
[sgen] Enqueue finalizers after update the pointer.

If the object was forwarded we read a bogus vtable and hence a bogus
klass.  Did the critical finalizer testcase work just by accident?

12 years agoSet the WSQ TLS key to inited after initing it.
Mark Probst [Mon, 1 Aug 2011 14:09:16 +0000 (16:09 +0200)]
Set the WSQ TLS key to inited after initing it.

This bug was introduced in the move to mono-tls.

12 years ago[xbuild] RemoveDir - remove only if the dir exists.
Ankit Jain [Thu, 4 Aug 2011 08:21:24 +0000 (13:51 +0530)]
[xbuild] RemoveDir - remove only if the dir exists.

Fixes bug #710234.

12 years agoMerge pull request #146 from flutos/207ce0bccceec3ff7860ea986086fedb5a92d822
Atsushi Eno [Thu, 4 Aug 2011 00:05:06 +0000 (17:05 -0700)]
Merge pull request #146 from flutos/207ce0bccceec3ff7860ea986086fedb5a92d822

fix for bug 708178 that would fail if the type wasnt IEnumerable, should check if it implement IEnumerable rather than is IEnumerable

12 years agoFix padding of call instructions.
Rodrigo Kumpera [Wed, 3 Aug 2011 22:44:18 +0000 (19:44 -0300)]
Fix padding of call instructions.

12 years agodon't redefine ABS
Chris Toshok [Fri, 29 Jul 2011 23:50:50 +0000 (16:50 -0700)]
don't redefine ABS

12 years agorevert change from https://github.com/flutos/mono/commit/124c0ce55f13ca67cf8f7641a9bb...
scott fluto [Wed, 3 Aug 2011 16:52:54 +0000 (10:52 -0600)]
revert change from https://github.com/flutos/mono/commit/124c0ce55f13ca67cf8f7641a9bb3b034ac7dd5e#mcs/class/Mono.Data.Tds/Mono.Data.Tds.Protocol since it makes the sqlserver calls unstable

12 years agoAvoid allocating the memory for all the dominator arrays at once.
Zoltan Varga [Wed, 3 Aug 2011 15:51:01 +0000 (17:51 +0200)]
Avoid allocating the memory for all the dominator arrays at once.

12 years ago[runtime, globalization] Fix for Xamarin bug #161. Fix culture info data for certain...
Marek Habersack [Wed, 3 Aug 2011 13:58:20 +0000 (15:58 +0200)]
[runtime, globalization] Fix for Xamarin bug #161. Fix culture info data for certain locale short date formats

Modified locales which don't use '/' as the short date separator.

12 years agoInitial support for handling exceptions inside async
Marek Safar [Wed, 3 Aug 2011 13:05:51 +0000 (14:05 +0100)]
Initial support for handling exceptions inside async

12 years agoAll resolve contexts are now SRE-free
Marek Safar [Tue, 2 Aug 2011 18:11:24 +0000 (19:11 +0100)]
All resolve contexts are now SRE-free

12 years agoFix NET_2_1 builds (regression from the previous SecurityBindingElement fixes).
Atsushi Eno [Wed, 3 Aug 2011 04:53:11 +0000 (13:53 +0900)]
Fix NET_2_1 builds (regression from the previous SecurityBindingElement fixes).

12 years agoImplement fail tramp support on arm for full-aot imt thunks.
Rodrigo Kumpera [Wed, 3 Aug 2011 02:25:05 +0000 (23:25 -0300)]
Implement fail tramp support on arm for full-aot imt thunks.

* aot-compiler.c (arch_emit_imt_thunk): Implement fail tramp
support on arm. This enables variance to work under full-aot.
The code blowout is not really significant as even on non linked
apps the imt thunk overhead is 0.5%.

12 years ago[gc] Darwin/AMD64 can have 64-bit thread id's, so we need to ensure
Geoff Norton [Wed, 3 Aug 2011 01:45:49 +0000 (21:45 -0400)]
[gc] Darwin/AMD64 can have 64-bit thread id's, so we need to ensure
we cast properly to make sure the modulus has a valid result.
Additionally add support for x86_THREAD_STATE64.

12 years agoMerge pull request #145 from ngraziano/99b87f07af0beed3a887
Atsushi Eno [Tue, 2 Aug 2011 20:51:35 +0000 (13:51 -0700)]
Merge pull request #145 from ngraziano/99b87f07af0beed3a887

Fix Service Model Xml Serialization and XMLAttributes

12 years agoFix bug #707434, check order only when applicable.
Atsushi Eno [Tue, 2 Aug 2011 20:35:26 +0000 (05:35 +0900)]
Fix bug #707434, check order only when applicable.

Based on the input by Scott Fluto.

12 years agoClean up block return label handling
Marek Safar [Tue, 2 Aug 2011 18:07:17 +0000 (19:07 +0100)]
Clean up block return label handling

12 years ago[System.IO.Path] Fix potential infinite loop in Path.GetTempFileName
Alan McGovern [Tue, 2 Aug 2011 16:02:00 +0000 (17:02 +0100)]
[System.IO.Path] Fix potential infinite loop in Path.GetTempFileName

Refactor this method so that it only attempts alternative filenames if
the filename just attempted already exists. This way we will never end
up looping forever being unable to create the required file. Previously
if we opened the maximum allowed files and then called GetTempFileName
we'd loop forever throwing an IOException in the FileStream constructor
every time.

12 years agoAdd async exception binding
Marek Safar [Tue, 2 Aug 2011 14:34:11 +0000 (15:34 +0100)]
Add async exception binding

12 years agoMerge pull request #143 from mistoll/master
Atsushi Eno [Tue, 2 Aug 2011 13:42:44 +0000 (06:42 -0700)]
Merge pull request #143 from mistoll/master

Fixes for WCF BasicHttpBinding with message security

12 years ago[aot-compiler] Replace assert with descriptive error message.
Rolf Bjarne Kvinge [Tue, 2 Aug 2011 12:39:55 +0000 (14:39 +0200)]
[aot-compiler] Replace assert with descriptive error message.

12 years agoFixed coding style in SecureMessageDecryptor
Michael Stoll [Tue, 2 Aug 2011 08:34:27 +0000 (10:34 +0200)]
Fixed coding style in SecureMessageDecryptor

12 years agoFixed coding style in SecureMessageGenerator
Michael Stoll [Tue, 2 Aug 2011 08:34:08 +0000 (10:34 +0200)]
Fixed coding style in SecureMessageGenerator

12 years agoFixed coding style for BasicHttpBinding and SecurityBindingElement
Michael Stoll [Tue, 2 Aug 2011 08:23:24 +0000 (10:23 +0200)]
Fixed coding style for BasicHttpBinding and SecurityBindingElement

12 years agoFixed coding style in System.IdentityModel
Michael Stoll [Tue, 2 Aug 2011 08:08:25 +0000 (10:08 +0200)]
Fixed coding style in System.IdentityModel

12 years agoDefine MONO_ARCH_NOMAP32BIT for DragonFly BSD.
Alex [Mon, 1 Aug 2011 22:04:19 +0000 (00:04 +0200)]
Define MONO_ARCH_NOMAP32BIT for DragonFly BSD.

12 years agoFill/reflect ReturnValue to and from corresponding message part.
Atsushi Eno [Tue, 2 Aug 2011 16:58:28 +0000 (09:58 -0700)]
Fill/reflect ReturnValue to and from corresponding message part.

This may have fixed bug #41.

12 years agopart of fix bug #41. MessageParameterAttribute is considered for return value.
Atsushi Eno [Tue, 2 Aug 2011 14:41:49 +0000 (07:41 -0700)]
part of fix bug #41. MessageParameterAttribute is considered for return value.

12 years agoRemvoed debug console output
Michael Stoll [Mon, 1 Aug 2011 10:30:53 +0000 (12:30 +0200)]
Remvoed debug console output
Moved the check for the action header because it is not required in all messages.

12 years agoSplitted the SecureMessage method for a better readability.
Michael Stoll [Mon, 1 Aug 2011 10:29:00 +0000 (12:29 +0200)]
Splitted the SecureMessage method for a better readability.
Fixed message creation for AddressingVersion.None
Fixed the element type of encrypted xml (Content vs. Element)
Fixed GetAction() (Using correct property name)
Fixed message body Id attribute prefix

12 years agoFixed the SecurityBindingElement creation of BasicHttpBinding
Michael Stoll [Mon, 1 Aug 2011 10:23:55 +0000 (12:23 +0200)]
Fixed the SecurityBindingElement creation of BasicHttpBinding

12 years agoAdded support for negative serial numbers in X509IssuerSerialKeyIdentifierClause...
Michael Stoll [Mon, 1 Aug 2011 08:38:44 +0000 (10:38 +0200)]
Added support for negative serial numbers in X509IssuerSerialKeyIdentifierClause as proposed in RFC 5280

12 years agoAdd support for DragonFly and NetBSD to sigcontext.
Alex [Mon, 1 Aug 2011 08:27:25 +0000 (10:27 +0200)]
Add support for DragonFly and NetBSD to sigcontext.

12 years agoFix a compiler warning in mkbundle by #including mono-config.h
Jeffrey Stedfast [Fri, 29 Jul 2011 21:01:55 +0000 (17:01 -0400)]
Fix a compiler warning in mkbundle by #including mono-config.h

12 years agoMinor formatting change
Steven Robbins [Fri, 29 Jul 2011 11:48:11 +0000 (12:48 +0100)]
Minor formatting change

12 years agoAdded test case for out of bounds exception on multiple calls.
Steven Robbins [Fri, 29 Jul 2011 11:29:15 +0000 (12:29 +0100)]
Added test case for out of bounds exception on multiple calls.

12 years ago[708178] - Type check invalid and breaks XmlSerialization if serializing ICollection...
scott fluto [Thu, 28 Jul 2011 21:19:43 +0000 (15:19 -0600)]
[708178] - Type check invalid and breaks XmlSerialization if serializing ICollection<> types

12 years agoOSX won't expose IPV6_PKTINFO unless __APPLE_USE_RFC_3542 is defined.
Rodrigo Kumpera [Tue, 26 Jul 2011 05:35:14 +0000 (02:35 -0300)]
OSX won't expose IPV6_PKTINFO unless __APPLE_USE_RFC_3542 is defined.

12 years agoHandle a race on thread cleanup.
Rodrigo Kumpera [Tue, 26 Jul 2011 02:19:01 +0000 (23:19 -0300)]
Handle a race on thread cleanup.

* mini.c (mini_thread_cleanup): Under some rare cases it's
possible to have a NULL lmf.

12 years agoFactor the lock-free growable array out of the lock-free array queue.
Mark Probst [Thu, 28 Jul 2011 11:45:43 +0000 (13:45 +0200)]
Factor the lock-free growable array out of the lock-free array queue.

12 years agoFactor the simple lock-free array queue out of hazard-pointer.c.
Mark Probst [Wed, 27 Jul 2011 17:14:09 +0000 (19:14 +0200)]
Factor the simple lock-free array queue out of hazard-pointer.c.

12 years ago[sgen] Don't use pthread_once() to init a TLS key, do it at GC init.
Mark Probst [Wed, 27 Jul 2011 17:03:23 +0000 (19:03 +0200)]
[sgen] Don't use pthread_once() to init a TLS key, do it at GC init.

12 years agoMerge pull request #93 from konrad-kruczynski/dispatcher_timer_fix
Miguel de Icaza [Thu, 28 Jul 2011 14:32:14 +0000 (07:32 -0700)]
Merge pull request #93 from konrad-kruczynski/dispatcher_timer_fix

[Fix] Fix for bug #677265 with DispatcherTimer.

12 years agoMerge pull request #136 from spencerhakim/master
Miguel de Icaza [Thu, 28 Jul 2011 14:27:32 +0000 (07:27 -0700)]
Merge pull request #136 from spencerhakim/master

Fixed SKEL_DIRECTORY definition in Release build of jay2010.vcxproj

12 years agoMerge pull request #139 from HorstKakuschke/master
Miguel de Icaza [Thu, 28 Jul 2011 14:25:00 +0000 (07:25 -0700)]
Merge pull request #139 from HorstKakuschke/master

Fix for Xamarin Bug 42: Exception 'TypeConverter cannot convert from System.String' when specifying soapExtensionReflectorTypes

12 years agoSame test for TaskCompletionSource
Jérémie Laval [Wed, 27 Jul 2011 23:51:19 +0000 (19:51 -0400)]
Same test for TaskCompletionSource

12 years agoEnsure that Task is in a correct initial state before starting it for real
Jérémie Laval [Wed, 27 Jul 2011 23:36:40 +0000 (19:36 -0400)]
Ensure that Task is in a correct initial state before starting it for real

12 years agoTest that futures throw Exception through Result property when they are Faulted
Jérémie Laval [Wed, 27 Jul 2011 23:35:50 +0000 (19:35 -0400)]
Test that futures throw Exception through Result property when they are Faulted

12 years agoAdd test for various AggregateException ctor exception situations
Jérémie Laval [Wed, 27 Jul 2011 22:31:13 +0000 (18:31 -0400)]
Add test for various AggregateException ctor exception situations

12 years agoMove innerExceptions internal null check at the right place.
Jérémie Laval [Wed, 27 Jul 2011 22:20:57 +0000 (18:20 -0400)]
Move innerExceptions internal null check at the right place.

12 years agoAdd testcase to ensure unobserved exception on Task are correctly propagated
Jérémie Laval [Wed, 27 Jul 2011 22:12:23 +0000 (18:12 -0400)]
Add testcase to ensure unobserved exception on Task are correctly propagated

12 years agoMakes AggregateException ToString output closer to .NET one
Jérémie Laval [Wed, 27 Jul 2011 22:01:22 +0000 (18:01 -0400)]
Makes AggregateException ToString output closer to .NET one

12 years agoFix AggregateException behavior
Jérémie Laval [Wed, 27 Jul 2011 21:51:20 +0000 (17:51 -0400)]
Fix AggregateException behavior

12 years agoAllow using a worker number that is greater than Environment.ProcessorCount for paral...
Jérémie Laval [Wed, 27 Jul 2011 20:22:24 +0000 (16:22 -0400)]
Allow using a worker number that is greater than Environment.ProcessorCount for parallel loops.

12 years agoAdd missing check for async scope in array access
Marek Safar [Wed, 27 Jul 2011 17:35:56 +0000 (18:35 +0100)]
Add missing check for async scope in array access

12 years agoNew test
Marek Safar [Wed, 27 Jul 2011 16:34:42 +0000 (17:34 +0100)]
New test

12 years ago[708408] Don't start recursive check when reporting inaccesible base type
Marek Safar [Wed, 27 Jul 2011 16:23:48 +0000 (17:23 +0100)]
[708408] Don't start recursive check when reporting inaccesible base type

12 years agoFix wsdl import wrt element qname (!= type name).
Atsushi Eno [Thu, 28 Jul 2011 04:03:31 +0000 (21:03 -0700)]
Fix wsdl import wrt element qname (!= type name).

12 years ago[sgen] Don't allow nursery sizes smaller than SGEN_MAX_NURSERY_WASTE.
Mark Probst [Wed, 27 Jul 2011 11:06:55 +0000 (13:06 +0200)]
[sgen] Don't allow nursery sizes smaller than SGEN_MAX_NURSERY_WASTE.

That's the smallest TLAB size SGen will use, so having a smaller
nursery makes no sense as it will never be used and all allocation
will be degraded.

12 years ago[sgen] Construct the array_fill_vtable manually.
Mark Probst [Wed, 27 Jul 2011 11:05:37 +0000 (13:05 +0200)]
[sgen] Construct the array_fill_vtable manually.

For very small nursery sizes the initalization happened too late, and
we can't do it early because we depend on other runtime stuff being
initialized.  This is a clean solution that only requires the byte
class to be initialized.

12 years ago[sgen] Accept numbers without suffixes in env var parameters.
Mark Probst [Wed, 27 Jul 2011 11:03:00 +0000 (13:03 +0200)]
[sgen] Accept numbers without suffixes in env var parameters.

12 years agoDon't invoke libc uname() on non-Unix systems
Jeffrey Stedfast [Tue, 26 Jul 2011 22:40:38 +0000 (18:40 -0400)]
Don't invoke libc uname() on non-Unix systems

12 years agoAvoid creating a temporary variable when target await expression is does not include...
Marek Safar [Tue, 26 Jul 2011 21:14:04 +0000 (22:14 +0100)]
Avoid creating a temporary variable when target await expression is does not include await

12 years agoUse simple null check for implicitly convertible reference types is check
Marek Safar [Tue, 26 Jul 2011 20:31:06 +0000 (21:31 +0100)]
Use simple null check for implicitly convertible reference types is check

12 years ago[sgen] Use the proper object size when scanning arrays from a card table.
Mark Probst [Tue, 26 Jul 2011 15:33:49 +0000 (17:33 +0200)]
[sgen] Use the proper object size when scanning arrays from a card table.

Using the block object size is incorrect since we might scan beyond
the end of the array.

12 years ago[sgen] Make the card table on AMD64 correct for 64 bit nursery addresses.
Mark Probst [Tue, 26 Jul 2011 14:37:48 +0000 (16:37 +0200)]
[sgen] Make the card table on AMD64 correct for 64 bit nursery addresses.

12 years ago[sgen] Print a warning when using binary protocol and card tables.
Mark Probst [Tue, 26 Jul 2011 14:36:56 +0000 (16:36 +0200)]
[sgen] Print a warning when using binary protocol and card tables.

12 years ago[sgen] Binary protocol for every write barrier, not just the generic store one.
Mark Probst [Tue, 26 Jul 2011 13:53:52 +0000 (15:53 +0200)]
[sgen] Binary protocol for every write barrier, not just the generic store one.

12 years ago[sgen] Make the binary protocol compile and work again.
Mark Probst [Tue, 26 Jul 2011 13:52:50 +0000 (15:52 +0200)]
[sgen] Make the binary protocol compile and work again.

12 years ago[sgen] Fix mono_gc_wbarrier_value_copy() for remsets.
Mark Probst [Tue, 26 Jul 2011 13:52:00 +0000 (15:52 +0200)]
[sgen] Fix mono_gc_wbarrier_value_copy() for remsets.

We must store the element size, not the size of the whole array.

12 years ago[sgen] Make mono_sgen_safe_object_get_size() handle forwarded objects.
Mark Probst [Tue, 26 Jul 2011 13:50:05 +0000 (15:50 +0200)]
[sgen] Make mono_sgen_safe_object_get_size() handle forwarded objects.

This is sometimes called on forwarded objects from the major collector
during finalization.  Now it doesn't crash anymore.

12 years ago[480178] Fix handling of surrogate characters.
Damien Diederen [Mon, 10 Jan 2011 18:30:07 +0000 (10:30 -0800)]
[480178] Fix handling of surrogate characters.

Note: This revision was originally supplied in six parts. Notes
accompanying each of the parts are reproduced below.

[PATCH v5 1/1] System.Char icall: New Unicode category tables compatible with MS .NET

These new category tables, generated using create-category-table(.cs)
available in the mcs sources, make the Mono runtime understand the
same Unicode category codes as recent versions of Microsoft's runtime.

CategoryData_v2 matches versions v2.0.50727 and v3.5.21022 of .NET.

CategoryData_v4 matches version v4.0.30319 of .NET.  The v4 tables can
be disabled by defining the DISABLE_NET_4_0 preprocessor symbol.

Similarly, the astral portions of both tables can be disabled by
defining the DISABLE_ASTRAL preprocessor symbol.

CAUTION: Mcs has to be updated with the corresponding patches, or Mono
will suffer a low-level (internal call) crash when initializing
System.Char.

[PATCH v5 1/5] create-category-table: Utility to generate reasonably-packed Unicode tables

This program generates (partially) bi-level tables encoding the
contents of the Unicode character category database.

Mono embeds a linear table with category codes for the Unicode
BMP (first 65536 codepoints), and lacks information about characters
in the astral planes--leading to requests such as bug 480178.
Extending the linear table to cover the full codespace is not an ideal
solution, as that would expand the embedded "blob" by a factor of 17.

The new tables generated by this program can be used to support the
full range of characters.  An additional level of indirection used for
characters outside the U+0000..U+FFFF range enables "page" sharing, so
that the total amount of embedded data only grows by 13.5kB.

Cf. in-file comments for usage instructions.

[PATCH v5 2/5] System.Char: Handle astral planes in (string,int) overload

If the string element at index starts a surrogate pair, we decode the
full codepoint and "query" the higher planes of the database.

This fixes bug 480178.

CAUTION: This commit depends on the following runtime change:

  System.Char icall: New Unicode category tables compatible with
  MS .NET.

Without it, Mono will suffer a low-level (internal call) crash when
initializing System.Char.

COMPATIBILITY

The updated Mono runtime as been verified to produce the same results
as Microsoft's; here are the MD5 sums of their Unicode category
database dumps (generated via create-category-table --dump, compiled
and executed under the relevant runtime):

    eba45e00acdc82f9a08873465110aef4  v2.0.50727.dump
    eba45e00acdc82f9a08873465110aef4  v3.5.21022.dump
    56fd5c828fbb9083693835680667fd2c  v4.0.30319.dump

    eba45e00acdc82f9a08873465110aef4  gmcs.dump
    56fd5c828fbb9083693835680667fd2c  dmcs.dump

These results will naturally differ if support for .NET v4 or astral
planes is disabled when building the runtime.  Note, also, that these
are different from the results produced by Mono prior to the
introduction of these changes, even for the BMP.

Other versions of the internal database can be easily generated using
create-category-table(.cs), but this currently requires a rebuild.

PERFORMANCE

Direct array indexing is mandatory for code points in the
U+0000..U+FFFF range; as pointed out by Andreas Nahr, performing
bi-level lookups in the Char.Is*(char) predicates cause the JIT to
stop inlining them and results in an important performance drop.

The simple data access pattern used for higher planes, suggested by
Paolo Molaro, is fairly efficient but currenly only used by this
non-optimized method.

[PATCH v5 3/5] Globalization.IdnMappingTest: U+0221 is not unassigned anymore, use U+18B0

U+0221 is LATIN SMALL LETTER D WITH CURL in Unicode 4.0, and is recognized as a
valid letter in recent versions of the .NET framework.  This causes
GetAsciiInvalid to (unexpectedly) succeed, and the test to fail.

Use U+18B0 instead, which is unassigned as of Unicode 5.2 and .NET 3.5 SP1.

[PATCH v5 4/5] CharCategoryTest: Update category dumps to match MS .NET

The category codes in newer versions of Microsoft's framework are not
compatible with the ones encoded in this class, causing tests to fail.
Fix that by using new sets of dumps generated under v3.5.21022 and
v4.0.30319.

Also, drop CharTest.IsWhiteSpace_Complete as the same checks are
performed by CharCategoryTest.IsWhiteSpace.

While we are at it, improve the generator so that:

  - common code is shared between the generator and the test;

  - a number of test cases can be generated at once via
    command-line arguments;

  - the dumps are word-wrapped, enhancing legibility and avoiding
    line length limitations in some compilers.

[PATCH v5 5/5] CharTest: Add tests for astral plane characters/surrogate pairs

  - Show that Char.GetUnicodeCategory(string,int) results in a
    lookup into the higher planes of the Unicode database when invoked
    on a valid surrogate pair, and returns the "normal" category code
    otherwise.

  - Perform a few sanity checks on the results of ConvertFromUtf32
    and GetUnicodeCategory when invoked on codepoints from the
    higher planes.
(cherry picked from commit 70dff8b4272dba83bed23e6502499646526efd59)