mono.git
12 years agoAvoid assert and crash when allocating smaller large objects in sgen.
Paolo Molaro [Mon, 5 Dec 2011 14:44:51 +0000 (15:44 +0100)]
Avoid assert and crash when allocating smaller large objects in sgen.

12 years agoFixed crash in sgen when a large array can't be allocated.
Paolo Molaro [Mon, 5 Dec 2011 14:27:28 +0000 (15:27 +0100)]
Fixed crash in sgen when a large array can't be allocated.

12 years agoUpdate to the latest IKVM.Reflection
Marek Safar [Mon, 5 Dec 2011 12:17:02 +0000 (12:17 +0000)]
Update to the latest IKVM.Reflection

12 years agoGet rid of MONO_ARCH_HAVE_STATIC_RGCTX_TRAMPOLINE, use MONO_ARCH_GSHARED_SUPPORTED...
Zoltan Varga [Mon, 5 Dec 2011 09:58:05 +0000 (10:58 +0100)]
Get rid of MONO_ARCH_HAVE_STATIC_RGCTX_TRAMPOLINE, use MONO_ARCH_GSHARED_SUPPORTED instead. Set MONO_ARCH_RGCTX_REG to MONO_ARCH_IMT_REG on most platforms. Fix MONO_ARCH_VTABLE_REG on MIPS.

12 years agoFix infinite recursion introduced by the previous patch.
Zoltan Varga [Mon, 5 Dec 2011 05:00:48 +0000 (06:00 +0100)]
Fix infinite recursion introduced by the previous patch.

12 years agoAOT the cctor of generic classes which are referenced by SFLDA patches and superclass...
Zoltan Varga [Mon, 5 Dec 2011 04:52:42 +0000 (05:52 +0100)]
AOT the cctor of generic classes which are referenced by SFLDA patches and superclasses of generic instances. Fixes #2155

12 years agoDisable some unstable Task tests.
Zoltan Varga [Mon, 5 Dec 2011 03:15:53 +0000 (04:15 +0100)]
Disable some unstable Task tests.

12 years agoMerge pull request #197 from ch5oh/master
Marek Safar [Sun, 4 Dec 2011 10:03:41 +0000 (02:03 -0800)]
Merge pull request #197 from ch5oh/master

Comments for SqlBulkCopyOptions enum describes expected behaviour

12 years agoComments for SqlBulkCopyOptions enum describes expected behaviour
Oleg Petrov [Sun, 4 Dec 2011 09:12:56 +0000 (13:12 +0400)]
Comments for SqlBulkCopyOptions enum describes expected behaviour

12 years agoImplement frame pointer elimination on MIPS.
Zoltan Varga [Sun, 4 Dec 2011 04:48:43 +0000 (04:48 +0000)]
Implement frame pointer elimination on MIPS.

12 years agoOnly save a subset of registers in the LMF on MIPS.
Zoltan Varga [Sun, 4 Dec 2011 03:22:45 +0000 (03:22 +0000)]
Only save a subset of registers in the LMF on MIPS.

12 years agoFinish sdb support on MIPS. Fix resume_context () to restore all registers. Fix UCONT...
Zoltan Varga [Sat, 3 Dec 2011 06:52:29 +0000 (06:52 +0000)]
Finish sdb support on MIPS. Fix resume_context () to restore all registers. Fix UCONTEXT_ definitions.

12 years agoMerge pull request #196 from ch5oh/master
Marek Safar [Sat, 3 Dec 2011 13:09:18 +0000 (05:09 -0800)]
Merge pull request #196 from ch5oh/master

Argument checks and 2 new ctor tests for SqlBulkCopy class

12 years agoInitial tests (for constructors) of SqlBulkCopy class
Oleg Petrov [Fri, 2 Dec 2011 18:49:50 +0000 (22:49 +0400)]
Initial tests (for constructors) of SqlBulkCopy class

12 years ago2 new tests for ctors
Oleg Petrov [Fri, 2 Dec 2011 18:36:53 +0000 (22:36 +0400)]
2 new tests for ctors

12 years agoNot null checks for ctors
Oleg Petrov [Fri, 2 Dec 2011 18:35:28 +0000 (22:35 +0400)]
Not null checks for ctors

