Marek Safar [Thu, 9 Sep 2010 18:51:26 +0000 (19:51 +0100)]
Report precise error about local variable hiding
Marek Safar [Thu, 9 Sep 2010 16:41:04 +0000 (17:41 +0100)]
Do all possible mistaken empty statement checks in the parser
Marek Safar [Thu, 9 Sep 2010 16:10:40 +0000 (17:10 +0100)]
Don't recreate top-level destructor block, it carries precious stuff
Andrew Jorgensen [Thu, 9 Sep 2010 15:57:59 +0000 (09:57 -0600)]
Various cleanup and addition
Gonzalo Paniagua Javier [Thu, 9 Sep 2010 15:46:06 +0000 (11:46 -0400)]
UDP sockets allow connections to Any
UDP sockets that call Connect() to set a default address for datagrams
sent, can call Connect() again with IPv6Any or Any to 'disconnect'.
Fixes bug #639098.
Marek Safar [Thu, 9 Sep 2010 14:58:13 +0000 (15:58 +0100)]
Try to recover after each wrong statement.
Marek Safar [Thu, 9 Sep 2010 14:00:50 +0000 (15:00 +0100)]
__arglist can be used as an expression.
Marek Safar [Thu, 9 Sep 2010 12:54:32 +0000 (13:54 +0100)]
The first push to make flow-analysis work for complex blocks.
All blocks are now strictly hierachical which greatly simplifies many
things and fixes many subtle bugs with local names. Removing the block
cross references helps scalling when compiling deeply nested blocks or
large method bodies including linq. Prepared possible dynamic statements
to work with variable declarators.
Atsushi Eno [Thu, 9 Sep 2010 12:51:31 +0000 (21:51 +0900)]
It should not fail to generate client proxy generation for having two "IsRequest=false" messages (it is set only in ContractDescriptionGenerator).
Jb Evain [Thu, 9 Sep 2010 08:14:40 +0000 (10:14 +0200)]
add mono-abi-info to gitignore
Jb Evain [Thu, 9 Sep 2010 08:14:01 +0000 (10:14 +0200)]
add ignore file
Jb Evain [Thu, 9 Sep 2010 08:13:10 +0000 (10:13 +0200)]
Fix System.Core usage of bootstrap .sources from the normal .sources
Jb Evain [Thu, 9 Sep 2010 08:12:47 +0000 (10:12 +0200)]
Fix System usage of bootstrap .sources from the normal .sources
Jb Evain [Thu, 9 Sep 2010 08:12:29 +0000 (10:12 +0200)]
Fix corlib usage of bootstrap .sources from the normal .sources
Zoltan Varga [Thu, 9 Sep 2010 03:42:11 +0000 (05:42 +0200)]
Clean the aot log file too.
Zoltan Varga [Wed, 8 Sep 2010 23:12:09 +0000 (01:12 +0200)]
Avoid freeing the allocated monitors on shutdown, it seems to cause crashes
when running with SGEN, since SGEN writes to those arrays in:
==29095== at 0x6844E5: add_or_remove_disappearing_link (sgen-gc.c:4143)
==29095== by 0x6845F8: mono_gc_register_disappearing_link (sgen-gc.c:4167)
==29095== by 0x67DE35: clear_domain_process_object (sgen-gc.c:1384)
==29095== by 0x67DEA3: clear_domain_process_major_object_callback (sgen-gc.c:1400)
==29095== by 0x6DE2DC: major_iterate_objects (sgen-marksweep.c:692)
==29095== by 0x67E00B: mono_gc_clear_domain (sgen-gc.c:1459)
Jb Evain [Wed, 8 Sep 2010 16:37:27 +0000 (18:37 +0200)]
Fix the monodroid and monotouch profile builds
Jb Evain [Wed, 8 Sep 2010 16:35:01 +0000 (18:35 +0200)]
Fix the monodroid profile's defines
Jb Evain [Wed, 8 Sep 2010 15:37:56 +0000 (17:37 +0200)]
Factorize the System.Core monotouch and monodroid sources into a mobile.sources
Jb Evain [Wed, 8 Sep 2010 15:36:34 +0000 (17:36 +0200)]
Factorize the System.Xml monotouch and monodroid sources into a mobile.sources
Jb Evain [Wed, 8 Sep 2010 15:35:23 +0000 (17:35 +0200)]
Factorize the System.Runtime.Serialization monotouch and monodroid sources into a mobile.sources
Jb Evain [Wed, 8 Sep 2010 15:34:02 +0000 (17:34 +0200)]
Fix the mobile_System.ServiceModel.Web include
Jb Evain [Wed, 8 Sep 2010 15:33:44 +0000 (17:33 +0200)]
Fix the mobile_System.Data include
Jb Evain [Wed, 8 Sep 2010 15:31:10 +0000 (17:31 +0200)]
Factorize the System.Web.Services monotouch and monodroid sources into a mobile.sources
Jb Evain [Wed, 8 Sep 2010 15:29:27 +0000 (17:29 +0200)]
Factorize the System.Data monotouch and monodroid sources into a mobile.sources
Jb Evain [Wed, 8 Sep 2010 15:28:25 +0000 (17:28 +0200)]
Factorize the System.ServiceModel.Web monotouch and monodroid sources into a mobile.sources
Jb Evain [Wed, 8 Sep 2010 15:27:02 +0000 (17:27 +0200)]
Factorize the System.ServiceModel monotouch and monodroid sources into a mobile.sources
Jb Evain [Wed, 8 Sep 2010 15:25:11 +0000 (17:25 +0200)]
Factorize the monotouch and monodroid sources into a mobile.sources
Jb Evain [Wed, 8 Sep 2010 15:21:15 +0000 (17:21 +0200)]
Enable the mcs monodroid build from mono's configure
Jb Evain [Wed, 8 Sep 2010 15:20:36 +0000 (17:20 +0200)]
Orchestrate the monodroid build bootstrap
Jb Evain [Wed, 8 Sep 2010 15:20:14 +0000 (17:20 +0200)]
Factorize the monotouch build into a mobile build for monodroid and monotouch
Jb Evain [Wed, 8 Sep 2010 15:19:08 +0000 (17:19 +0200)]
Enable the Mono.Data.Sqlite build for monodroid
Jb Evain [Wed, 8 Sep 2010 15:18:48 +0000 (17:18 +0200)]
Enable the Mono.Security build for monodroid
Jb Evain [Wed, 8 Sep 2010 15:18:24 +0000 (17:18 +0200)]
Enable the System.Transactions build for monodroid
Jb Evain [Wed, 8 Sep 2010 15:18:00 +0000 (17:18 +0200)]
Make HttpUtility compilable on MonoDroid as well as MonoTouch
Jb Evain [Wed, 8 Sep 2010 15:16:59 +0000 (17:16 +0200)]
Enable the System.Runtime.Serialization build for monodroid
Jb Evain [Wed, 8 Sep 2010 15:16:32 +0000 (17:16 +0200)]
Enable the System.ServiceModel.Web build for monodroid
Jb Evain [Wed, 8 Sep 2010 15:16:07 +0000 (17:16 +0200)]
Enable the System.ServiceModel build for monodroid
Jb Evain [Wed, 8 Sep 2010 15:14:57 +0000 (17:14 +0200)]
Enable the System.Web.Services build for monodroid
Jb Evain [Wed, 8 Sep 2010 15:12:18 +0000 (17:12 +0200)]
Enable the System.Data build for monodroid
Jb Evain [Wed, 8 Sep 2010 15:10:55 +0000 (17:10 +0200)]
Enable the System.Xml build for monodroid
Jb Evain [Wed, 8 Sep 2010 15:08:48 +0000 (17:08 +0200)]
Enable the System.Core build for monodroid
Jb Evain [Wed, 8 Sep 2010 15:07:54 +0000 (17:07 +0200)]
Enable the System build for monodroid
Jb Evain [Wed, 8 Sep 2010 15:06:18 +0000 (17:06 +0200)]
Enable the corlib build for monodroid
Jb Evain [Wed, 8 Sep 2010 15:02:32 +0000 (17:02 +0200)]
Define MOBILE for the monotouch build as a shared symbol between MonoTouch and MonoDroid
Jb Evain [Wed, 8 Sep 2010 15:01:30 +0000 (17:01 +0200)]
Add the monodroid profile
Jb Evain [Wed, 8 Sep 2010 14:24:01 +0000 (16:24 +0200)]
Remove no-op code
Jb Evain [Wed, 8 Sep 2010 13:58:31 +0000 (15:58 +0200)]
Simplify ifdefs specifics to MOONLIGHT
Jonathan Pryor [Wed, 8 Sep 2010 12:20:36 +0000 (08:20 -0400)]
[mdoc-update] Delegate types should get <returns/>, not <value/>.
Oops, that's a long-standing bug... Found by Joel Marcey from ECMA.
Gonzalo Paniagua Javier [Tue, 7 Sep 2010 22:29:33 +0000 (18:29 -0400)]
Add tests for g_strdupv
Add test for g_strdupv and check for NULL in g_strdupv.
Zoltan Varga [Tue, 7 Sep 2010 21:42:57 +0000 (23:42 +0200)]
Add a few more remaps.
Zoltan Varga [Tue, 7 Sep 2010 21:26:39 +0000 (23:26 +0200)]
Remap g_strdupv too.
Marek Habersack [Tue, 7 Sep 2010 21:20:28 +0000 (23:20 +0200)]
[asp.net] Fix for bug #636709. ClientID must be reset when ID is assigned.
Marek Habersack [Tue, 7 Sep 2010 20:09:48 +0000 (22:09 +0200)]
[asp.net] Fix for bug #636475. A typo caused ads not to be matched in ChooseAd
The second loop over the ads hashtable must not reject an app if the keyword filter is empty.
Gonzalo Paniagua Javier [Tue, 7 Sep 2010 18:20:31 +0000 (14:20 -0400)]
Add wsdl help generator to the 4.0 files
Ditto.
Fixes bug #636841.
Miguel de Icaza [Tue, 7 Sep 2010 15:06:56 +0000 (11:06 -0400)]
Add profile docs
Carlos Alberto Cortez [Tue, 7 Sep 2010 02:46:37 +0000 (04:46 +0200)]
Add DateTimeOffsetConverter.cs and DateTimeOffsetConverterTests.cs to our build.
* System.dll.sources: Add DateTimeOffsetConverter.cs.
* System_test.dll.sources: Add DateTimeOffsetConverterTests.cs.
Carlos Alberto Cortez [Tue, 7 Sep 2010 02:45:32 +0000 (04:45 +0200)]
Add new DateTimeOffsetConverterTests.cs test file.
* DateTimeOffsetConverterTests.cs: New file.
Carlos Alberto Cortez [Tue, 7 Sep 2010 02:39:18 +0000 (04:39 +0200)]
Implement System.ComponentModel.DateTimeOffsetConverter.
* DateTimeOffsetConverter.cs: Implement new 4.0 class.
Atsushi Eno [Tue, 7 Sep 2010 03:25:14 +0000 (12:25 +0900)]
Avoid crash for use of deprecated InstallTrackingHandler in Snow Leopard.
Rodrigo Kumpera [Mon, 6 Sep 2010 21:15:48 +0000 (18:15 -0300)]
Fix build.
* bug-348522.2.cs: gmcs now complains about a thinko here.
Rodrigo Kumpera [Mon, 6 Sep 2010 21:15:14 +0000 (18:15 -0300)]
Fix 64bits builds.
* sgen-cardtable.h (sgen_card_table_get_card_address): This
needs marking under SGEN_HAVE_OVERLAPPING_CARDS too.
Rodrigo Kumpera [Mon, 6 Sep 2010 21:07:24 +0000 (18:07 -0300)]
Check for a parent extending a generic instantiation of the child.
* class.c (mono_class_create_from_typedef): If if any parent
doesn't extend the generic instantiation.
Fixes #604270
Jonathan Pryor [Mon, 6 Sep 2010 20:12:37 +0000 (16:12 -0400)]
[mdoc-update] Clean up System.Object craziness in ILAsm generation.
The problem: ILAsm has 'object' as a keyword alias for System.Object, and
99.99% of the time should use 'object'...except in 'extends' declarations,
where it remains System.Object and not 'object'.
The solution: Have an ILFullMemberFormatter.WithinExtends "flag" which
controls whether we generate System.Object or object.
The problem: this is flaky as hell, and results 'class A:List<object>'
generating:
.class public auto ansi beforefieldinit MyList
extends System.Collections.Generic.List`1<System.Object>
This is wrong, as it should be List`1<object>, not List`1<System.Object>.
(At least, monodis(1) produces List`1<object>...)
So, instead of the craziness that is WithinExtends, just check check for
System.Object as the base type immediately after the 'extends' generation. If
it's System.Object, keep it, otherwise call full.GetName() (and remove the
leading "class " that's generated from GetName).
Rodrigo Kumpera [Mon, 6 Sep 2010 18:41:15 +0000 (15:41 -0300)]
Add regression test for #633248
Rodrigo Kumpera [Mon, 6 Sep 2010 17:58:08 +0000 (14:58 -0300)]
Properly handle stack merges of leave.
* verify.c (do_leave): Set the target of leave.
* verify.c (mono_method_verify): Merge the resulting empty
stack of a leave instruction with it's target.
Fixes #633248
Atsushi Eno [Mon, 6 Sep 2010 07:29:26 +0000 (16:29 +0900)]
Fix NetworkInterface marshaling size on OSX and avoid crash.
Zoltan Varga [Sun, 5 Sep 2010 18:29:01 +0000 (20:29 +0200)]
Fix the build.
Carlos Alberto Cortez [Sun, 5 Sep 2010 03:50:01 +0000 (05:50 +0200)]
New test for CultureInfoConverter.GetCultureName.
* CultureInfoConverterTest.cs: New test for GetCultureName.
Carlos Alberto Cortez [Sun, 5 Sep 2010 03:36:59 +0000 (05:36 +0200)]
Implement CultureInfoConverter.GetCultureName.
* CultureInfoConverter.cs: Implement GetCultureName.
Carlos Alberto Cortez [Fri, 3 Sep 2010 04:26:12 +0000 (06:26 +0200)]
Remove the NET_2_0 directives from CultureInfoConverter.cs
* CultureInfoConverter.cs: Remove the NET_2_0 directive.
Carlos Alberto Cortez [Fri, 3 Sep 2010 04:16:50 +0000 (06:16 +0200)]
Add AttributeCollectionTest.cs to System_test.dll.sources.
* System_test.dll.sources: Add AttributeCollectionTest.cs.
Carlos Alberto Cortez [Fri, 3 Sep 2010 04:16:08 +0000 (06:16 +0200)]
Add new AttributeCollectionTest file.
* AttributeCollectionTest.cs: New test file.
Carlos Alberto Cortez [Fri, 3 Sep 2010 04:12:46 +0000 (06:12 +0200)]
Add 4.0 Attributes property and protected ctor to AttributeCollection.
* AttributeCollection.cs: Add 4.0 Attributes property as well
as a new parameterless ctor.
Carlos Alberto Cortez [Fri, 3 Sep 2010 03:42:12 +0000 (05:42 +0200)]
Remove the NET_2_0 directives from AttributeCollection.cs.
* AttributeCollection.cs: Remove the NET_2_0 directives, as well
as the else case for it (we are always NET_2_0 now).
Rodrigo Kumpera [Sat, 4 Sep 2010 20:33:39 +0000 (17:33 -0300)]
Merge branch 'sgen_cardtable_optimization_work'
Rodrigo Kumpera [Sat, 4 Sep 2010 20:26:28 +0000 (17:26 -0300)]
Fix a race condition in barriers using cardtable.
* sgen-gc.c: Introduce dummy_use function that forces
the compiler to keep a given value alive until the call
to it.
* sgen-gc.c (mono_gc_wbarrier_set_field): Use dummy_use to
avoid race condition between the store and the barrier.
* sgen-gc.c (mono_gc_wbarrier_set_arrayref): Ditto.
* sgen-gc.c (mono_gc_wbarrier_arrayref_copy): Ditto.
* sgen-gc.c (mono_gc_wbarrier_arrayref_copy): Ditto.
* sgen-gc.c (mono_gc_wbarrier_generic_store): Ditto.
This pattern of usage is the same we do with managed code
write barrier. The race condition is extremely race and
requires the thread to be interrupted in between the store
and the barrier, which is a very tiny narrow window.
Rodrigo Kumpera [Sat, 4 Sep 2010 19:31:23 +0000 (16:31 -0300)]
Optimize cardtable unmanaged array copy.
* sgen-gc.c (mono_gc_wbarrier_arrayref_copy): Avoid locking
if using cardtables. Even thou the new code looks slower
than a plain memmove, it has the advantage of not taking
locks, which means it's much more scalable.
Array copy under sgen/cardtables was 1.6x slower than with
boehm. With this patch it reduces to 1.54x. The serial
performance speedup is nice, but it is much more helpfull
in multi-threaded workloads.
Rodrigo Kumpera [Fri, 3 Sep 2010 19:17:06 +0000 (16:17 -0300)]
Fix a warning
Rodrigo Kumpera [Fri, 3 Sep 2010 19:14:57 +0000 (16:14 -0300)]
Optimize the cardtable path a bit more.
* sgen-gc.c: Avoid taking locks for single pointer barriers.
Rodrigo Kumpera [Fri, 3 Sep 2010 18:39:28 +0000 (15:39 -0300)]
Optimize major cardtable scanning by about 15%.
* sgen-cardtable.c: Move a bunch of stuff to new header.
* sgen-cardtable.h: New header with functions meant to
be inlined.
* sgen-gc.c: Use new header.
* sgen-marksweep.c (major_scan_card_table): Introduce fast
version of some macros that avoid a few indirections.
Rodrigo Kumpera [Fri, 3 Sep 2010 18:38:36 +0000 (15:38 -0300)]
Better cardtable stats gathering codebase.
Rodrigo Kumpera [Fri, 3 Sep 2010 17:27:02 +0000 (14:27 -0300)]
Add notes when to use cardtable and remset.
Rodrigo Kumpera [Fri, 3 Sep 2010 17:03:49 +0000 (14:03 -0300)]
Use los scanning function for big objects on major heap.
* sgen-cardtable.c (sgen_cardtable_scan_object): The
source of the cardtable can now be supplied, this is needed
since major blocks can't use regular card checking code here.
* sgen-los.c (los_scan_card_table): Adjust to signature
change in sgen_cardtable_scan_object.
* sgen-marksweep.c (major_scan_card_table): If the block
size is larger than a card it makes more sense to loop
around objects and not cards since objects might be scanned
twice since a card can be shared between two of them.
In such case the cards of a block must be copied to a side
buffer since we are no longer looping one by one. This ia
a problem when two objects share a marked card as the first
can cause it to be left cleared and not have the second one
scanned.
Another advantage of this patch is that it enables partial
scanning of larger array in the major heap.
Rodrigo Kumpera [Fri, 3 Sep 2010 14:17:42 +0000 (11:17 -0300)]
Move core of los scanning into cardtable codebase.
* sgen-los.c (los_scan_card_table): Move meat of
this function into a separate one.
* sgen-cardtable.c: New function sgen_cardtable_scan_object.
* sgen-gc.h: Add sgen_cardtable_scan_object.
Rodrigo Kumpera [Fri, 3 Sep 2010 14:10:04 +0000 (11:10 -0300)]
Micro optimize cardtable scanning
* sgen-marksweep.c (major_scan_card_table): Don't load
some fields if the block has no references.
Rodrigo Kumpera [Thu, 2 Sep 2010 21:59:11 +0000 (18:59 -0300)]
Add stats for cardtable processing time
Gonzalo Paniagua Javier [Sat, 4 Sep 2010 18:24:54 +0000 (14:24 -0400)]
Fix return value of items_read
items_read was not being initialized and it was not being set in the
fast common case of g_utf8_to_utf16().
Gonzalo Paniagua Javier [Sat, 4 Sep 2010 18:02:17 +0000 (14:02 -0400)]
Fixed GetLogicalDriveString
When calling GetLogicalDriveString, icall.c was passing the
length in the wrong units.
GetLogicalDriveString now translates any octal sequence found
into its corresponding byte. Use the UTF16 length
('items_written') instead of the UTF8 input string length
('items_read') when computing the total size.
Jonathan Pryor [Sat, 4 Sep 2010 16:57:42 +0000 (12:57 -0400)]
[mdoc-update] Properly map System.IntPtr to 'native int' for ILAsm.
Similarly, System.UIntPtr maps to 'native unsigned int'.
Jonathan Pryor [Sat, 4 Sep 2010 02:02:58 +0000 (22:02 -0400)]
[mdoc-update] Add support ILAsm language output.
Jonathan Pryor [Fri, 3 Sep 2010 15:04:29 +0000 (11:04 -0400)]
[mdoc-update] Add support for multiple languages in type/member signatures.
We're planning on adding IL signature support for <TypeSignature/> and
<MemberSignature/>, so having arrays of MemberFormatters instead of having
single instances of them will make supporting IL output easier.
Gonzalo Paniagua Javier [Fri, 3 Sep 2010 21:26:16 +0000 (17:26 -0400)]
Use UTF8 instead of ASCII when reading mount info
This allows for mount points with UTF8 characters in them.
Gonzalo Paniagua Javier [Fri, 3 Sep 2010 20:01:42 +0000 (16:01 -0400)]
Linux /proc/mounts might have escaped characters
Translate escaped characters in mount paths.
Fixes bug #637078.
Gonzalo Paniagua Javier [Fri, 3 Sep 2010 18:58:50 +0000 (14:58 -0400)]
Allow ordinal entry points in windows.
Windows allows entry point names like "#10" which refer to the Nth
function (n > 1 and less than the highest ordinal value in the .def
file).
Fixes bug #636966.
Zoltan Varga [Fri, 3 Sep 2010 17:17:41 +0000 (19:17 +0200)]
Fix a crash when the signature of the Main method could not be loaded. Fixes #636794.
Atsushi Eno [Fri, 3 Sep 2010 09:45:15 +0000 (18:45 +0900)]
Ongoing Discovery duplex (UDP) implementation (not working yet).
Jb Evain [Fri, 3 Sep 2010 09:30:58 +0000 (11:30 +0200)]
Remove workaround for moonlight now that System.dll's WebExceptionStatus is properly compiled
Jb Evain [Fri, 3 Sep 2010 09:29:32 +0000 (11:29 +0200)]
Fix the visiblity of WebExceptionStatus for moonlight in the same way as WebException
Atsushi Eno [Fri, 3 Sep 2010 07:18:59 +0000 (16:18 +0900)]
Fix another non-null RemoteAddress dependency.