[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