[Pkg-mono-svn-commits] [SCM] mono branch, master-experimental, updated. debian/2.10.5-1-4-g8f93e42

Mirco Bauer meebey at meebey.net
Mon Dec 26 07:38:19 UTC 2011


The following commit has been merged in the master-experimental branch:
commit e373dccec771774674944e7a18e07e085aea8758
Merge: d3df8f524e9b9f0dda231562b3f5e563cd6932cd b35dd9807f10fb8e82615a881de32526937b536e
Author: Mirco Bauer <meebey at meebey.net>
Date:   Mon Dec 26 07:55:00 2011 +0100

    Merge branch 'upstream-experimental' into master-experimental

diff --combined configure.in
index 285381a,7f3664e..810576c
--- a/configure.in
+++ b/configure.in
@@@ -6,7 -6,7 +6,7 @@@ AC_CANONICAL_SYSTE
  m4_ifdef([_A][M_PROG_TAR],[_A][M_SET_OPTION([tar-ustar])])
  
  AM_CONFIG_HEADER(config.h)
- AM_INIT_AUTOMAKE(mono,2.10.5)
+ AM_INIT_AUTOMAKE(mono,2.10.8.1)
  AM_MAINTAINER_MODE
  
  API_VER=2.0
@@@ -128,17 -128,6 +128,17 @@@ case "$host" i
  		with_sigaltstack=no
  		use_sigposix=yes
  		;;
 +	*-*-kfreebsd*-gnu)
 +		platform_win32=no
 +		CPPFLAGS="$CPPFLAGS -DGC_FREEBSD_THREADS -D_GNU_SOURCE -D_REENTRANT -DUSE_MMAP -DUSE_MUNMAP -DTHREAD_LOCAL_ALLOC -pthread"
 +		libmono_cflags="-D_REENTRANT -DTHREAD_LOCAL_ALLOC -pthread"
 +		libmono_ldflags="-lpthread -pthread"
 +		libdl="-ldl"
 +		libgc_threads=pthreads
 +		need_link_unlink=yes
 +		with_sigaltstack=no
 +		use_sigposix=yes
 +		;;
  	*-*-*freebsd*)
  		host_win32=no
  		if test "x$PTHREAD_CFLAGS" = "x"; then
@@@ -2116,9 -2105,13 +2116,13 @@@ if test "x$enable_llvm" = "xyes"; the
     llvm_version=`$LLVM_CONFIG --version`
     major_version=`echo $llvm_version | cut -c 1`
     minor_version=`echo $llvm_version | cut -c 3`
+    AC_MSG_CHECKING(LLVM version)
+    AC_MSG_RESULT($llvm_version)
     if echo $llvm_version | grep -q 'mono'; then
     	  AC_DEFINE(LLVM_MONO_BRANCH, 1, [Whenever we are using the mono branch of LLVM])
  	  LLVM_CXXFLAGS="$LLVM_CXXFLAGS -DLLVM_MONO_BRANCH"	  
+    else
+ 	  AC_MSG_ERROR([Compiling with stock LLVM is not supported, please use the Mono LLVM repo at https://github.com/mono/llvm, with the GIT branch which matches this version of mono, i.e. 'mono-2-10' for Mono 2.10.])
     fi
  
     AC_DEFINE_UNQUOTED(LLVM_MAJOR_VERSION, $major_version, [Major version of LLVM libraries])
@@@ -2220,7 -2213,7 +2224,7 @@@ case "$host" i
  			sgen_supported=true
  			AOT_SUPPORTED="yes"
  			;;
 -		  darwin*|openbsd*|freebsd*)
 +		  darwin*|openbsd*|freebsd*|kfreebsd-gnu*)
  			sgen_supported=true
  		        ;;
  		esac
@@@ -2235,7 -2228,7 +2239,7 @@@
  			sgen_supported=true
  			AOT_SUPPORTED="yes"
  			;;
 -		  darwin*|openbsd*|freebsd*)
 +		  darwin*|openbsd*|freebsd*|kfreebsd-gnu*)
  			sgen_supported=true
  			;;
  		esac
@@@ -2566,11 -2559,6 +2570,11 @@@ case "$host" i
  	LIBC="libc.so.12"
  	INTL="libintl.so.0"
  	;;
 +     *-*-kfreebsd*-gnu)
 +	LIBC="libc.so.0.1"
 +	INTL="libc.so.0.1"
 +	X11="libX11.so.6"
 +	;;
      *-*-*freebsd*)
      	LIBC="libc.so"
  	INTL="libintl.so"