12 years agoFix the build.
Zoltan Varga [Sat, 3 Dec 2011 00:12:23 +0000 (01:12 +0100)]
Fix the build.

12 years agoInclude System.IO.MemoryMappedFiles in the MOBILE profile
Miguel de Icaza [Fri, 2 Dec 2011 18:10:46 +0000 (13:10 -0500)]
Include System.IO.MemoryMappedFiles in the MOBILE profile

12 years agoTest for assignability of arrays to generic interfaces. Fixes #2304.
Jb Evain [Fri, 2 Dec 2011 15:45:10 +0000 (16:45 +0100)]
Test for assignability of arrays to generic interfaces. Fixes #2304.

12 years agoAdd test for bug #2304
Jb Evain [Fri, 2 Dec 2011 15:44:29 +0000 (16:44 +0100)]
Add test for bug #2304

12 years agoNew test
Marek Safar [Fri, 2 Dec 2011 15:35:43 +0000 (15:35 +0000)]
New test

12 years agoImplement some System.Net.Http.Headers
Marek Safar [Fri, 2 Dec 2011 15:23:50 +0000 (15:23 +0000)]
Implement some System.Net.Http.Headers

12 years agoOngoing MIPS work. Fix varargs, implement delegate trampolines, fix OP_FCALL_MEMBASE...
Zoltan Varga [Fri, 2 Dec 2011 10:18:26 +0000 (10:18 +0000)]
Ongoing MIPS work. Fix varargs, implement delegate trampolines, fix OP_FCALL_MEMBASE. All tests in mini/ and tests/ run now.

12 years agoOngoing MIPS work. Fix mips_load () to be patchable, fix endianness issue in OP_MIPS_...
Zoltan Varga [Fri, 2 Dec 2011 06:20:16 +0000 (06:20 +0000)]
Ongoing MIPS work. Fix mips_load () to be patchable, fix endianness issue in OP_MIPS_MFC1D, fix OP_JMP. make rcheck runs now.

12 years agoChange calling convention info on MIPS to use the same terminology as on other platforms.
Zoltan Varga [Fri, 2 Dec 2011 05:06:22 +0000 (05:06 +0000)]
Change calling convention info on MIPS to use the same terminology as on other platforms.

12 years agoAdd configure checks for arm hardfp abi, not supported yet.
Zoltan Varga [Fri, 2 Dec 2011 02:49:51 +0000 (03:49 +0100)]
Add configure checks for arm hardfp abi, not supported yet.

12 years agoImplement mono_arch_setup_resume_sighandler_ctx () on arm to fix sdb+thumb.
Zoltan Varga [Fri, 2 Dec 2011 02:14:00 +0000 (03:14 +0100)]
Implement mono_arch_setup_resume_sighandler_ctx () on arm to fix sdb+thumb.

12 years agoAdd a Length property and a GetChars () method to StringMirror. Fixes #2301.
Zoltan Varga [Fri, 2 Dec 2011 00:22:09 +0000 (01:22 +0100)]
Add a Length property and a GetChars () method to StringMirror. Fixes #2301.

12 years agoAdd change to mono_arch_skip_breakpoint as for other archs
Neale Ferguson [Thu, 1 Dec 2011 16:38:56 +0000 (11:38 -0500)]
Add change to mono_arch_skip_breakpoint as for other archs

12 years agoInitial sgen mips port.
Paolo Molaro [Thu, 1 Dec 2011 08:56:28 +0000 (08:56 +0000)]
Initial sgen mips port.

12 years agoMerge pull request #193 from ch5oh/master
Marek Safar [Thu, 1 Dec 2011 08:42:22 +0000 (00:42 -0800)]
Merge pull request #193 from ch5oh/master

Ctor tests for SqlBulkCopy class

12 years agoImplement sdb+aot support for amd64 for completeness.
Zoltan Varga [Thu, 1 Dec 2011 01:38:46 +0000 (02:38 +0100)]
Implement sdb+aot support for amd64 for completeness.

12 years agoFix an sdb test which got broken by 68005a01a31294e70b86e42fba41274969911579.
Zoltan Varga [Thu, 1 Dec 2011 01:36:48 +0000 (02:36 +0100)]
Fix an sdb test which got broken by 68005a01a31294e70b86e42fba41274969911579.

