mono.git
11 years ago[sgen] Sweep blocks in cardtable scans only if there are marked cards in the block.
Mark Probst [Fri, 16 Nov 2012 10:53:01 +0000 (11:53 +0100)]
[sgen] Sweep blocks in cardtable scans only if there are marked cards in the block.

11 years ago[sgen] Don't try to wait for workers unless we're concurrent and/or parallel.
Mark Probst [Fri, 16 Nov 2012 10:52:06 +0000 (11:52 +0100)]
[sgen] Don't try to wait for workers unless we're concurrent and/or parallel.

11 years ago[sgen] More information in sweep and world restart DTrace probes.
Mark Probst [Fri, 16 Nov 2012 10:48:05 +0000 (11:48 +0100)]
[sgen] More information in sweep and world restart DTrace probes.

Pass to the sweep probes whether a full sweep (including memset and resetting
mark bitmaps) was performed.

Pass to the world restart probes the oldest generation collected during
the pause.

11 years ago[sgen] Fix locking of the worker distribute gray queue.
Mark Probst [Thu, 15 Nov 2012 15:05:20 +0000 (16:05 +0100)]
[sgen] Fix locking of the worker distribute gray queue.

The worker distribute gray queue is written to by the main GC thread
and read from by the worker thread(s) for work distribution.  Locking it is
therefore necessary, but we weren't doing it properly.

Previously I implemented optional locking for gray queues, but that's a
bad idea because it makes the enqueue fast path slower.  Now gray queues
are back to non-locking, but we have a new queue type, the section gray
queue, which is only accessible on a gray queue section granularity, not
on an individual object granularity, like regular gray queues.  Performance
there is not as critical, so locking is no problem.

11 years ago[sgen] Remove gray queue balance.
Mark Probst [Tue, 13 Nov 2012 19:42:41 +0000 (20:42 +0100)]
[sgen] Remove gray queue balance.

Old, unmaintained debugging stuff.

11 years ago[sgen] DTrace probes for sweep begin/end and concurrent start/finish begin/end.
Mark Probst [Wed, 7 Nov 2012 16:06:43 +0000 (17:06 +0100)]
[sgen] DTrace probes for sweep begin/end and concurrent start/finish begin/end.

11 years ago[sgen] Workers dequeue from the distribute gray queue directly.
Mark Probst [Wed, 7 Nov 2012 15:58:43 +0000 (16:58 +0100)]
[sgen] Workers dequeue from the distribute gray queue directly.

Previously we manually fed the workers, only restarting the world
when the distribute gray queue was empty, which neglected most of the
benefit of concurrent collection.  Now we use locking for the queue and
let workers drain it while the world runs again.

If the locking turns out to be a bottleneck we could implement a lock-free
queue.

11 years ago[sgen] Always allocate objects with a vtable.
Mark Probst [Tue, 6 Nov 2012 14:11:46 +0000 (15:11 +0100)]
[sgen] Always allocate objects with a vtable.

11 years ago[sgen] DTrace probes for world stop/restart.
Mark Probst [Mon, 5 Nov 2012 11:08:41 +0000 (12:08 +0100)]
[sgen] DTrace probes for world stop/restart.

11 years ago[sgen] Only scan marked objects when processing the mod union card table.
Mark Probst [Fri, 2 Nov 2012 20:26:16 +0000 (21:26 +0100)]
[sgen] Only scan marked objects when processing the mod union card table.

11 years ago[sgen] Make nursery-is-clean check a MONO_GC_DEBUG option.
Mark Probst [Thu, 1 Nov 2012 18:30:41 +0000 (19:30 +0100)]
[sgen] Make nursery-is-clean check a MONO_GC_DEBUG option.

11 years ago[sgen] Debugging checks on gray object enqueues.
Mark Probst [Thu, 1 Nov 2012 18:28:02 +0000 (19:28 +0100)]
[sgen] Debugging checks on gray object enqueues.

