Implement a fast version of mono_get_lmf_addr () on ARM by inlining the call to pthread_getspecific () into the managed to native wrappers.
When serializing floats and doubles, use the InvariantCulture, so that floats are always stored in Json format, not the locale-specific format;   As reported on irc
Added tests to PathTest.cs
Merge pull request #579 from LogosBible/bug10788

UTF8Decoder.GetChars(Byte[], Int32, Int32, Char[], Int32, Boolean) can w...
Merge pull request #581 from TalAloni/master

System.IO.Path bugfix
Make x64 compilation work out of the box

Change the default projects that are compiled for x64
Merge pull request #583 from TalAloni/master

Make x64 compilation work out of the box
System.Text.Decoder throws ArgumentOutOfRangeException when it should not. Fixes Bug #10789

Similar to previously reported bug #6404, according to the documentation at http://msdn.microsoft.com/en-us/library/h6w985hz.aspx, System.Text.Encoder throws ArgumentOutOfRangeExceptions when it should not. From the documentation, an ArgumentOutOfRangeException should be thrown when:

charIndex, charCount, byteIndex, or byteCount is less than zero.
-or-
The length of chars - charIndex is less than charCount.
-or-
The length of bytes - byteIndex is less than byteCount.

To reproduce, run the following code:

int charsUsed, bytesUsed;
bool completed;
byte[] bytes = new byte[4096];
char[] chars = new char[4096];
System.Text.Encoding.UTF8.GetDecoder().Convert(bytes, 0, 0, chars, 4096, 0, false, out bytesUsed, out charsUsed, out completed);

Expected:

The code runs, charsUsed equals zero, bytesUsed equals zero and completed is true.

Actual:

Mono throws an ArgumentOutOfRangeException for charIndex.

There are also other behavioral differences between Mono and Microsoft's implementation for the GetChars(Byte[], Int32, Int32, Char[], Int32, Boolean) method, such as:

byte[] bytes = new byte[4096];
char[] chars = new char[10];
int charactersWritten = System.Text.Encoding.UTF8.GetDecoder().GetChars(bytes, 0, 0, chars, 10, false);

On Mono, this results in an ArgumentOutOfRangeException for charIndex, where for Microsoft charactersWritten = 0.

Similarly:

byte[] bytes = new byte[4096];
char[] chars = new char[10];
int charactersWritten = System.Text.Encoding.UTF8.GetDecoder().GetChars(bytes, 0, 4096, chars, 10, false);

On Mono, this results in the same ArgumentOutOfRangeException for charIndex, where Microsoft throws and ArgumentException. since "chars does not have enough capacity from charIndex to the end of the array to accommodate the resulting characters."
Merge pull request #584 from LogosBible/bug10789-resubmit

System.Text.Decoder throws ArgumentOutOfRangeException when it should no...
Fix for bug 10233 about Socket.BeginSendFile
Tests update for mobile profile
Fix ReadOnlyDictionary public api
Fix object::GetType when remoting is enabled.
Revert "Fix object::GetType when remoting is enabled."

This reverts commit 93e2d1dc48339be472300910e9290939ee253177.
Fix again object::GetType ()
Bring back ActivationServices::AllocateUninitializedClassInstance as this is used by the serialization machinery and we need it to work on mobile.
Disable failing socket test
RemotingServices::IsTransparentProxy doesn't work on mobile.
Don't check for TransparentProxies on mobile as they don't work.
Fix cross compilation under DISABLE_REMOTING