@@@ -2667,24 -2655,15 +2671,24 @@@ if test "x$with_tls" = "x__thread"; the
  	])
  fi
  
 -if test ${TARGET} = ARM && test x$cross_compiling = xno && test x$enable_mcs_build != xno; then
 +AC_ARG_WITH(fpu, [ --with-fpu=FPA,VFP,NONE    Select fpu to use on arm],[fpu=$withval])
 +
 +if test ${TARGET} = ARM; then
  	dnl ******************************************
  	dnl *** Check to see what FPU is available ***
  	dnl ******************************************
  	AC_MSG_CHECKING(which FPU to use)
  
 -	AC_TRY_COMPILE([], [
 -		__asm__ ("ldfd f0, [r0]");
 -		], fpu=FPA, fpu=NONE)
 +	if test "x$fpu" = "x"; then
 +
 +		AC_TRY_COMPILE([], [
 +			__asm__ ("ldfd f0, [r0]");
 +		], fpu=FPA, [
 +				AC_TRY_COMPILE([], [
 +					__asm__ ("fldd d0, [r0]");
 +				], fpu=VFP, fpu=NONE)
 +		])
 +	fi
  
  	AC_MSG_RESULT($fpu)
  	CPPFLAGS="$CPPFLAGS -DARM_FPU_$fpu=1"
diff --combined mcs/class/corlib/System/Console.cs
index c4b2402,fd4f5d4..8310ffd
--- a/mcs/class/corlib/System/Console.cs
+++ b/mcs/class/corlib/System/Console.cs
@@@ -126,7 -126,8 +126,7 @@@ namespace Syste
  				int code_page = 0;
  				Encoding.InternalCodePage (ref code_page);
  
 -				if (code_page != -1 && ((code_page & 0x0fffffff) == 3 // UTF8Encoding.UTF8_CODE_PAGE
 -					|| ((code_page & 0x10000000) != 0)))
 +				if (code_page == UTF8Encoding.UTF8_CODE_PAGE || ((code_page & 0x10000000) != 0))
  					inputEncoding = outputEncoding = Encoding.UTF8Unmarked;
  				else
  					inputEncoding = outputEncoding = Encoding.Default;
@@@ -153,6 -154,13 +153,13 @@@
  			}
  #endif
  
+ #if MONODROID
+ 			if (LogcatTextWriter.IsRunningOnAndroid ()) {
+ 				stdout = TextWriter.Synchronized (new LogcatTextWriter ("mono-stdout", stdout));
+ 				stderr = TextWriter.Synchronized (new LogcatTextWriter ("mono-stderr", stderr));
+ 			}
+ #endif  // MONODROID
+ 
  			GC.SuppressFinalize (stdout);
  			GC.SuppressFinalize (stderr);
  			GC.SuppressFinalize (stdin);
diff --combined mono/metadata/sgen-gc.h
index d01ef63,c8fd747..419445b
--- a/mono/metadata/sgen-gc.h
+++ b/mono/metadata/sgen-gc.h
@@@ -199,7 -199,7 +199,7 @@@ struct _GCMemSection 
  
  typedef struct _SgenPinnedChunk SgenPinnedChunk;
  
 -#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__)
 +#if defined(__APPLE__) || defined(__OpenBSD__) || defined(__FreeBSD__) || defined(__FreeBSD_kernel__)
  const static int suspend_signal_num = SIGXFSZ;
  #else
  const static int suspend_signal_num = SIGPWR;
@@@ -415,10 -415,10 +415,10 @@@ enum 
  		}	\
  	} while (0)
  
- #define OBJ_LARGE_BITMAP_FOREACH_PTR(vt,obj)	do {	\
+ #define OBJ_LARGE_BITMAP_FOREACH_PTR(desc,obj)	do {	\
  		/* there are pointers */	\
  		void **_objptr = (void**)(obj);	\
- 		gsize _bmap = (vt)->desc >> LOW_TYPE_BITS;	\
+ 		gsize _bmap = (desc) >> LOW_TYPE_BITS;	\
  		_objptr += OBJECT_HEADER_WORDS;	\
  		while (_bmap) {	\
  			if ((_bmap & 1)) {	\
@@@ -429,18 -429,18 +429,18 @@@
  		}	\
  	} while (0)
  
- gsize* mono_sgen_get_complex_descriptor (GCVTable *vt) MONO_INTERNAL;
+ gsize* mono_sgen_get_complex_descriptor (mword desc) MONO_INTERNAL;
  
- #define OBJ_COMPLEX_FOREACH_PTR(vt,obj)	do {	\
+ #define OBJ_COMPLEX_FOREACH_PTR(desc,obj)	do {	\
  		/* there are pointers */	\
  		void **_objptr = (void**)(obj);	\