12 years agoEmit line number table in the sdb debug log.
Zoltan Varga [Tue, 29 Nov 2011 18:31:57 +0000 (19:31 +0100)]
Emit line number table in the sdb debug log.

12 years agoThese tests show difference between original .NET behaviour and current Mono implemen...
Oleg Petrov [Wed, 30 Nov 2011 23:40:16 +0000 (03:40 +0400)]
These tests show difference between original .NET behaviour and current Mono implementation

12 years agoFix some gshared+aot problems in sdb. Fixes the crash in #664.
Zoltan Varga [Wed, 30 Nov 2011 22:08:58 +0000 (23:08 +0100)]
Fix some gshared+aot problems in sdb. Fixes the crash in #664.

12 years agoAdd tests for InternalArray::GetIndex
Marek Safar [Wed, 30 Nov 2011 14:17:01 +0000 (14:17 +0000)]
Add tests for InternalArray::GetIndex

12 years agoInitial System.Net.Http.Headers implementation
Marek Safar [Wed, 30 Nov 2011 13:45:45 +0000 (13:45 +0000)]
Initial System.Net.Http.Headers implementation

12 years agoFix Array::Contains for null items via ICollection<T>. Fixes #2260
Marek Safar [Wed, 30 Nov 2011 13:44:17 +0000 (13:44 +0000)]
Fix Array::Contains for null items via ICollection<T>. Fixes #2260

12 years agoEnsure that [Parameterized]ThreadStart code is always wrapped in a NSAutoreleasePool...
Sebastien Pouliot [Wed, 30 Nov 2011 00:54:44 +0000 (19:54 -0500)]
Ensure that [Parameterized]ThreadStart code is always wrapped in a NSAutoreleasePool for MonoTouch. Fix bug #1999

12 years ago[monodoc] Removed debug spew
Jeffrey Stedfast [Tue, 29 Nov 2011 21:11:10 +0000 (16:11 -0500)]
[monodoc] Removed debug spew

12 years agoWin32 compilation fixes for sgen.
Paolo Molaro [Tue, 29 Nov 2011 15:53:51 +0000 (16:53 +0100)]
Win32 compilation fixes for sgen.

12 years agoDisable an assert in mini-gc.c which can be hit. Fixes #2211.
Zoltan Varga [Mon, 28 Nov 2011 18:23:54 +0000 (19:23 +0100)]
Disable an assert in mini-gc.c which can be hit. Fixes #2211.

12 years agoFix bug #395 (part 2)
Tom Hindle [Mon, 28 Nov 2011 17:52:29 +0000 (10:52 -0700)]
Fix bug #395 (part 2)

12 years agoFix bug #395
Tom Hindle [Mon, 28 Nov 2011 17:49:29 +0000 (10:49 -0700)]
Fix bug #395

12 years agoAdd debug parser target
Marek Safar [Mon, 28 Nov 2011 13:26:54 +0000 (13:26 +0000)]
Add debug parser target

12 years agoUse dwarf unwind info on MIPS.
Zoltan Varga [Mon, 28 Nov 2011 03:51:40 +0000 (03:51 +0000)]
Use dwarf unwind info on MIPS.

12 years agoOngoing MIPS work. Fix more endianness issues. Fix order fp compares.
Zoltan Varga [Sun, 27 Nov 2011 01:17:51 +0000 (01:17 +0000)]
Ongoing MIPS work. Fix more endianness issues. Fix order fp compares.

12 years agoFix warnings on MIPS.
Zoltan Varga [Sat, 26 Nov 2011 23:19:32 +0000 (23:19 +0000)]
Fix warnings on MIPS.

12 years agoInitial soft debugger support for MIPS.
Zoltan Varga [Sat, 26 Nov 2011 22:52:45 +0000 (23:52 +0100)]
Initial soft debugger support for MIPS.

12 years agoAdd a heuristic to insert_breakpoint () to avoid 'Unable to insert breakpoint' errors...
Zoltan Varga [Sat, 26 Nov 2011 17:08:07 +0000 (18:08 +0100)]
Add a heuristic to insert_breakpoint () to avoid 'Unable to insert breakpoint' errors in some cases, since the set of IL offsets in the debug info doesn't completely match what the JIT generates. Fixes #407.