Have an optional (compile-time #define) hook in gray object queues to
check references whenever they are enqueued.  Currently we only check
that we never enqueue nursery pointers in the concurrent collector.

11 years ago[sgen] Never enqueue nursery pointers for the concurrent collector.
Mark Probst [Thu, 1 Nov 2012 18:24:44 +0000 (19:24 +0100)]
[sgen] Never enqueue nursery pointers for the concurrent collector.

The concurrent collector must never touch the nursery because it can change
during nursery collections.  During the initial scan we process all pinned objects
in the nursery.  This must be done non-concurrently.

11 years ago[sgen] Major collection concurrent with nursery collections.
Mark Probst [Thu, 1 Nov 2012 13:08:09 +0000 (14:08 +0100)]
[sgen] Major collection concurrent with nursery collections.

11 years ago[sgen] Separate binary protocol entries for collection begin and end.
Mark Probst [Thu, 1 Nov 2012 13:03:35 +0000 (14:03 +0100)]
[sgen] Separate binary protocol entries for collection begin and end.

11 years ago[sgen] Objects promoted during concurrent collections must be marked, too.
Mark Probst [Thu, 1 Nov 2012 13:00:51 +0000 (14:00 +0100)]
[sgen] Objects promoted during concurrent collections must be marked, too.

11 years ago[sgen] Clear nursery fragments before whole heap check.
Mark Probst [Thu, 1 Nov 2012 12:52:31 +0000 (13:52 +0100)]
[sgen] Clear nursery fragments before whole heap check.

11 years ago[sgen] Enqueue objects allocated during minor collections for concurrent.
Mark Probst [Sun, 28 Oct 2012 11:21:10 +0000 (12:21 +0100)]
[sgen] Enqueue objects allocated during minor collections for concurrent.

11 years ago[sgen] Pass scan function to sgen_drain_gray_stack().
Mark Probst [Sun, 28 Oct 2012 10:56:00 +0000 (11:56 +0100)]
[sgen] Pass scan function to sgen_drain_gray_stack().

11 years ago[sgen] Handle forwarded objects better in describe_ptr().
Mark Probst [Sun, 28 Oct 2012 10:48:22 +0000 (11:48 +0100)]
[sgen] Handle forwarded objects better in describe_ptr().

11 years ago[sgen] Do concurrent collection concurrently.
Mark Probst [Sat, 27 Oct 2012 13:12:14 +0000 (15:12 +0200)]
[sgen] Do concurrent collection concurrently.

Finish before the next collection.

11 years ago[sgen] Allocate job data dynamically.
Mark Probst [Fri, 26 Oct 2012 20:22:10 +0000 (22:22 +0200)]
[sgen] Allocate job data dynamically.

11 years ago[sgen] Scan cardtable mod union when finishing up major collection.
Mark Probst [Fri, 26 Oct 2012 18:33:16 +0000 (20:33 +0200)]
[sgen] Scan cardtable mod union when finishing up major collection.

11 years ago[sgen] Do another copy/mark pass when finishing up concurrent collection.
Mark Probst [Fri, 26 Oct 2012 07:27:06 +0000 (09:27 +0200)]
[sgen] Do another copy/mark pass when finishing up concurrent collection.

11 years ago[sgen] Assert that concurrent mark never pins major objects.
Mark Probst [Fri, 26 Oct 2012 07:24:50 +0000 (09:24 +0200)]
[sgen] Assert that concurrent mark never pins major objects.

11 years ago[sgen] Factor out major copying and marking from roots, waiting for workers.
Mark Probst [Fri, 26 Oct 2012 00:06:50 +0000 (02:06 +0200)]
[sgen] Factor out major copying and marking from roots, waiting for workers.

11 years ago[sgen] Don't check the value for nursery in the concurrent wbarrier.
Mark Probst [Thu, 25 Oct 2012 22:23:47 +0000 (00:23 +0200)]
[sgen] Don't check the value for nursery in the concurrent wbarrier.

11 years ago[sgen] Mod-union card tables.
Mark Probst [Thu, 25 Oct 2012 19:53:11 +0000 (21:53 +0200)]
[sgen] Mod-union card tables.

11 years ago[sgen] Don't pin when doing concurrent collections.
Mark Probst [Thu, 25 Oct 2012 15:50:34 +0000 (17:50 +0200)]
[sgen] Don't pin when doing concurrent collections.

The mutator can't handle the pin bit, and the concurrent collector
doesn't move objects out of the nursery, so pinning is neither
required nor allowed.

11 years ago[sgen] Reset pinning early in concurrent collector.
Mark Probst [Thu, 25 Oct 2012 15:02:18 +0000 (17:02 +0200)]
[sgen] Reset pinning early in concurrent collector.

The concurrent collector doesn't do anything with pinning data, and
pinning must be reset for intervening minor collections.

11 years ago[sgen] Separate function for finishing major collections.
Mark Probst [Thu, 25 Oct 2012 14:45:52 +0000 (16:45 +0200)]
[sgen] Separate function for finishing major collections.

11 years ago[sgen] Only allow the card table wbarrier for concurrent collections.
Mark Probst [Thu, 25 Oct 2012 14:01:38 +0000 (16:01 +0200)]
[sgen] Only allow the card table wbarrier for concurrent collections.

11 years ago[sgen] Some nursery stuff isn't necessary for concurrent mark.
Mark Probst [Mon, 22 Oct 2012 23:35:48 +0000 (01:35 +0200)]
[sgen] Some nursery stuff isn't necessary for concurrent mark.

Concurrent mark requires that it's preceded by a nursery collection,
so we don't need to do some stuff again.

11 years ago[sgen] Separate mark for concurrent collector. Not concurrent yet.
Mark Probst [Mon, 22 Oct 2012 23:30:35 +0000 (01:30 +0200)]
[sgen] Separate mark for concurrent collector.  Not concurrent yet.

11 years ago[sgen] Concurrent flag for major collectors.
Mark Probst [Mon, 22 Oct 2012 14:30:15 +0000 (16:30 +0200)]
[sgen] Concurrent flag for major collectors.

11 years ago[sgen] Mark/pin large objects in the LOS header, not the vtable word.
Mark Probst [Sun, 21 Oct 2012 20:34:53 +0000 (22:34 +0200)]
[sgen] Mark/pin large objects in the LOS header, not the vtable word.

This is necessary for the concurrent collector because we are not
allowed to change the vtable pointer while the mutator is running.

11 years ago[sgen] Split major collection into startup and work.
Mark Probst [Sun, 21 Oct 2012 18:08:44 +0000 (20:08 +0200)]
[sgen] Split major collection into startup and work.

Startup is everything that's done to feed the workers.  The rest is
waiting for the workers to finish, and sweep/cleanup.

11 years ago[sgen] Tiny code cleanup.
Mark Probst [Sun, 21 Oct 2012 18:02:53 +0000 (20:02 +0200)]
[sgen] Tiny code cleanup.

11 years ago[sgen] Remove superfluous fields from LOSObject.
Mark Probst [Sun, 21 Oct 2012 17:43:48 +0000 (19:43 +0200)]
[sgen] Remove superfluous fields from LOSObject.

11 years ago[sgen] Mark unused gray queue as invalid.
Mark Probst [Sun, 21 Oct 2012 16:40:04 +0000 (18:40 +0200)]
[sgen] Mark unused gray queue as invalid.

For parallel collections we don't use the main thread's gray queue, so
assert in case there's something enqueued.

11 years agoProperly (?) fix TimeZoneInfo.cs build.
Mark Probst [Sun, 9 Dec 2012 14:00:06 +0000 (15:00 +0100)]
Properly (?) fix TimeZoneInfo.cs build.

I'm just taking a wild guess that this is the proper fix.  Please review.

11 years agoFix System.Core/System.TimeZoneInfo build under basic profile.
Rodrigo Kumpera [Fri, 7 Dec 2012 22:57:34 +0000 (17:57 -0500)]
Fix System.Core/System.TimeZoneInfo build under basic profile.

11 years ago[sgen]Improve fatal OOM messaging to include the requested amount.
Rodrigo Kumpera [Fri, 7 Dec 2012 22:20:58 +0000 (17:20 -0500)]
[sgen]Improve fatal OOM messaging to include the requested amount.

11 years agoMerge pull request #487 from mayerwin/patch-1
Miguel de Icaza [Fri, 7 Dec 2012 21:59:03 +0000 (13:59 -0800)]
Merge pull request #487 from mayerwin/patch-1

Update mcs/class/System.Core/System/TimeZoneInfo.cs

11 years agoMerge pull request #496 from nicolas-raoul/unit-test-for-issue2907
Miguel de Icaza [Fri, 7 Dec 2012 21:58:25 +0000 (13:58 -0800)]
Merge pull request #496 from nicolas-raoul/unit-test-for-issue2907

Unit test for issue2907

11 years agoMerge pull request #495 from nicolas-raoul/fix-for-issue2907-with-no-formatting-changes
Miguel de Icaza [Fri, 7 Dec 2012 21:57:58 +0000 (13:57 -0800)]
Merge pull request #495 from nicolas-raoul/fix-for-issue2907-with-no-formatting-changes

Fix for issue 2907: XML "choice" not correctly processed during deserialization

11 years agoTreat valuetype arguments precisely during precise stack marking.
Zoltan Varga [Fri, 7 Dec 2012 15:58:08 +0000 (16:58 +0100)]
Treat valuetype arguments precisely during precise stack marking.

11 years agoFix mobile builds.
Atsushi Eno [Fri, 7 Dec 2012 09:05:57 +0000 (18:05 +0900)]
Fix mobile builds.

11 years agoAdd missing '#if NET_4_5'.
Martin Baulig [Fri, 7 Dec 2012 00:05:06 +0000 (01:05 +0100)]
Add missing '#if NET_4_5'.

11 years agoEnable MOBILE mmap support under ios-simulator. Fixes #8786.
Rodrigo Kumpera [Thu, 6 Dec 2012 17:25:47 +0000 (12:25 -0500)]
Enable MOBILE mmap support under ios-simulator. Fixes #8786.

11 years ago[WCF]: Implement and improve missing WsdlExporter pieces.
Martin Baulig [Wed, 5 Dec 2012 21:47:09 +0000 (22:47 +0100)]
[WCF]: Implement and improve missing WsdlExporter pieces.

* We now export simple <wsp:Policy>, currently supporting only
  those elements that WsdlImporter can import.

  WsdlImporter:
  https://github.com/mono/mono/commit/cdc98dba1b83341c25a1daab4ae7c217d4961ad1

* Implement `MetadataExporter.Errors' and use it for error
  reporting.

* Fixed WsdlExporter's caching to correclty deal with duplicate
  ExportContract() and ExportEndpoint() calls.

* Emit <soap12:operation> depending on the binding's MessageVersion.
  (FIXME: I didn't implement soap faults yet).

* MetadataTests: Check whether the policy elements are correct.

* MetadataTests: Add test containing simple [OperationContract] method
  for http and net.tcp; checks the <soap:operation> / <soap12:operation>
  elements.

* New test to check WsdlExporter's behavior regarding duplicate
  contracts and endpoints.

* ConnectionOrientedTransportBindingElement.cs, CustomBindingTests.cs,
  HttpTransportBindingElementTest.cs: Added test for custom message
  encodings.

11 years agoBump mono to 3.0.3
Rodrigo Kumpera [Wed, 5 Dec 2012 20:38:34 +0000 (15:38 -0500)]
Bump mono to 3.0.3

11 years agoRevert dfa9220e8b7e89c29447a71c7b30d5a9a3cbdfec.
Zoltan Varga [Wed, 5 Dec 2012 17:35:25 +0000 (18:35 +0100)]
Revert dfa9220e8b7e89c29447a71c7b30d5a9a3cbdfec.

11 years ago[Mono] TimeZoneInfo.FindSystemTimeZoneById returns null
technomage [Wed, 5 Dec 2012 14:24:17 +0000 (14:24 +0000)]
[Mono] TimeZoneInfo.FindSystemTimeZoneById returns null

Fixes: https://bugzilla.xamarin.com/show_bug.cgi?id=7966

If we cannot find the requiested time zone we should throw a
TimeZoneNotFoundException rather than returning null.

11 years agoTreat param area stack slots as being part of the callee frame, not the caller, so...
Zoltan Varga [Wed, 5 Dec 2012 12:49:15 +0000 (13:49 +0100)]
Treat param area stack slots as being part of the callee frame, not the caller, so precise stack marking works for methods with tail calls as well.

11 years agoAvoid computing the remset size in sgen_ssb_record_pointer ().
Zoltan Varga [Wed, 5 Dec 2012 12:46:12 +0000 (13:46 +0100)]
Avoid computing the remset size in sgen_ssb_record_pointer ().

11 years agoBring back 2.10 based System.Json and move aspnet stack version to System.Json.Microsoft
Marek Safar [Wed, 5 Dec 2012 11:11:16 +0000 (12:11 +0100)]
Bring back 2.10 based System.Json and move aspnet stack version to System.Json.Microsoft

11 years agoAdd new test
Marek Safar [Wed, 5 Dec 2012 10:14:10 +0000 (11:14 +0100)]
Add new test

11 years agoUpdate mcs translations
Marek Safar [Wed, 5 Dec 2012 09:17:41 +0000 (10:17 +0100)]
Update mcs translations

11 years agoAdd resx to dist files
Marek Safar [Wed, 5 Dec 2012 09:17:24 +0000 (10:17 +0100)]
Add resx to dist files

11 years agoDon't version shared libraries on Android.
Jonathan Pryor [Wed, 5 Dec 2012 04:08:44 +0000 (23:08 -0500)]
Don't version shared libraries on Android.

Wanted: profiler support on Android. ;-)

...which seems sane enough: we have this nifty pluggable profiler
mechanism already, we have profilers built as separate shared libs
(e.g. libmono-profiler-log.so), let's just "somehow" load one, call
the init function, and we're off to the races, right?

void* h = dlopen ("path/to/libmono-profiler-log.so", RTLD_LAZY)
// h == null; dlerror() is:
//    Cannot load library: soinfo_link_image(linker.cpp:1635): could not load library
//    "libmonosgen-2.0.so.0" needed by "libmono-profiler-log.so"; caused by
//    load_library(linker.cpp:745): library "libmonosgen-2.0.so.0" not found

Ouch. So the problem is that libmonosgen-2.0.so contains a versioned
SONAME ("libmonosgen-2.0.so.0"), and thus libmono-profiler-log.so
contains a versioned SONAME reference, which cannot be resolved.
(Android doesn't allow versioned .so's to be placed within .apks.)

Fix the first: make libmonosgen-2.0.so unversioned. That way,
libmono-profiler-log.so contains an unversioned library reference, and
Android is appeased!

(Unversion libmono-profiler-log.so for good measure.)

Fix the second: with the above fix in place, libmono-profiler-log.so
SITLL won't be loaded, with dlerror(3) reporting:

Cannot load library: soinfo_relocate(linker.cpp:975): cannot locate
symbol "monoeg_g_log" referenced by "libmono-profiler-log.so"

The issue here is that libmonosgen-2.0.so contains unexported symbol
references from eglib, e.g. monoeg_g_log(), and dlopen() won't use
those unexported symbols. So just add the glib link references to
libmono-profiler-log.so, and everything is kosher. Yay.

11 years agoAdd support for interior pointers for oldspace objects to describe_ptr ().
Zoltan Varga [Tue, 4 Dec 2012 23:58:02 +0000 (00:58 +0100)]
Add support for interior pointers for oldspace objects to describe_ptr ().

11 years agoCall the specialized SortImpl<T> implementation from Sort<T>.
Zoltan Varga [Tue, 4 Dec 2012 18:28:09 +0000 (19:28 +0100)]
Call the specialized SortImpl<T> implementation from Sort<T>.

11 years agoAvoid using hand-specialized qsort<K,T> instantiations in SortImpl<TKey,TValue> when...
Zoltan Varga [Tue, 4 Dec 2012 18:15:37 +0000 (19:15 +0100)]
Avoid using hand-specialized qsort<K,T> instantiations in SortImpl<TKey,TValue> when using full-aot, as it leads to a code blowup. Inline swap methods.

11 years agoEnable 4.x api for MonoTouch
Marek Safar [Tue, 4 Dec 2012 17:46:38 +0000 (18:46 +0100)]
Enable 4.x api for MonoTouch

11 years agoMove System.Json sources from external before they are removed
Marek Safar [Tue, 4 Dec 2012 17:44:24 +0000 (18:44 +0100)]
Move System.Json sources from external before they are removed

11 years agoAdd MOBILE defines to 4.0 code
Marek Safar [Tue, 4 Dec 2012 17:28:38 +0000 (18:28 +0100)]
Add MOBILE defines to 4.0 code

11 years agoifdef same extension method which exists in 4.5 mscorlib
Marek Safar [Tue, 4 Dec 2012 17:27:35 +0000 (18:27 +0100)]
ifdef same extension method which exists in 4.5 mscorlib

11 years agoOptimize the emission of dwarf line number info by mostly ordering the methods by...
Zoltan Varga [Tue, 4 Dec 2012 17:36:58 +0000 (18:36 +0100)]
Optimize the emission of dwarf line number info by mostly ordering the methods by their line numbers. dlsymutil becomes very slow otherwise.

11 years agoReduce the number of non-temporary symbols in AOT output files on mach.
Zoltan Varga [Tue, 4 Dec 2012 13:30:53 +0000 (14:30 +0100)]
Reduce the number of non-temporary symbols in AOT output files on mach.

11 years agoDelete .dSYM directories using rm -rf.
Zoltan Varga [Tue, 4 Dec 2012 13:30:01 +0000 (14:30 +0100)]
Delete .dSYM directories using rm -rf.

11 years agoDisable some of tests which MT cannot handle
Marek Safar [Tue, 4 Dec 2012 14:10:19 +0000 (15:10 +0100)]
Disable some of tests which MT cannot handle

11 years agoBump ikvm (fixes stream references leak)
Marek Safar [Tue, 4 Dec 2012 14:08:23 +0000 (15:08 +0100)]
Bump ikvm (fixes stream references leak)

11 years agoPass empty array to Main methods
Marek Safar [Tue, 4 Dec 2012 13:46:36 +0000 (14:46 +0100)]
Pass empty array to Main methods

11 years agoDon't return a shared CFProxy instance
Jeffrey Stedfast [Mon, 3 Dec 2012 18:58:43 +0000 (13:58 -0500)]
Don't return a shared CFProxy instance

11 years agoUpdate tests
Marek Safar [Mon, 3 Dec 2012 18:15:33 +0000 (19:15 +0100)]
Update tests

11 years agoAdd MonoTouch test skeleton project
Marek Safar [Mon, 3 Dec 2012 17:06:50 +0000 (18:06 +0100)]
Add MonoTouch test skeleton project

11 years agoFixed MacOS proxy support for proxies requiring authentication
Jeffrey Stedfast [Mon, 3 Dec 2012 17:23:08 +0000 (12:23 -0500)]
Fixed MacOS proxy support for proxies requiring authentication

11 years agoMake Main method public
Marek Safar [Mon, 3 Dec 2012 17:00:37 +0000 (18:00 +0100)]
Make Main method public

11 years agoAdd MonoTouch mode
Marek Safar [Mon, 3 Dec 2012 17:00:13 +0000 (18:00 +0100)]
Add MonoTouch mode

11 years agoAdd MonoTouch compatible run mode
Marek Safar [Mon, 3 Dec 2012 16:56:08 +0000 (17:56 +0100)]
Add MonoTouch compatible run mode

11 years agoWorkaround ikvm filestream dispose bug
Marek Safar [Mon, 3 Dec 2012 16:24:26 +0000 (17:24 +0100)]
Workaround ikvm filestream dispose bug

11 years agoOptimize the GC map construction code a bit.
Zoltan Varga [Mon, 3 Dec 2012 09:42:57 +0000 (10:42 +0100)]
Optimize the GC map construction code a bit.

11 years ago[WCF]: Support embedded <wsp:Policy> elements.
Martin Baulig [Fri, 30 Nov 2012 19:37:30 +0000 (20:37 +0100)]
[WCF]: Support embedded <wsp:Policy> elements.

11 years agoAvoid a newline in some mono_trace () calls, it already adds one.
Zoltan Varga [Sat, 1 Dec 2012 09:22:15 +0000 (10:22 +0100)]
Avoid a newline in some mono_trace () calls, it already adds one.

11 years agoHandle a loader generic type hierarchy corner case. Fixes bxc #8549
Rodrigo Kumpera [Fri, 30 Nov 2012 22:42:39 +0000 (17:42 -0500)]
Handle a loader generic type hierarchy corner case. Fixes bxc #8549

* class.c: Handle the case when the parent of a GTD needs a generic
instance of the child type leading to a generic instance with
inconsistent values.

Say we have this set of types:

class TextBoxBase<T> : TextInput<TextBox> where T : TextBoxBase<T> {}

class TextBox : TextBoxBase<TextBox> {}

class TextInput<T> : Input<T> where T: TextInput<T> {}

class Input<T> {}

Now the runtime tries to load TextBoxBase<>, this is the sequence of events:

1)Load type TextBoxBase<>
   2.1)Type has parent, find it
   2.2)Lookup parent TextInput<TextBox>
         3.1)Lookup TextInput<>
            4)Load type TextInput<>  //OK
         3.2)Lookup TextBok
            5)Load type TextBox
               6.1)Type has parent, find it
               6.2)Lookup TextBoxBase<TextBox>
                     7.1)Lookup TextBoxBase<> //OK
                     7.2)Lookup TextBox //OK
                     7.3)Create generic instance TextBoxBase<TextBox> //BOOM

Let's examine what happens in (7.3), we try to create the generic class instance TextBoxBase<TextBox>
which means we must inflate all of its MonoClass fields. One field in particular, parent, will be set to null
because the lookup for TextBoxBase parent in (2.2) still running which means the current value is null.

What does it mean? It means that TextBoxBase<TextBox> extends object and our program will misbehave.

Fixes bxc #8549

11 years agoRegistrationServices from the Mobile profile. This is only required for COM.
Rodrigo Kumpera [Fri, 30 Nov 2012 19:54:22 +0000 (14:54 -0500)]
RegistrationServices from the Mobile profile. This is only required for COM.

11 years agoMerge pull request #513 from pruiz/xamarin-bug-8565-v2
Rodrigo Kumpera [Fri, 30 Nov 2012 17:56:30 +0000 (09:56 -0800)]
Merge pull request #513 from pruiz/xamarin-bug-8565-v2

Fixed xamarin-bug #8565: System.Runtime.Serialization assembly remapping bug when targeting 2/3/3.5 profile.

11 years agoMerge pull request #498 from Unroll-Me/master
Marek Habersack [Fri, 30 Nov 2012 09:59:01 +0000 (01:59 -0800)]
Merge pull request #498 from Unroll-Me/master

Fix HttpContextWrapper.Session when Session State is disabled

11 years agoMerge pull request #515 from pruiz/syswebrouting-fixes
Marek Safar [Fri, 30 Nov 2012 08:04:46 +0000 (00:04 -0800)]
Merge pull request #515 from pruiz/syswebrouting-fixes

Fixes xamarin-bug #8646: Inconsistencies with MS.NET on Sys.Web.Routing logic

11 years agoAdd stats for cards remarked by the gc and left untouched by the mutator after.
Rodrigo Kumpera [Thu, 29 Nov 2012 17:47:40 +0000 (12:47 -0500)]
Add stats for cards remarked by the gc and left untouched by the mutator after.

* sgen-cardtable.c: A nursery object might not be promoted if it's pinned
or, unlikely, the major heap is full. Under those circumstances we need
to remark the card and leave the object behind.

With this we can see how many extra cards are kept due to pinning.

11 years ago[monkeydoc] Precise the HelpSource that is tested in the error output
Jeremie Laval [Thu, 29 Nov 2012 17:38:15 +0000 (17:38 +0000)]
[monkeydoc] Precise the HelpSource that is tested in the error output

11 years ago[monkeydoc] Robustify EcmaDesc equality checking and fix unit tests
Jeremie Laval [Thu, 29 Nov 2012 17:37:42 +0000 (17:37 +0000)]
[monkeydoc] Robustify EcmaDesc equality checking and fix unit tests

11 years ago[monkeydoc] Due to some existing doc, revert to Ordinal instead of OrdinalIgnoreCase
Jeremie Laval [Thu, 29 Nov 2012 17:35:33 +0000 (17:35 +0000)]
[monkeydoc] Due to some existing doc, revert to Ordinal instead of OrdinalIgnoreCase

11 years ago[tests] Fix pinning in finalizer-exception.cs.
Mark Probst [Thu, 29 Nov 2012 16:35:34 +0000 (17:35 +0100)]
[tests] Fix pinning in finalizer-exception.cs.

The finalizable object got pinned, so it wouldn't be finalised.  Just
recurse a bit and allocate it there.

11 years agoFix style to adhere to mono's coding guidelines.
Pablo Ruiz Garcia [Thu, 29 Nov 2012 16:00:21 +0000 (17:00 +0100)]
Fix style to adhere to mono's coding guidelines.

11 years agoRevert "Revert "[monkeydoc] Remove debug spew""
Jeremie Laval [Thu, 29 Nov 2012 15:21:19 +0000 (15:21 +0000)]
Revert "Revert "[monkeydoc] Remove debug spew""

This reverts commit 783bcfb735b17b48eee7670a896a29dfd6023174.

11 years ago[monkeydoc] Disable now unneeded hack
Jeremie Laval [Thu, 29 Nov 2012 15:20:28 +0000 (15:20 +0000)]
[monkeydoc] Disable now unneeded hack

11 years ago[monkeydoc] Handle more special generation case
Jeremie Laval [Thu, 29 Nov 2012 15:19:59 +0000 (15:19 +0000)]
[monkeydoc] Handle more special generation case

11 years ago[monkeydoc] Proxy back GetCachedHelpStream to the right member
Jeremie Laval [Thu, 29 Nov 2012 15:18:52 +0000 (15:18 +0000)]
[monkeydoc] Proxy back GetCachedHelpStream to the right member