- 		gsize *bitmap_data = mono_sgen_get_complex_descriptor ((vt)); \
+ 		gsize *bitmap_data = mono_sgen_get_complex_descriptor (desc); \
  		int bwords = (*bitmap_data) - 1;	\
  		void **start_run = _objptr;	\
  		bitmap_data++;	\
  		if (0) {	\
  			MonoObject *myobj = (MonoObject*)obj;	\
- 			g_print ("found %d at %p (0x%zx): %s.%s\n", bwords, (obj), (vt)->desc, myobj->vtable->klass->name_space, myobj->vtable->klass->name);	\
+ 			g_print ("found %d at %p (0x%zx): %s.%s\n", bwords, (obj), desc, myobj->vtable->klass->name_space, myobj->vtable->klass->name);	\
  		}	\
  		while (bwords-- > 0) {	\
  			gsize _bmap = *bitmap_data++;	\
@@@ -460,7 -460,7 +460,7 @@@
  /* this one is untested */
  #define OBJ_COMPLEX_ARR_FOREACH_PTR(vt,obj)	do {	\
  		/* there are pointers */	\
- 		gsize *mbitmap_data = mono_sgen_get_complex_descriptor ((vt)); \
+ 		gsize *mbitmap_data = mono_sgen_get_complex_descriptor ((vt)->desc); \
  		int mbwords = (*mbitmap_data++) - 1;	\
  		int el_size = mono_array_element_size (vt->klass);	\
  		char *e_start = (char*)(obj) +  G_STRUCT_OFFSET (MonoArray, vector);	\
@@@ -634,6 -634,7 +634,7 @@@ enum 
  	INTERNAL_MEM_EPHEMERON_LINK,
  	INTERNAL_MEM_WORKER_DATA,
  	INTERNAL_MEM_BRIDGE_DATA,
+ 	INTERNAL_MEM_TOGGLEREF_DATA,
  	INTERNAL_MEM_MAX
  };
  
@@@ -720,7 -721,7 +721,7 @@@ struct _SgenMajorCollector 
  	void* (*alloc_degraded) (MonoVTable *vtable, size_t size);
  	void (*copy_or_mark_object) (void **obj_slot, SgenGrayQueue *queue);
  	void (*minor_scan_object) (char *start, SgenGrayQueue *queue);
- 	char* (*minor_scan_vtype) (char *start, mword desc, char* from_start, char* from_end, SgenGrayQueue *queue);
+ 	char* (*minor_scan_vtype) (char *start, MonoClass *klass, char* from_start, char* from_end, SgenGrayQueue *queue);
  	void (*major_scan_object) (char *start, SgenGrayQueue *queue);
  	void (*copy_object) (void **obj_slot, SgenGrayQueue *queue);
  	void* (*alloc_object) (int size, gboolean has_references);
@@@ -802,7 -803,21 +803,21 @@@ const char* mono_sgen_safe_name (void* 
  gboolean mono_sgen_object_is_live (void *obj) MONO_INTERNAL;
  
  gboolean mono_sgen_need_bridge_processing (void) MONO_INTERNAL;
- void mono_sgen_bridge_processing (int num_objs, MonoObject **objs) MONO_INTERNAL;
+ void mono_sgen_bridge_processing_register_objects (int num_objs, MonoObject **objs) MONO_INTERNAL;
+ void mono_sgen_bridge_processing_stw_step (void) MONO_INTERNAL;
+ void mono_sgen_bridge_processing_finish (void) MONO_INTERNAL;
+ void mono_sgen_register_test_bridge_callbacks (void) MONO_INTERNAL;
+ gboolean mono_sgen_is_bridge_object (MonoObject *obj) MONO_INTERNAL;
+ void mono_sgen_mark_bridge_object (MonoObject *obj) MONO_INTERNAL;
+ 
+ typedef void (*CopyOrMarkObjectFunc) (void**, SgenGrayQueue*);
+ void mono_sgen_scan_togglerefs (CopyOrMarkObjectFunc copy_func, char *start, char *end, SgenGrayQueue *queue) MONO_INTERNAL;
+ void mono_sgen_process_togglerefs (void) MONO_INTERNAL;
+ 
+ 
+ gboolean mono_sgen_gc_is_object_ready_for_finalization (void *object) MONO_INTERNAL;
+ void mono_sgen_gc_lock (void) MONO_INTERNAL;
+ void mono_sgen_gc_unlock (void) MONO_INTERNAL;
  
  enum {
  	SPACE_MAJOR,
@@@ -830,7 -845,6 +845,6 @@@ struct _LOSObject 
  
  extern LOSObject *los_object_list;
  extern mword los_memory_usage;
- extern mword last_los_memory_usage;
  
  void mono_sgen_los_free_object (LOSObject *obj) MONO_INTERNAL;
  void* mono_sgen_los_alloc_large_inner (MonoVTable *vtable, size_t size) MONO_INTERNAL;

-- 
mono



More information about the Pkg-mono-svn-commits mailing list