12 years agoSave the stack space used by arguments into MonoJitInfo to avoid calling mono_arch_ge...
Zoltan Varga [Thu, 24 Nov 2011 19:04:17 +0000 (20:04 +0100)]
Save the stack space used by arguments into MonoJitInfo to avoid calling mono_arch_get_arg_info () during stack walking, since it is not signal safe. Fixes #2190.

12 years agoAdd C# errors to search index so that it can be accessed by search tools (like webdoc...
Jeremie Laval [Sat, 26 Nov 2011 14:30:45 +0000 (15:30 +0100)]
Add C# errors to search index so that it can be accessed by search tools (like webdoc's fastsearch)

12 years agoUnit test for bug #821.
Thomas Goldstein [Sat, 26 Nov 2011 00:26:27 +0000 (01:26 +0100)]
Unit test for bug #821.

12 years agoEnsure DataGridViewRowCollection.Insert() doesn't change element type. Fixes bug...
Thomas Goldstein [Sat, 26 Nov 2011 00:17:02 +0000 (01:17 +0100)]
Ensure DataGridViewRowCollection.Insert() doesn't change element type. Fixes bug #821.

12 years agoFix type inference for nested non-generic delegates inside generic classes
Marek Safar [Fri, 25 Nov 2011 20:09:46 +0000 (20:09 +0000)]
Fix type inference for nested non-generic delegates inside generic classes

12 years agoUpdate expresion visitor based on MD changes
Marek Safar [Thu, 24 Nov 2011 18:48:24 +0000 (18:48 +0000)]
Update expresion visitor based on MD changes

12 years agoFix error message.
Rodrigo Kumpera [Fri, 25 Nov 2011 12:03:50 +0000 (10:03 -0200)]
Fix error message.

12 years agoImprove error reporting on test failure.
Rodrigo Kumpera [Thu, 24 Nov 2011 23:02:48 +0000 (21:02 -0200)]
Improve error reporting on test failure.

12 years agoMake INodeVisitor methods nonvirtual by augmenting nodes with interfaces.
Rodrigo Kumpera [Thu, 24 Nov 2011 22:46:02 +0000 (20:46 -0200)]
Make INodeVisitor methods nonvirtual by augmenting nodes with interfaces.

12 years agoAdd an assert () to thread_suspend_func ().
Zoltan Varga [Thu, 24 Nov 2011 22:32:33 +0000 (23:32 +0100)]
Add an assert () to thread_suspend_func ().

12 years agoImplementations of Uri.Equals must not throw exceptions. Fixes #2023
Marek Safar [Thu, 24 Nov 2011 13:21:06 +0000 (13:21 +0000)]
Implementations of Uri.Equals must not throw exceptions. Fixes #2023

12 years agoFix 4.5 framework path used by xbuild
Marek Safar [Thu, 24 Nov 2011 12:59:26 +0000 (12:59 +0000)]
Fix 4.5 framework path used by xbuild

12 years agoClone input collection for ObservableCollection<T>. Fixes #2169
Marek Safar [Thu, 24 Nov 2011 12:56:50 +0000 (12:56 +0000)]
Clone input collection for ObservableCollection<T>. Fixes #2169

12 years agoAdd System.Collections.ObjectModel tests
Marek Safar [Thu, 24 Nov 2011 12:27:10 +0000 (12:27 +0000)]
Add System.Collections.ObjectModel tests

12 years agoExtend JsonSerializerReader to support nullables and parse a wider range of Date...
Miguel de Icaza [Thu, 24 Nov 2011 06:29:20 +0000 (01:29 -0500)]
Extend JsonSerializerReader to support nullables and parse a wider range of Date formats, fixes x#163

12 years agoFix some endianess problems on mips.
Zoltan Varga [Thu, 24 Nov 2011 05:25:16 +0000 (05:25 +0000)]
Fix some endianess problems on mips.

12 years agoUpdated with Xamarin copyrights
Miguel de Icaza [Thu, 24 Nov 2011 03:47:12 +0000 (22:47 -0500)]
Updated with Xamarin copyrights

