Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tag: mono-3.0.2
Commits on Dec 5, 2012
  1. @vargaz

    Treat param area stack slots as being part of the callee frame, not t…

    vargaz authored
    …he caller, so precise stack marking works for methods with tail calls as well.
  2. @vargaz
  3. @marek-safar
  4. @marek-safar

    Add new test

    marek-safar authored
  5. @marek-safar

    Update mcs translations

    marek-safar authored
  6. @marek-safar

    Add resx to dist files

    marek-safar authored
  7. @jonpryor

    Don't version shared libraries on Android.

    jonpryor authored
    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.
Commits on Dec 4, 2012
  1. @vargaz
  2. @vargaz
  3. @vargaz

    Avoid using hand-specialized qsort<K,T> instantiations in SortImpl<TK…

    vargaz authored
    …ey,TValue> when using full-aot, as it leads to a code blowup. Inline swap methods.
  4. @marek-safar
  5. @marek-safar
  6. @marek-safar
  7. @marek-safar
  8. @vargaz

    Optimize the emission of dwarf line number info by mostly ordering th…

    vargaz authored
    …e methods by their line numbers. dlsymutil becomes very slow otherwise.
  9. @vargaz
  10. @vargaz
  11. @marek-safar
  12. @marek-safar
  13. @marek-safar
Commits on Dec 3, 2012
  1. @jstedfast
  2. @marek-safar

    Update tests

    marek-safar authored
  3. @marek-safar
  4. @jstedfast
  5. @marek-safar

    Make Main method public

    marek-safar authored
  6. @marek-safar

    Add MonoTouch mode

    marek-safar authored
  7. @marek-safar
  8. @marek-safar
  9. @vargaz
  10. @baulig
Commits on Dec 1, 2012
  1. @vargaz
Commits on Nov 30, 2012
  1. @kumpera

    Handle a loader generic type hierarchy corner case. Fixes bxc #8549

    kumpera authored
    	* 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
  2. @kumpera
  3. @kumpera

    Merge pull request #513 from pruiz/xamarin-bug-8565-v2

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

    Merge pull request #498 from Unroll-Me/master

    grendello authored
    Fix HttpContextWrapper.Session when Session State is disabled
Something went wrong with that request. Please try again.