Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Dec 5, 2012
  1. @vargaz

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

    vargaz committed
    …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 committed
  5. @marek-safar

    Update mcs translations

    marek-safar committed
  6. @marek-safar

    Add resx to dist files

    marek-safar committed
  7. @jonpryor

    Don't version shared libraries on Android.

    jonpryor committed
    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., let's just "somehow" load one, call
    the init function, and we're off to the races, right?
    	void* h = dlopen ("path/to/", RTLD_LAZY)
    	// h == null; dlerror() is:
    	//    Cannot load library: soinfo_link_image(linker.cpp:1635): could not load library
    	//    "" needed by ""; caused by
    	//    load_library(linker.cpp:745): library "" not found
    Ouch. So the problem is that contains a versioned
    SONAME (""), and thus
    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 unversioned. That way, contains an unversioned library reference, and
    Android is appeased!
    (Unversion for good measure.)
    Fix the second: with the above fix in place,
    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 ""
    The issue here is that 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, 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 committed
    …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 committed
    …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 committed
  3. @marek-safar
  4. @jstedfast
  5. @marek-safar

    Make Main method public

    marek-safar committed
  6. @marek-safar

    Add MonoTouch mode

    marek-safar committed
  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 committed
    	* 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 committed
    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 committed
    Fix HttpContextWrapper.Session when Session State is disabled
Something went wrong with that request. Please try again.