12 years agoUpdated with Xamarin copyrights
Miguel de Icaza [Thu, 24 Nov 2011 03:46:04 +0000 (22:46 -0500)]
Updated with Xamarin copyrights

12 years agoUpdated with Xamarin copyrights
Miguel de Icaza [Thu, 24 Nov 2011 03:44:58 +0000 (22:44 -0500)]
Updated with Xamarin copyrights

12 years agoUpdated with Xamarin copyrights
Miguel de Icaza [Thu, 24 Nov 2011 03:42:50 +0000 (22:42 -0500)]
Updated with Xamarin copyrights

12 years agoAlways free _WapiFileShare entries using _wapi_free_share_info (), otherwise zeroed...
Zoltan Varga [Thu, 24 Nov 2011 01:33:32 +0000 (02:33 +0100)]
Always free _WapiFileShare entries using _wapi_free_share_info (), otherwise zeroed out entries remain in the hash table when shared handles are disabled. Fixes #2170.

12 years agoCorrectly calculate the number of cards to be marked.
Rodrigo Kumpera [Wed, 23 Nov 2011 22:23:37 +0000 (20:23 -0200)]
Correctly calculate the number of cards to be marked.

* sgen-cardtable.c (sgen_card_table_mark_range): The number of
pages to be marked must be correctly calculated to avoid the case
when the in-card offset of the start address is bigger than
of the end address and cause the last card to be skipped.

Fixes #1917

12 years agoSpeedup get_execution_context_addr.
Rodrigo Kumpera [Wed, 23 Nov 2011 18:22:00 +0000 (16:22 -0200)]
Speedup get_execution_context_addr.

* threads.c (get_execution_context_addr): This function is called
by the threadpool machinery and a contention hotspot. So we
cache the thread local offset per domain.

12 years agoFix a theoretical deadlock found by valgrind. It was never reported.
Rodrigo Kumpera [Wed, 23 Nov 2011 18:21:46 +0000 (16:21 -0200)]
Fix a theoretical deadlock found by valgrind. It was never reported.

12 years agoAn enhanced fix for GB18030's GC problem, by allocating the underlaying table buffer...
Pablo Ruiz Garcia [Wed, 16 Nov 2011 21:10:19 +0000 (22:10 +0100)]
An enhanced fix for GB18030's GC problem, by allocating the underlaying table buffer from Marshal.AllocHGlobal, as the previous solution would fail if GC moves the memory pointed to by the static field..

12 years agoAvoid internal character table used by gb18030 (on ms.net) from being collected by GC.
Pablo Ruiz Garcia [Wed, 16 Nov 2011 20:18:36 +0000 (21:18 +0100)]
Avoid internal character table used by gb18030 (on ms.net) from being collected by GC.

12 years agoFixes #683475: - Fixed ISO2022JPEncoder's GetBytesCount(..) to avoid it from returnin...
Pablo Ruiz Garcia [Tue, 15 Nov 2011 17:50:43 +0000 (18:50 +0100)]
Fixes #683475: - Fixed ISO2022JPEncoder's GetBytesCount(..) to avoid it from returning invalid calculations leading to buffer overflows during GetBytes(..). - Fixed MonoEncoding::HandleFallback(..) off-by-one error when handling double-byte replacements. - Fixed ISO2022JPEncoder::GetBytes(..) invalid translation of some full width characters (U+FF60 ~ U+FF0A) when using halfwide kana mapping. - Fixed ISO2022JPEncoder::GetBytes(..) invalid translation of IDEOGRAPHIC SPACE (U+3000) character. - Refactor of MonoEncoding::HandleFallback(..) to correctly support replacement of inv. characters by statefull encoders/encodings (like ISO-2022-JP).

NOTE: This fixes were found by creating alternative safe-only implementations of the actual CJK encoders. Such implementations are disabled by default for performance reasons, but can be enabled if needed by using the conditional compiling flag DISABLE_UNSAFE.

12 years agoPrint errors comming from lambda expressions before error mode execution. Fixes ...
Marek Safar [Wed, 23 Nov 2011 18:25:28 +0000 (18:25 +0000)]
Print errors comming from lambda expressions before error mode execution. Fixes #2083

12 years agoTry to initialize for statement from incomplete statements
Marek Safar [Wed, 23 Nov 2011 16:08:34 +0000 (16:08 +0000)]
Try to initialize for statement from incomplete statements

12 years agoAdd instance qualifier check to overload resolver. Fixes #2160
Marek Safar [Wed, 23 Nov 2011 14:05:07 +0000 (14:05 +0000)]
Add instance qualifier check to overload resolver. Fixes #2160

12 years agoFix a crash introduced by 64d35e3940f7b0e1839c1906855c29862e6ab8c1. Fixes #2150.
Zoltan Varga [Tue, 22 Nov 2011 21:56:43 +0000 (22:56 +0100)]
Fix a crash introduced by 64d35e3940f7b0e1839c1906855c29862e6ab8c1. Fixes #2150.

12 years agoScan all ephemeron arrays during nursery collections.
Rodrigo Kumpera [Tue, 22 Nov 2011 19:19:34 +0000 (17:19 -0200)]
Scan all ephemeron arrays during nursery collections.

* sgen-gc.c (mark_ephemerons_in_range): All ephemeron arrays
must be scanned during a nursery collection since we ignore
them during remset processing for a good reason.

In the future we should use cardtable information to avoid
scanning the whole thing.

Fixes bxc #1175.

12 years ago[mdoc-update] Filename comparison should be OrdinalIgnoreCase.
Jonathan Pryor [Tue, 22 Nov 2011 15:58:49 +0000 (10:58 -0500)]
[mdoc-update] Filename comparison should be OrdinalIgnoreCase.

Consider the intermix of a case-sensitive language (C#) and a
case-insensitive filesystem (OSX, Windows):

namespace A {
public class Foo {}
}
namespace a {
public class Bar {}
}

On a case-sensitive filesystem, this will generate the structure:

en/A/Foo.xml
en/a/Bar.xml

On a case-insensitive filesystem, we instead get:

en/A/Foo.xml
en/A/Bar.xml

The problem with this is that CleanupFiles() uses filenames to index
into the `goodfiles` HashSet<string>`, and the filenames will contain
e.g. "en/A/Bar.xml" for a.Bar, which won't exist in the HashSet, so it
thus thinks the type doesn't exist and removes the file.

This is obviously bad, but the fix is trivial: `goodfiles` should use
an OrdinalIgnoreCase string comparison, as this is what the filesystem
will be using on OS X and Windows.

12 years agoExplictly type SLE member binding type
Marek Safar [Tue, 22 Nov 2011 16:38:17 +0000 (16:38 +0000)]
Explictly type SLE member binding type

12 years agoFixed StringBuilder.Clear() to properly clear the cached string.
Paolo Molaro [Tue, 22 Nov 2011 11:04:05 +0000 (12:04 +0100)]
Fixed StringBuilder.Clear() to properly clear the cached string.

12 years agoFix the build by including net_2_0 in MONO_PATH when running mdoc.
Zoltan Varga [Tue, 22 Nov 2011 03:56:51 +0000 (04:56 +0100)]
Fix the build by including net_2_0 in MONO_PATH when running mdoc.

12 years ago[MonoDroid] Only alias stdout/stderr on Android devices.
Jonathan Pryor [Mon, 21 Nov 2011 23:39:32 +0000 (18:39 -0500)]
[MonoDroid] Only alias stdout/stderr on Android devices.

Mono for Android uses Mono 2.10 + smcs to build code, which thus uses
an smcs built against the Mono for Android profile assemblies, which
would thus be built with MONODROID defined. Thus (understandably) dies
at runtime with a DllNotFoundException, as liblog.so can't be found.

Fix smcs.

12 years agoImplement serialization
Neale Ferguson [Mon, 21 Nov 2011 21:32:14 +0000 (16:32 -0500)]
Implement serialization

12 years ago[MonoDroid] Fix the libmono build.
Jonathan Pryor [Mon, 21 Nov 2011 17:42:58 +0000 (12:42 -0500)]
[MonoDroid] Fix the libmono build.

7e49d08a nee 2763aae9c doesn't build because <fcntl.h> is missing:

mono/utils/mono-proclib.c:517: error: 'O_RDONLY' undeclared (first use in this function

Fix the build.

12 years ago[corlib] On Android, alias stdout/stderr to logcat.
Jonathan Pryor [Mon, 21 Nov 2011 14:15:02 +0000 (09:15 -0500)]
[corlib] On Android, alias stdout/stderr to logcat.

In Mono for Android, stdout and stderr (file descriptors 1 and 2) are
only visible when debugging within MonoDevelop and/or Visual Studio,
which is rather annoying.

This was changed in Mono for Android 1.9.2, by using Console.SetOut()
and Console.SetError() to send stdout/stderr message to both
stdout/stderr and to the Android Debug Log (`adb logcat`), allowing
e.g. Console.WriteLine() output to be viewed outside of a debugger.

Problem: in order to capture user-generated messages at their earliest
point, Console.SetOut()/etc. must be called at the earliest point in
Mono for Android initialization, even if Console.WriteLine() is never
used. Worse, this adds ~180ms of startup overhead on a Nexus One.

The fix here is to move the std*/logcat duplication logic into
mscorlib.dll, so that we can configure things within the
System.Console static constructor. This moves the initialization
penalty onto users of System.Console (instead of all users).

12 years agoFlush the output file in mono_counters_dump ().
Zoltan Varga [Sun, 20 Nov 2011 14:00:45 +0000 (15:00 +0100)]
Flush the output file in mono_counters_dump ().

12 years agoFree debug info for dynamic methods by storing it in malloc-ed memory instead of...
Zoltan Varga [Sun, 20 Nov 2011 13:09:56 +0000 (14:09 +0100)]
Free debug info for dynamic methods by storing it in malloc-ed memory instead of the normal debugger tables. Fixes #731579.

12 years agoAdd back an #ifdef removed by 440d85fdba17ea3b7165b312ff07731df4365914.
Zoltan Varga [Sun, 20 Nov 2011 12:51:18 +0000 (13:51 +0100)]
Add back an #ifdef removed by 440d85fdba17ea3b7165b312ff07731df4365914.

12 years agoFix the Stderr StreamWriter
Miguel de Icaza [Sun, 20 Nov 2011 01:45:42 +0000 (20:45 -0500)]
Fix the Stderr StreamWriter

This fixes the initialization of the Stderr property when used in a Console
(no redirected output) to use the CStreamWriter class instead of the
UnexpectionalStreamWriter class.

The CStreamWriter class already ignores IOException problems, just like the
UnexpectionalStreamWriter class, so there is no need to wrap this twice.

Before this fix, interleaved writes to stdout and stderr would keep the
Cursor properties out of sync, as the Stderr output would go directly to the
console, skipping our internal state tracking.

The following sample used to print 0:

Console.CursorTop = 0;
Console.Error.WriteLine ("Boo!");
Console.WriteLine (Console.CursorTop)

Now it prints 1.

12 years agoImplement SLE recursive initialization of members of a field or property. Fixes ...
Marek Safar [Fri, 18 Nov 2011 19:44:02 +0000 (19:44 +0000)]
Implement SLE recursive initialization of members of a field or property. Fixes #2082.

12 years agoAdd an 'fd' field to WapiHandle_file, to make it easier to break the fd==handle depen...
Zoltan Varga [Thu, 17 Nov 2011 18:30:40 +0000 (13:30 -0500)]
Add an 'fd' field to WapiHandle_file, to make it easier to break the fd==handle dependency in the future.

12 years agoAdd an explicit initialization function to io-layer, and use it to avoid calling...
Zoltan Varga [Thu, 17 Nov 2011 10:45:06 +0000 (05:45 -0500)]
Add an explicit initialization function to io-layer, and use it to avoid calling shared_init () from a lot of places on demand.

12 years agoRemove unused io layer daemon files.
Zoltan Varga [Thu, 17 Nov 2011 09:57:53 +0000 (04:57 -0500)]
Remove unused io layer daemon files.

12 years agoRework io-layer logging to use a single DEBUG macro instead of #ifdef DEBUG.
Zoltan Varga [Thu, 17 Nov 2011 09:53:17 +0000 (04:53 -0500)]
Rework io-layer logging to use a single DEBUG macro instead of #ifdef DEBUG.