[runtime] Fix warnings.
authorMark Probst <mark.probst@gmail.com>
Sun, 8 Mar 2015 00:52:22 +0000 (16:52 -0800)
committerMark Probst <mark.probst@gmail.com>
Wed, 11 Mar 2015 20:28:38 +0000 (13:28 -0700)
66 files changed:
mono/dis/dump.c
mono/dis/get.c
mono/dis/main.c
mono/io-layer/io.c
mono/io-layer/processes.c
mono/io-layer/sockets.c
mono/io-layer/sockets.h
mono/io-layer/versioninfo.c
mono/io-layer/wthreads.c
mono/metadata/assembly.c
mono/metadata/attach.c
mono/metadata/boehm-gc.c
mono/metadata/class.c
mono/metadata/cominterop.c
mono/metadata/console-unix.c
mono/metadata/debug-helpers.c
mono/metadata/debug-mono-symfile.c
mono/metadata/decimal-ms.c
mono/metadata/filewatcher.c
mono/metadata/gc.c
mono/metadata/icall.c
mono/metadata/image.c
mono/metadata/loader.c
mono/metadata/marshal.c
mono/metadata/metadata-verify.c
mono/metadata/metadata.c
mono/metadata/mono-config.c
mono/metadata/mono-debug.c
mono/metadata/mono-hash.c
mono/metadata/mono-perfcounters.c
mono/metadata/object.c
mono/metadata/reflection.c
mono/metadata/remoting.c
mono/metadata/sgen-bridge.c
mono/metadata/sgen-fin-weak-hash.c
mono/metadata/sgen-gc.c
mono/metadata/sgen-los.c
mono/metadata/sgen-new-bridge.c
mono/metadata/sgen-nursery-allocator.c
mono/metadata/sgen-old-bridge.c
mono/metadata/sgen-split-nursery.c
mono/metadata/threadpool.c
mono/metadata/tpool-poll.c
mono/metadata/verify.c
mono/mini/aot-compiler.c
mono/mini/aot-runtime.c
mono/mini/branch-opts.c
mono/mini/debug-mini.c
mono/mini/debugger-agent.c
mono/mini/dwarfwriter.c
mono/mini/helpers.c
mono/mini/image-writer.c
mono/mini/local-propagation.c
mono/mini/method-to-ir.c
mono/mini/mini-amd64.c
mono/mini/mini-codegen.c
mono/mini/mini-exceptions.c
mono/mini/mini-generic-sharing.c
mono/mini/mini-runtime.c
mono/mini/mini.c
mono/mini/tramp-amd64.c
mono/mini/unwind.c
mono/profiler/proflog.c
mono/tests/libtest.c
mono/unit-tests/test-conc-hashtable.c
mono/utils/mono-mmap.c

index 36116036d315f0037228880a757ba52f490dab60..db55cef8ef1675381648ccd0f651d3ae726d89c4 100755 (executable)
@@ -371,7 +371,6 @@ dump_table_property (MonoImage *m)
        for (i = 0; i < t->rows; i++){
                guint32 cols [MONO_PROPERTY_SIZE];
                char *type;
-               int bsize;
                int prop_flags;
                
                mono_metadata_decode_row (t, i, cols, MONO_PROPERTY_SIZE);
@@ -385,7 +384,7 @@ dump_table_property (MonoImage *m)
                        strcat (flags, "hasdefault ");
 
                ptr = mono_metadata_blob_heap (m, cols [MONO_PROPERTY_TYPE]);
-               bsize = mono_metadata_decode_blob_size (ptr, &ptr);
+               /* bsize = */ mono_metadata_decode_blob_size (ptr, &ptr);
                /* ECMA claims 0x08 ... */
                if (*ptr != 0x28 && *ptr != 0x08)
                        g_warning("incorrect signature in propert blob: 0x%x", *ptr);
index c19cf04398ba462b8f10983d53130b3b14963e61..a78324d012f8f136f75fb2a059b6d53b0dc2b4b0 100755 (executable)
@@ -189,12 +189,11 @@ get_typespec (MonoImage *m, guint32 idx, gboolean is_def, MonoGenericContainer *
        const char *ptr;
        char *s, *result;
        GString *res = g_string_new ("");
-       int len;
        MonoMethodSignature *sig;
 
        mono_metadata_decode_row (&m->tables [MONO_TABLE_TYPESPEC], idx-1, cols, MONO_TYPESPEC_SIZE);
        ptr = mono_metadata_blob_heap (m, cols [MONO_TYPESPEC_SIGNATURE]);
-       len = mono_metadata_decode_value (ptr, &ptr);
+       /* len = */ mono_metadata_decode_value (ptr, &ptr);
 
        switch (*ptr++){
        case MONO_TYPE_PTR:
@@ -1357,12 +1356,10 @@ get_field_signature (MonoImage *m, guint32 blob_signature, MonoGenericContainer
 {
        char *allocated_modifier_string, *allocated_type_string;
        const char *ptr = mono_metadata_blob_heap (m, blob_signature);
-       const char *base;
        char *res;
        int len;
        
        len = mono_metadata_decode_value (ptr, &ptr);
-       base = ptr;
        /* FIELD is 0x06 */
        g_assert (*ptr == 0x06);
 /*     hex_dump (ptr, 0, len); */
@@ -1671,11 +1668,11 @@ get_methodref_signature (MonoImage *m, guint32 blob_signature, const char *fancy
        char *allocated_ret_type, *s;
        const char *cconv_str;
        gboolean seen_vararg = 0;
-       int param_count, signature_len;
+       int param_count;
        int i, gen_count = 0;
        int cconv;
 
-       signature_len = mono_metadata_decode_value (ptr, &ptr);
+       /* signature_len = */ mono_metadata_decode_value (ptr, &ptr);
 
        if (*ptr & 0x20){
                if (*ptr & 0x40)
@@ -2568,9 +2565,9 @@ dis_get_custom_attrs (MonoImage *m, guint32 token)
 
 char*
 get_marshal_info (MonoImage *m, const char *blob) {
-       int len, size = 0;
+       int size = 0;
 
-       len = mono_metadata_decode_blob_size (blob, &blob);
+       /* len = */ mono_metadata_decode_blob_size (blob, &blob);
 
        switch (*blob) {
        case MONO_NATIVE_BOOLEAN:
index e1fa7a16b9874cf11cd3a0fba5280d74a287e2ed..20b8b7c9797e99e384a30f4de95aacf7fa4e106f 100644 (file)
@@ -626,16 +626,14 @@ dis_locals (MonoImage *m, MonoMethodHeader *mh, const char *ptr)
                unsigned char flags = *(const unsigned char *) ptr;
                unsigned char format = flags & METHOD_HEADER_FORMAT_MASK;
                guint16 fat_flags;
-               guint32 local_var_sig_tok, max_stack, code_size, init_locals;
-               int hsize;
+               guint32 local_var_sig_tok, init_locals;
 
                g_assert (format == METHOD_HEADER_FAT_FORMAT);
                fat_flags = read16 (ptr);
                ptr += 2;
-               hsize = (fat_flags >> 12) & 0xf;
-               max_stack = read16 (ptr);
+               /* max_stack = read16 (ptr); */
                ptr += 2;
-               code_size = read32 (ptr);
+               /* code_size = read32 (ptr); */
                ptr += 4;
                local_var_sig_tok = read32 (ptr);
                ptr += 4;
@@ -1602,15 +1600,14 @@ disassemble_file (const char *file)
 {
        MonoImageOpenStatus status;
        MonoImage *img;
-       MonoAssembly *assembly;
-
 
        img = mono_image_open (file, &status);
        if (!img) {
                fprintf (stderr, "Error while trying to process %s\n", file);
                return;
        } else {
-               assembly = mono_assembly_load_from_full (img, file, &status, FALSE);
+               /* FIXME: is this call necessary? */
+               mono_assembly_load_from_full (img, file, &status, FALSE);
        }
 
        setup_filter (img);
index 1e82623ad43dc7d22b36c033ec16a38784ebe06f..a894680487e9879adbad03a6573304fd31eb6de8 100644 (file)
@@ -656,7 +656,7 @@ static gboolean file_setendoffile(gpointer handle)
        struct _WapiHandle_file *file_handle;
        gboolean ok;
        struct stat statbuf;
-       off_t size, pos;
+       off_t pos;
        int ret, fd;
        
        ok=_wapi_lookup_handle (handle, WAPI_HANDLE_FILE,
@@ -691,7 +691,6 @@ static gboolean file_setendoffile(gpointer handle)
                _wapi_set_last_error_from_errno ();
                return(FALSE);
        }
-       size=statbuf.st_size;
 
        pos=lseek(fd, (off_t)0, SEEK_CUR);
        if(pos==-1) {
@@ -703,6 +702,7 @@ static gboolean file_setendoffile(gpointer handle)
        }
        
 #ifdef FTRUNCATE_DOESNT_EXTEND
+       off_t size = statbuf.st_size;
        /* I haven't bothered to write the configure.ac stuff for this
         * because I don't know if any platform needs it.  I'm leaving
         * this code just in case though
index c2e4c27c0e9804122037ce59a6958ebedea86cb0..7d26a2ba35a04c7be87b047ebe736a4e676ad934 100644 (file)
@@ -114,7 +114,7 @@ static guint32 process_wait (gpointer handle, guint32 timeout, gboolean alertabl
 static void process_close (gpointer handle, gpointer data);
 static gboolean is_pid_valid (pid_t pid);
 
-#if !defined(__OpenBSD__)
+#if !(defined(PLATFORM_MACOSX) || defined(__OpenBSD__) || defined(__HAIKU__))
 static FILE *
 open_process_map (int pid, const char *mode);
 #endif
@@ -1694,7 +1694,7 @@ static gboolean match_procname_to_modulename (char *procname, char *modulename)
        return result;
 }
 
-#if !defined(__OpenBSD__)
+#if !(defined(PLATFORM_MACOSX) || defined(__OpenBSD__) || defined(__HAIKU__))
 static FILE *
 open_process_map (int pid, const char *mode)
 {
@@ -2601,7 +2601,7 @@ static guint32
 process_wait (gpointer handle, guint32 timeout, gboolean alertable)
 {
        WapiHandle_process *process_handle;
-       pid_t pid, ret;
+       pid_t pid G_GNUC_UNUSED, ret;
        int status;
        guint32 start;
        guint32 now;
index ac03899668c560848cd0edc36770bf5cbbd1134f..9121f86731c3923586f7824b4f1b8c18bad09217 100644 (file)
@@ -1201,7 +1201,7 @@ WSAIoctl (guint32 fd, gint32 command,
 }
 
 #ifndef PLATFORM_PORT_PROVIDES_IOCTLSOCKET
-int ioctlsocket(guint32 fd, gint32 command, gpointer arg)
+int ioctlsocket(guint32 fd, unsigned long command, gpointer arg)
 {
        gpointer handle = GUINT_TO_POINTER (fd);
        int ret;
index 39668ae6875aab0c5f896fe79de95a7a1b90378d..13ae9961477eae4bfac003d9fd64f6caba15e507 100644 (file)
@@ -82,7 +82,7 @@ extern void WSASetLastError(int error);
 extern int WSAGetLastError(void);
 extern int closesocket(guint32 handle);
 
-extern int ioctlsocket(guint32 handle, gint32 command, gpointer arg);
+extern int ioctlsocket(guint32 handle, unsigned long command, gpointer arg);
 extern int WSAIoctl (guint32 handle, gint32 command,
                     gchar *input, gint i_len,
                     gchar *output, gint o_len, glong *written,
index 2ba7fc96d5554ee1eaa5d1c7221aabaa020896ae..2dc95f326156918a028873d82738fb35d6cbb933 100644 (file)
@@ -468,11 +468,9 @@ static gconstpointer
 get_fixedfileinfo_block (gconstpointer data, version_data *block)
 {
        gconstpointer data_ptr;
-       gint32 data_len; /* signed to guard against underflow */
        WapiFixedFileInfo *ffi;
 
        data_ptr = get_versioninfo_block (data, block);
-       data_len = block->data_len;
                
        if (block->value_len != sizeof(WapiFixedFileInfo)) {
                DEBUG ("%s: FIXEDFILEINFO size mismatch", __func__);
index d001da277c019304e996907bf15175b7a6479437..2ec2d900db6fbe8451fd8c9250c49e640060a24e 100644 (file)
@@ -229,7 +229,6 @@ GetCurrentThreadId (void)
 guint32
 SleepEx (guint32 ms, gboolean alertable)
 {
-       struct timespec req;
        int ms_quot, ms_rem;
        int ret;
        gpointer current_thread = NULL;
@@ -257,9 +256,6 @@ SleepEx (guint32 ms, gboolean alertable)
        ms_quot = ms / 1000;
        ms_rem = ms % 1000;
        
-       req.tv_sec=ms_quot;
-       req.tv_nsec=ms_rem*1000000;
-
 #if defined (__linux__) && !defined(PLATFORM_ANDROID)
        /* Use clock_nanosleep () to prevent time drifting problems when nanosleep () is interrupted by signals */
        ret = clock_gettime (CLOCK_MONOTONIC, &start);
@@ -283,6 +279,10 @@ SleepEx (guint32 ms, gboolean alertable)
        }
 
 #else
+       struct timespec req;
+
+       req.tv_sec=ms_quot;
+       req.tv_nsec=ms_rem*1000000;
 
 again:
        memset (&rem, 0, sizeof (rem));
index b3855758589bcf84b4ce19b0cfed5dc93cac6492..6be8db5154f0ffd55fe97608022a116b39c2da51 100644 (file)
@@ -1673,7 +1673,6 @@ mono_assembly_load_friends (MonoAssembly* ass)
                MonoCustomAttrEntry *attr = &attrs->attrs [i];
                MonoAssemblyName *aname;
                const gchar *data;
-               guint slen;
                /* Do some sanity checking */
                if (!attr->ctor || attr->ctor->klass != mono_defaults.internals_visible_class)
                        continue;
@@ -1683,7 +1682,7 @@ mono_assembly_load_friends (MonoAssembly* ass)
                /* 0xFF means null string, see custom attr format */
                if (data [0] != 1 || data [1] != 0 || (data [2] & 0xFF) == 0xFF)
                        continue;
-               slen = mono_metadata_decode_value (data + 2, &data);
+               mono_metadata_decode_value (data + 2, &data);
                aname = g_new0 (MonoAssemblyName, 1);
                /*g_print ("friend ass: %s\n", data);*/
                if (mono_assembly_name_parse_full (data, aname, TRUE, NULL, NULL)) {
index 0a053661b8e411892419e95a41ffa1bb3be6a0c0..71e87e1c577f09e113fdc7ca9dba54647a044b44 100644 (file)
@@ -129,15 +129,6 @@ decode_int (guint8 *buf, guint8 **endbuf, guint8 *limit)
        return (((int)buf [0]) << 0) | (((int)buf [1]) << 8) | (((int)buf [2]) << 16) | (((int)buf [3]) << 24);
 }
 
-static inline int
-decode_short (guint8 *buf, guint8 **endbuf, guint8 *limit)
-{
-       *endbuf = buf + 2;
-       g_assert (*endbuf <= limit);
-
-       return (((int)buf [0]) << 0) | (((int)buf [1]) << 8);
-}
-
 static char*
 decode_string_value (guint8 *buf, guint8 **endbuf, guint8 *limit)
 {
index 5c847572e8d7f7a61a502567fe0f08bf62763450..b7f9b7c49538794e23c9a36e7e84a87afb432742 100644 (file)
@@ -461,6 +461,8 @@ on_gc_notification (GCEventType event)
                gc_stats.major_gc_time += mono_100ns_ticks () - gc_start_time;
                mono_trace_message (MONO_TRACE_GC, "gc took %d usecs", (mono_100ns_ticks () - gc_start_time) / 10);
                break;
+       default:
+               break;
        }
 
        mono_profiler_gc_event (e, 0);
index 44f8d3142130ede756a535c18ccfbb701b4334b7..3768eb02835d13b0c4d1b79944e1ef4ac77543c6 100644 (file)
@@ -617,8 +617,9 @@ is_valid_generic_argument (MonoType *type)
        case MONO_TYPE_VOID:
        //case MONO_TYPE_TYPEDBYREF:
                return FALSE;
+       default:
+               return TRUE;
        }
-       return TRUE;
 }
 
 static MonoType*
@@ -1350,8 +1351,9 @@ mono_type_has_exceptions (MonoType *type)
                return type->data.array->eklass->exception_type;
        case MONO_TYPE_GENERICINST:
                return mono_generic_class_get_class (type->data.generic_class)->exception_type;
+       default:
+               return FALSE;
        }
-       return FALSE;
 }
 
 /*
@@ -4264,7 +4266,6 @@ mono_class_setup_vtable_general (MonoClass *class, MonoMethod **overrides, int o
        GHashTable *override_map = NULL;
        gboolean security_enabled = mono_security_enabled ();
        MonoMethod *cm;
-       gpointer class_iter;
 #if (DEBUG_INTERFACE_VTABLE_CODE|TRACE_INTERFACE_VTABLE_CODE)
        int first_non_interface_slot;
 #endif
@@ -4501,11 +4502,9 @@ mono_class_setup_vtable_general (MonoClass *class, MonoMethod **overrides, int o
                        // otherwise look for a matching method
                        if (override_im == NULL) {
                                int cm_index;
-                               gpointer iter;
                                MonoMethod *cm;
 
                                // First look for a suitable method among the class methods
-                               iter = NULL;
                                for (l = virt_methods; l; l = l->next) {
                                        cm = l->data;
                                        TRACE_INTERFACE_VTABLE (printf ("    For slot %d ('%s'.'%s':'%s'), trying method '%s'.'%s':'%s'... [EXPLICIT IMPLEMENTATION = %d][SLOT IS NULL = %d]", im_slot, ic->name_space, ic->name, im->name, cm->klass->name_space, cm->klass->name, cm->name, interface_is_explicitly_implemented_by_class, (vtable [im_slot] == NULL)));
@@ -4581,7 +4580,6 @@ mono_class_setup_vtable_general (MonoClass *class, MonoMethod **overrides, int o
        }
 
        TRACE_INTERFACE_VTABLE (print_vtable_full (class, vtable, cur_slot, first_non_interface_slot, "AFTER SETTING UP INTERFACE METHODS", FALSE));
-       class_iter = NULL;
        for (l = virt_methods; l; l = l->next) {
                cm = l->data;
                /*
@@ -6691,6 +6689,8 @@ mono_bounded_array_class_get (MonoClass *eclass, guint32 rank, gboolean bounded)
 #endif
                class->cast_class = mono_defaults.int64_class;
                break;
+       default:
+               break;
        }
 
        class->element_class = eclass;
@@ -9950,6 +9950,8 @@ can_access_instantiation (MonoClass *access_klass, MonoGenericInst *ginst)
                case MONO_TYPE_GENERICINST:
                        if (!can_access_type (access_klass, mono_class_from_mono_type (type)))
                                return FALSE;
+               default:
+                       break;
                }
        }
        return TRUE;
@@ -10247,8 +10249,9 @@ gboolean mono_type_is_valid_enum_basetype (MonoType * type) {
        case MONO_TYPE_I:
        case MONO_TYPE_U:
                return TRUE;
+       default:
+               return FALSE;
        }
-       return FALSE;
 }
 
 /**
index cf963571b91ab0db78ca718acb3e715f7f086c46..31d794f6b1fd4f696056d7b627cef95a131acc09 100644 (file)
@@ -593,7 +593,6 @@ mono_cominterop_emit_ptr_to_object_conv (MonoMethodBuilder *mb, MonoType *type,
                static MonoClass* com_interop_proxy_class = NULL;
                static MonoMethod* com_interop_proxy_get_proxy = NULL;
                static MonoMethod* get_transparent_proxy = NULL;
-               int real_proxy;
                guint32 pos_null = 0, pos_ccw = 0, pos_end = 0;
                MonoClass *klass = NULL; 
 
@@ -625,7 +624,7 @@ mono_cominterop_emit_ptr_to_object_conv (MonoMethodBuilder *mb, MonoType *type,
                        get_transparent_proxy = mono_class_get_method_from_name (mono_defaults.real_proxy_class, "GetTransparentProxy", 0);
 #endif
 
-               real_proxy = mono_mb_add_local (mb, &com_interop_proxy_class->byval_arg);
+               mono_mb_add_local (mb, &com_interop_proxy_class->byval_arg);
 
                mono_mb_emit_ldloc (mb, 0);
                mono_mb_emit_byte (mb, CEE_LDIND_I);
@@ -982,7 +981,7 @@ mono_cominterop_get_invoke (MonoMethod *method)
        MonoMethodSignature *sig;
        MonoMethodBuilder *mb;
        MonoMethod *res;
-       int i, temp_obj;
+       int i;
        GHashTable* cache = mono_marshal_get_cache (&method->klass->image->cominterop_invoke_cache, mono_aligned_addr_hash, NULL);
 
        g_assert (method);
@@ -999,7 +998,7 @@ mono_cominterop_get_invoke (MonoMethod *method)
        mb = mono_mb_new (method->klass, method->name, MONO_WRAPPER_COMINTEROP_INVOKE);
 
        /* get real proxy object, which is a ComInteropProxy in this case*/
-       temp_obj = mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
+       mono_mb_add_local (mb, &mono_defaults.object_class->byval_arg);
        mono_mb_emit_ldarg (mb, 0);
        mono_mb_emit_ldflda (mb, MONO_STRUCT_OFFSET (MonoTransparentProxy, rp));
        mono_mb_emit_byte (mb, CEE_LDIND_REF);
index 6803eaf82e7454acb906a3bea308cdb3d7f685c4..022822021400fd160ab63f4d0965ac6421cc25c8 100644 (file)
@@ -200,7 +200,7 @@ terminal_get_dimensions (void)
 static void
 tty_teardown (void)
 {
-       int unused;
+       int unused G_GNUC_UNUSED;
 
        if (!setup_finished)
                return;
@@ -289,7 +289,7 @@ static struct sigaction save_sigcont, save_sigint, save_sigwinch;
 
 MONO_SIG_HANDLER_FUNC (static, sigcont_handler)
 {
-       int unused;
+       int unused G_GNUC_UNUSED;
        // Ignore error, there is not much we can do in the sigcont handler.
        tcsetattr (STDIN_FILENO, TCSANOW, &mono_attr);
 
index aa62ad230e5cc51e95cabfaa96f6748dcc51e4f4..b91e722c7cc60a1ed0101536d9cef39c009a8717 100644 (file)
@@ -492,7 +492,6 @@ MonoMethod*
 mono_method_desc_search_in_image (MonoMethodDesc *desc, MonoImage *image)
 {
        MonoClass *klass;
-       const MonoTableInfo *tdef;
        const MonoTableInfo *methods;
        MonoMethod *method;
        int i;
@@ -511,7 +510,8 @@ mono_method_desc_search_in_image (MonoMethodDesc *desc, MonoImage *image)
                return mono_method_desc_search_in_class (desc, klass);
        }
 
-       tdef = mono_image_get_table_info (image, MONO_TABLE_TYPEDEF);
+       /* FIXME: Is this call necessary?  We don't use its result. */
+       mono_image_get_table_info (image, MONO_TABLE_TYPEDEF);
        methods = mono_image_get_table_info (image, MONO_TABLE_METHOD);
        for (i = 0; i < mono_table_info_get_rows (methods); ++i) {
                guint32 token = mono_metadata_decode_row_col (methods, i, MONO_METHOD_NAME);
index 0a989064a124eb4652c1b01751cbd4a3b9b9fe13..977c71d69a0692e51d17322bb1e23f8b8bf0563e 100644 (file)
@@ -826,8 +826,8 @@ mono_debug_symfile_lookup_locals (MonoDebugMethodInfo *minfo)
 {
        MonoSymbolFile *symfile = minfo->handle->symfile;
        const uint8_t *p;
-       int i, len, compile_unit_index, locals_offset, num_locals, block_index;
-       int namespace_id, code_block_table_offset;
+       int i, len, locals_offset, num_locals, block_index;
+       int code_block_table_offset;
        MonoDebugLocalsInfo *res;
 
        if (!symfile)
@@ -835,9 +835,9 @@ mono_debug_symfile_lookup_locals (MonoDebugMethodInfo *minfo)
 
        p = symfile->raw_contents + minfo->data_offset;
 
-       compile_unit_index = read_leb128 (p, &p);
+       /* compile_unit_index = */ read_leb128 (p, &p);
        locals_offset = read_leb128 (p, &p);
-       namespace_id = read_leb128 (p, &p);
+       /* namespace_id = */ read_leb128 (p, &p);
        code_block_table_offset = read_leb128 (p, &p);
 
        res = g_new0 (MonoDebugLocalsInfo, 1);
index 1d190bbcb160c4c12ce9c05f5a2d51efe93173be..6368e668856edb08312c5da1ccea8c5f1f3bc38d 100644 (file)
@@ -1119,14 +1119,14 @@ RetDec:
 }
 
 // Decimal addition
-static MonoDecimalStatus
+static MonoDecimalStatus G_GNUC_UNUSED
 mono_decimal_add(MonoDecimal *left, MonoDecimal *right, MonoDecimal *result)
 {
     return DecAddSub (left, right, result, 0);
 }
 
 // Decimal subtraction
-static MonoDecimalStatus
+static MonoDecimalStatus G_GNUC_UNUSED
 mono_decimal_sub(MonoDecimal *left, MonoDecimal *right, MonoDecimal *result)
 {
     return DecAddSub (left, right, result, DECIMAL_NEG);
@@ -1369,7 +1369,7 @@ OverflowUnscale (uint32_t *quo, gboolean remainder)
 }
 
 // mono_decimal_divide - Decimal divide
-static MonoDecimalStatus
+static MonoDecimalStatus G_GNUC_UNUSED
 mono_decimal_divide_result(MonoDecimal *left, MonoDecimal *right, MonoDecimal *result)
 {
        uint32_t   quo[3];
@@ -1715,7 +1715,7 @@ mono_decimal_divide_result(MonoDecimal *left, MonoDecimal *right, MonoDecimal *r
 }
 
 // mono_decimal_absolute - Decimal Absolute Value
-static void
+static void G_GNUC_UNUSED
 mono_decimal_absolute (MonoDecimal *pdecOprd, MonoDecimal *result)
 {
        COPYDEC(*result, *pdecOprd);
@@ -1748,7 +1748,7 @@ mono_decimal_round_to_int (MonoDecimal *pdecOprd, MonoDecimal *result)
 }
 
 // mono_decimal_negate - Decimal Negate
-static void
+static void G_GNUC_UNUSED
 mono_decimal_negate (MonoDecimal *pdecOprd, MonoDecimal *result)
 {
        COPYDEC(*result, *pdecOprd);
index 5523df53204e9491bbd6a63a111613886498cd3b..108540654798a3e2051a3200840ab07264ab8ee5 100644 (file)
@@ -51,7 +51,6 @@ ves_icall_System_IO_FSW_SupportsFSW (void)
        MonoDl *fam_module;
        int lib_used = 4; /* gamin */
        int inotify_instance;
-       void *iter;
        char *err;
 
        inotify_instance = ves_icall_System_IO_InotifyWatcher_GetInotifyInstance ();
@@ -60,11 +59,9 @@ ves_icall_System_IO_FSW_SupportsFSW (void)
                return 5; /* inotify */
        }
 
-       iter = NULL;
        fam_module = mono_dl_open ("libgamin-1.so", MONO_DL_LAZY, NULL);
        if (fam_module == NULL) {
                lib_used = 2; /* FAM */
-               iter = NULL;
                fam_module = mono_dl_open ("libfam.so", MONO_DL_LAZY, NULL);
        }
 
index 4c5d5967181011a620f17d16f47d85dab18f2bad..b2f17354eaa9b53400ffc4aefbbd0ea2d4eb08b9 100644 (file)
@@ -824,14 +824,12 @@ mono_gchandle_set_target (guint32 gchandle, MonoObject *obj)
        guint slot = gchandle >> 3;
        guint type = (gchandle & 7) - 1;
        HandleData *handles = &gc_handles [type];
-       MonoObject *old_obj = NULL;
 
        if (type > 3)
                return;
        lock_handles (handles);
        if (slot < handles->size && (handles->bitmap [slot / 32] & (1 << (slot % 32)))) {
                if (handles->type <= HANDLE_WEAK_TRACK) {
-                       old_obj = handles->entries [slot];
                        if (handles->entries [slot])
                                mono_gc_weak_link_remove (&handles->entries [slot], handles->type == HANDLE_WEAK_TRACK);
                        if (obj)
index 85c3eb4629afe8318ceb2f574971218e65b22b51..52b0e1abb547183dae49efe5526d66b1bf65a5e1 100644 (file)
@@ -292,6 +292,8 @@ ves_icall_System_Array_SetValueImpl (MonoArray *this, MonoObject *value, guint32
                        INVALID_CAST;
                }
                break;
+       default:
+               break;
        }
 
        if (!ec->valuetype) {
@@ -1471,14 +1473,11 @@ handle_enum:
 ICALL_EXPORT guint32
 ves_icall_type_is_subtype_of (MonoReflectionType *type, MonoReflectionType *c, MonoBoolean check_interfaces)
 {
-       MonoDomain *domain; 
        MonoClass *klass;
        MonoClass *klassc;
 
        g_assert (type != NULL);
        
-       domain = ((MonoObject *)type)->vtable->domain;
-
        if (!c) /* FIXME: dont know what do do here */
                return 0;
 
@@ -1522,14 +1521,11 @@ mono_type_get_underlying_type_ignore_byref (MonoType *type)
 ICALL_EXPORT guint32
 ves_icall_type_is_assignable_from (MonoReflectionType *type, MonoReflectionType *c)
 {
-       MonoDomain *domain; 
        MonoClass *klass;
        MonoClass *klassc;
 
        g_assert (type != NULL);
        
-       domain = ((MonoObject *)type)->vtable->domain;
-
        klass = mono_class_from_mono_type (type->type);
        klassc = mono_class_from_mono_type (c->type);
 
@@ -3112,6 +3108,8 @@ ves_icall_System_Enum_compare_value_to (MonoObject *this, MonoObject *other)
                        COMPARE_ENUM_VALUES (guint64);
                case MONO_TYPE_I8:
                        COMPARE_ENUM_VALUES (gint64);
+               default:
+                       break;
        }
 #undef COMPARE_ENUM_VALUES
        /* indicates that the enum was of an unsupported unerlying type */
@@ -3156,7 +3154,7 @@ ves_icall_System_Enum_GetEnumValuesAndNames (MonoReflectionType *type, MonoArray
 {
        MonoDomain *domain = mono_object_domain (type); 
        MonoClass *enumc = mono_class_from_mono_type (type->type);
-       guint j = 0, nvalues, crow;
+       guint j = 0, nvalues;
        gpointer iter;
        MonoClassField *field;
        int base_type;
@@ -3176,11 +3174,9 @@ ves_icall_System_Enum_GetEnumValuesAndNames (MonoReflectionType *type, MonoArray
        *names = mono_array_new (domain, mono_defaults.string_class, nvalues);
        *values = mono_array_new (domain, mono_defaults.uint64_class, nvalues);
 
-       crow = -1;
        iter = NULL;
        while ((field = mono_class_get_fields (enumc, &iter))) {
                const char *p;
-               int len;
                MonoTypeEnum def_type;
 
                if (!(field->type->attrs & FIELD_ATTRIBUTE_STATIC))
@@ -3192,7 +3188,7 @@ ves_icall_System_Enum_GetEnumValuesAndNames (MonoReflectionType *type, MonoArray
                mono_array_setref (*names, j, mono_string_new (domain, mono_field_get_name (field)));
 
                p = mono_class_get_field_default_value (field, &def_type);
-               len = mono_metadata_decode_blob_size (p, &p);
+               /* len = */ mono_metadata_decode_blob_size (p, &p);
 
                field_value = read_enum_value (p, base_type);
                mono_array_set (*values, guint64, j, field_value);
@@ -3336,7 +3332,7 @@ mono_class_get_methods_by_name (MonoClass *klass, const char *name, guint32 bfla
        MonoClass *startklass;
        MonoMethod *method;
        gpointer iter;
-       int len, match, nslots;
+       int match, nslots;
        /*FIXME, use MonoBitSet*/
        guint32 method_slots_default [8];
        guint32 *method_slots = NULL;
@@ -3346,7 +3342,6 @@ mono_class_get_methods_by_name (MonoClass *klass, const char *name, guint32 bfla
        startklass = klass;
        *ex = NULL;
 
-       len = 0;
        if (name != NULL)
                compare_func = (ignore_case) ? mono_utf8_strcasecmp : strcmp;
 
@@ -5796,9 +5791,6 @@ ves_icall_System_CurrentSystemTimeZone_GetTimeZoneData (guint32 year, MonoArray
                                }
                                transitioned++;
                        } else {
-                               time_t te;
-                               te = mktime (&tt);
-                               
                                mono_array_setref ((*names), 0, mono_string_new (domain, tzone));
                                mono_array_set ((*data), gint64, 1, ((gint64)t1 + EPOCH_ADJUST) * 10000000L);
                                if (gmtoff_ds == 0) {
index 7c7632c3732e287f63801ed77c0d32b990bebb6b..7068e026c6c1090f8c4555670b2af75484a09e06 100644 (file)
@@ -232,7 +232,6 @@ mono_image_ensure_section_idx (MonoImage *image, int section)
 {
        MonoCLIImageInfo *iinfo = image->image_info;
        MonoSectionTable *sect;
-       gboolean writable;
        
        g_return_val_if_fail (section < iinfo->cli_section_count, FALSE);
 
@@ -241,8 +240,6 @@ mono_image_ensure_section_idx (MonoImage *image, int section)
 
        sect = &iinfo->cli_section_tables [section];
        
-       writable = sect->st_flags & SECT_FLAGS_MEM_WRITE;
-
        if (sect->st_raw_data_ptr + sect->st_raw_data_size > image->raw_data_len)
                return FALSE;
 #ifdef HOST_WIN32
@@ -478,7 +475,7 @@ load_tables (MonoImage *image)
 {
        const char *heap_tables = image->heap_tables.data;
        const guint32 *rows;
-       guint64 valid_mask, sorted_mask;
+       guint64 valid_mask;
        int valid = 0, table;
        int heap_sizes;
        
@@ -488,7 +485,6 @@ load_tables (MonoImage *image)
        image->idx_blob_wide   = ((heap_sizes & 0x04) == 4);
        
        valid_mask = read64 (heap_tables + 8);
-       sorted_mask = read64 (heap_tables + 16);
        rows = (const guint32 *) (heap_tables + 24);
        
        for (table = 0; table < 64; table++){
@@ -503,9 +499,6 @@ load_tables (MonoImage *image)
                } else {
                        image->tables [table].rows = read32 (rows);
                }
-               /*if ((sorted_mask & ((guint64) 1 << table)) == 0){
-                       g_print ("table %s (0x%02x) is sorted\n", mono_meta_table_name (table), table);
-               }*/
                rows++;
                valid++;
        }
@@ -907,10 +900,8 @@ gboolean
 mono_image_load_cli_data (MonoImage *image)
 {
        MonoCLIImageInfo *iinfo;
-       MonoDotNetHeader *header;
 
        iinfo = image->image_info;
-       header = &iinfo->cli_header;
 
        /* Load the CLI header */
        if (!load_cli_header (image, iinfo))
@@ -941,17 +932,12 @@ static MonoImage *
 do_mono_image_load (MonoImage *image, MonoImageOpenStatus *status,
                    gboolean care_about_cli, gboolean care_about_pecoff)
 {
-       MonoCLIImageInfo *iinfo;
-       MonoDotNetHeader *header;
        GSList *errors = NULL;
 
        mono_profiler_module_event (image, MONO_PROFILE_START_LOAD);
 
        mono_image_init (image);
 
-       iinfo = image->image_info;
-       header = &iinfo->cli_header;
-               
        if (status)
                *status = MONO_IMAGE_IMAGE_INVALID;
 
index 233efef8aaa5fb3a5c42289f0107d81bbe2bce23..ca7fb8f369778782fbd6b14c7b30d1a2fc6afeed 100644 (file)
@@ -448,7 +448,7 @@ field_from_memberref (MonoImage *image, guint32 token, MonoClass **retklass,
        MonoTableInfo *tables = image->tables;
        MonoType *sig_type;
        guint32 cols[6];
-       guint32 nindex, class, class_table;
+       guint32 nindex, class;
        const char *fname;
        const char *ptr;
        guint32 idx = mono_metadata_token_index (token);
@@ -468,15 +468,12 @@ field_from_memberref (MonoImage *image, guint32 token, MonoClass **retklass,
 
        switch (class) {
        case MONO_MEMBERREF_PARENT_TYPEDEF:
-               class_table = MONO_TOKEN_TYPE_DEF;
                klass = mono_class_get_checked (image, MONO_TOKEN_TYPE_DEF | nindex, error);
                break;
        case MONO_MEMBERREF_PARENT_TYPEREF:
-               class_table = MONO_TOKEN_TYPE_REF;
                klass = mono_class_from_typeref_checked (image, MONO_TOKEN_TYPE_REF | nindex, error);
                break;
        case MONO_MEMBERREF_PARENT_TYPESPEC:
-               class_table = MONO_TOKEN_TYPE_SPEC;
                klass = mono_class_get_and_inflate_typespec_checked (image, MONO_TOKEN_TYPE_SPEC | nindex, context, error);
                break;
        default:
@@ -1779,7 +1776,6 @@ mono_get_method_from_token (MonoImage *image, guint32 token, MonoClass *klass,
        MonoTableInfo *tables = image->tables;
        MonoGenericContainer *generic_container = NULL, *container = NULL;
        const char *sig = NULL;
-       int size;
        guint32 cols [MONO_TYPEDEF_SIZE];
 
        mono_error_init (error);
@@ -1849,7 +1845,7 @@ mono_get_method_from_token (MonoImage *image, guint32 token, MonoClass *klass,
 
        if (!sig) /* already taken from the methodref */
                sig = mono_metadata_blob_heap (image, cols [4]);
-       size = mono_metadata_decode_blob_size (sig, &sig);
+       /* size = */ mono_metadata_decode_blob_size (sig, &sig);
 
        container = klass->generic_container;
 
@@ -2530,7 +2526,6 @@ MonoMethodSignature*
 mono_method_signature_checked (MonoMethod *m, MonoError *error)
 {
        int idx;
-       int size;
        MonoImage* img;
        const char *sig;
        gboolean can_cache_signature;
@@ -2598,7 +2593,7 @@ mono_method_signature_checked (MonoMethod *m, MonoError *error)
                if (!mono_verifier_verify_method_signature (img, sig_offset, error))
                        return NULL;
 
-               size = mono_metadata_decode_blob_size (sig, &sig_body);
+               /* size = */ mono_metadata_decode_blob_size (sig, &sig_body);
 
                signature = mono_metadata_parse_method_signature_full (img, container, idx, sig_body, NULL, error);
                if (!signature)
index 6eaa0775a2e5ce394970784100ec4a1243fd04d3..6eb497040b9932a2f880bbb4bfd0355dc578e3ab 100644 (file)
@@ -628,13 +628,11 @@ mono_free_lparray (MonoArray *array, gpointer* nativeArray)
                return;
        klass = array->obj.vtable->klass;
 
-       switch (klass->element_class->byval_arg.type) {
-               case MONO_TYPE_CLASS:
-                       for(i = 0; i < array->max_length; ++i)  
-                               mono_marshal_free_ccw (mono_array_get (array, MonoObject*, i));
-                       free(nativeArray);
-               break;
-       }               
+       if (klass->element_class->byval_arg.type == MONO_TYPE_CLASS) {
+               for(i = 0; i < array->max_length; ++i)
+                       mono_marshal_free_ccw (mono_array_get (array, MonoObject*, i));
+               free(nativeArray);
+       }
 #endif
 }
 
@@ -1708,27 +1706,8 @@ emit_object_to_ptr_conv (MonoMethodBuilder *mb, MonoType *type, MonoMarshalConv
 #endif /* DISABLE_COM */
 
        case MONO_MARSHAL_CONV_SAFEHANDLE: {
-               int dar_release_slot, pos;
+               int pos;
                
-               dar_release_slot = mono_mb_add_local (mb, &mono_defaults.boolean_class->byval_arg);
-
-               /*
-                * The following is ifdefed-out, because I have no way of doing the
-                * DangerousRelease when destroying the structure
-                */
-#if 0
-               /* set release = false */
-               mono_mb_emit_icon (mb, 0);
-               mono_mb_emit_stloc (mb, dar_release_slot);
-               if (!sh_dangerous_add_ref)
-                       init_safe_handle ();
-
-               /* safehandle.DangerousAddRef (ref release) */
-               mono_mb_emit_ldloc (mb, 0); /* the source */
-               mono_mb_emit_byte (mb, CEE_LDIND_I);
-               mono_mb_emit_ldloc_addr (mb, dar_release_slot);
-               mono_mb_emit_managed_call (mb, sh_dangerous_add_ref, NULL);
-#endif
                mono_mb_emit_ldloc (mb, 0);
                mono_mb_emit_byte (mb, CEE_LDIND_I);
                pos = mono_mb_emit_branch (mb, CEE_BRTRUE);
@@ -2326,7 +2305,6 @@ static gboolean
 mono_marshal_need_free (MonoType *t, MonoMethodPInvoke *piinfo, MonoMarshalSpec *spec)
 {
        MonoMarshalNative encoding;
-       MonoMarshalConv conv;
 
        switch (t->type) {
        case MONO_TYPE_VALUETYPE:
@@ -2336,7 +2314,7 @@ mono_marshal_need_free (MonoType *t, MonoMethodPInvoke *piinfo, MonoMarshalSpec
        case MONO_TYPE_CLASS:
                if (t->data.klass == mono_defaults.stringbuilder_class) {
                        gboolean need_free;
-                       conv = mono_marshal_get_ptr_to_stringbuilder_conv (piinfo, spec, &need_free);
+                       mono_marshal_get_ptr_to_stringbuilder_conv (piinfo, spec, &need_free);
                        return need_free;
                }
                return FALSE;
@@ -2592,10 +2570,8 @@ check_generic_wrapper_cache (GHashTable *cache, MonoMethod *orig_method, gpointe
        MonoMethod *res;
        MonoMethod *inst, *def;
        MonoGenericContext *ctx;
-       MonoMethod *def_method;
 
        g_assert (orig_method->is_inflated);
-       def_method = ((MonoMethodInflated*)orig_method)->declaring;
        ctx = mono_method_get_context (orig_method);
 
        /*
@@ -6163,7 +6139,7 @@ emit_marshal_array (EmitMarshalContext *m, int argnum, MonoType *t,
        case MARSHAL_ACTION_MANAGED_CONV_IN: {
                MonoClass *eklass;
                guint32 label1, label2, label3;
-               int index_var, src_ptr, loc, esize, param_num, num_elem;
+               int index_var, src_ptr, esize, param_num, num_elem;
                MonoMarshalConv conv;
                gboolean is_string = FALSE;
                
@@ -6224,7 +6200,6 @@ emit_marshal_array (EmitMarshalContext *m, int argnum, MonoType *t,
                else
                        esize = mono_class_native_size (eklass, NULL);
                src_ptr = mono_mb_add_local (mb, &mono_defaults.int_class->byval_arg);
-               loc = mono_mb_add_local (mb, &mono_defaults.int_class->byval_arg);
 
                mono_mb_emit_byte (mb, CEE_LDNULL);
                mono_mb_emit_stloc (mb, conv_arg);
@@ -6341,7 +6316,7 @@ emit_marshal_array (EmitMarshalContext *m, int argnum, MonoType *t,
        case MARSHAL_ACTION_MANAGED_CONV_OUT: {
                MonoClass *eklass;
                guint32 label1, label2, label3;
-               int index_var, dest_ptr, loc, esize, param_num, num_elem;
+               int index_var, dest_ptr, esize, param_num, num_elem;
                MonoMarshalConv conv;
                gboolean is_string = FALSE;
 
@@ -6389,7 +6364,6 @@ emit_marshal_array (EmitMarshalContext *m, int argnum, MonoType *t,
                        esize = mono_class_native_size (eklass, NULL);
 
                dest_ptr = mono_mb_add_local (mb, &mono_defaults.int_class->byval_arg);
-               loc = mono_mb_add_local (mb, &mono_defaults.int_class->byval_arg);
 
                /* Check null */
                mono_mb_emit_ldloc (mb, conv_arg);
@@ -6936,8 +6910,9 @@ emit_marshal (EmitMarshalContext *m, int argnum, MonoType *t,
                        return emit_marshal_vtype (m, argnum, t, spec, conv_arg, conv_arg_type, action);
                else
                        return emit_marshal_object (m, argnum, t, spec, conv_arg, conv_arg_type, action);
+       default:
+               return conv_arg;
        }
-       return conv_arg;
 }
 
 #ifndef DISABLE_JIT
@@ -7154,6 +7129,8 @@ mono_marshal_emit_native_wrapper (MonoImage *image, MonoMethodBuilder *mb, MonoM
                case MONO_TYPE_BOOLEAN:
                        emit_marshal (&m, argnum, t, spec, tmp_locals [i], NULL, MARSHAL_ACTION_CONV_OUT);
                        break;
+               default:
+                       break;
                }
        }
 
@@ -7705,6 +7682,8 @@ mono_marshal_emit_managed_wrapper (MonoMethodBuilder *mb, MonoMethodSignature *i
                        case MONO_TYPE_BOOLEAN:
                                emit_marshal (m, i, t, mspecs [i + 1], tmp_locals [i], NULL, MARSHAL_ACTION_MANAGED_CONV_OUT);
                                break;
+                       default:
+                               break;
                        }
                }
                else if (invoke_sig->params [i]->attrs & PARAM_ATTRIBUTE_OUT) {
@@ -7870,8 +7849,6 @@ mono_marshal_get_managed_wrapper (MonoMethod *method, MonoClass *delegate_klass,
                        gint32 call_conv;
                        gint32 charset = 0;
                        MonoBoolean set_last_error = 0;
-                       MonoBoolean best_fit_mapping = 0;
-                       MonoBoolean throw_on_unmappable = 0;
                        MonoError error;
 
                        mono_reflection_create_custom_attr_data_args (mono_defaults.corlib, attr->ctor, attr->data, attr->data_size, &typed_args, &named_args, &arginfo, &error);
@@ -7894,9 +7871,9 @@ mono_marshal_get_managed_wrapper (MonoMethod *method, MonoClass *delegate_klass,
                                } else if (!strcmp (narg->field->name, "SetLastError")) {
                                        set_last_error = *(MonoBoolean*)mono_object_unbox (o);
                                } else if (!strcmp (narg->field->name, "BestFitMapping")) {
-                                       best_fit_mapping = *(MonoBoolean*)mono_object_unbox (o);
+                                       // best_fit_mapping = *(MonoBoolean*)mono_object_unbox (o);
                                } else if (!strcmp (narg->field->name, "ThrowOnUnmappableChar")) {
-                                       throw_on_unmappable = *(MonoBoolean*)mono_object_unbox (o);
+                                       // throw_on_unmappable = *(MonoBoolean*)mono_object_unbox (o);
                                } else {
                                        g_assert_not_reached ();
                                }
@@ -8589,11 +8566,9 @@ mono_marshal_get_synchronized_inner_wrapper (MonoMethod *method)
        MonoMethodSignature *sig;
        MonoMethod *res;
        MonoGenericContext *ctx = NULL;
-       MonoMethod *orig_method = NULL;
        MonoGenericContainer *container = NULL;
 
        if (method->is_inflated && !mono_method_get_context (method)->method_inst) {
-               orig_method = method;
                ctx = &((MonoMethodInflated*)method)->context;
                method = ((MonoMethodInflated*)method)->declaring;
                container = mono_method_get_generic_container (method);
@@ -10258,7 +10233,6 @@ mono_struct_delete_old (MonoClass *klass, char *ptr)
        info = mono_marshal_load_type_info (klass);
 
        for (i = 0; i < info->num_fields; i++) {
-               MonoMarshalNative ntype;
                MonoMarshalConv conv;
                MonoType *ftype = info->fields [i].field->type;
                char *cpos;
@@ -10266,8 +10240,8 @@ mono_struct_delete_old (MonoClass *klass, char *ptr)
                if (ftype->attrs & FIELD_ATTRIBUTE_STATIC)
                        continue;
 
-               ntype = mono_type_to_unmanaged (ftype, info->fields [i].mspec, TRUE, 
-                                               klass->unicode, &conv);
+               mono_type_to_unmanaged (ftype, info->fields [i].mspec, TRUE, 
+                               klass->unicode, &conv);
                        
                cpos = ptr + info->fields [i].offset;
 
@@ -10861,10 +10835,10 @@ mono_marshal_asany (MonoObject *o, MonoMarshalNative string_encoding, int param_
 
                return res;
        }
+       default:
+               break;
        }
-
        mono_raise_exception (mono_get_exception_argument ("", "No PInvoke conversion exists for value passed to Object-typed parameter."));
-
        return NULL;
 }
 
index af9a11488eb0924c075dc1dcabe2e7bee849e143..1a1597f6ca73e6d1ada66adc0c16f1594f772eb6 100644 (file)
@@ -659,7 +659,7 @@ verify_resources_table (VerifyContext *ctx)
        DataDirectory it = ctx->data_directories [RESOURCE_TABLE_IDX];
        guint32 offset;
        guint16 named_entries, id_entries;
-       const char *ptr, *root, *end;
+       const char *ptr;
 
        if (it.rva == 0)
                return;
@@ -668,8 +668,7 @@ verify_resources_table (VerifyContext *ctx)
                ADD_ERROR (ctx, g_strdup_printf ("Resource section is too small, must be at least 16 bytes long but it's %d long", it.size));
 
        offset = it.translated_offset;
-       root = ptr = ctx->data + offset;
-       end = root + it.size;
+       ptr = ctx->data + offset;
 
        g_assert (offset != INVALID_OFFSET);
 
index 432c26f073e9fb89f06a5322326a24558c546d23..6df3833139956db8d64495ab8c9885e56ec39ac8 100644 (file)
@@ -3146,6 +3146,8 @@ mono_metadata_get_shared_type (MonoType *type)
                if (type == &type->data.klass->this_arg)
                        return type;
                break;
+       default:
+               break;
        }
 
        return NULL;
@@ -3315,6 +3317,8 @@ mono_metadata_free_type (MonoType *type)
        case MONO_TYPE_ARRAY:
                mono_metadata_free_array (type->data.array);
                break;
+       default:
+               break;
        }
 
        g_free (type);
@@ -3350,14 +3354,13 @@ static MonoExceptionClause*
 parse_section_data (MonoImage *m, int *num_clauses, const unsigned char *ptr)
 {
        unsigned char sect_data_flags;
-       const unsigned char *sptr;
        int is_fat;
        guint32 sect_data_len;
        MonoExceptionClause* clauses = NULL;
        
        while (1) {
                /* align on 32-bit boundary */
-               sptr = ptr = dword_align (ptr); 
+               ptr = dword_align (ptr); 
                sect_data_flags = *ptr;
                ptr++;
                
@@ -3369,14 +3372,7 @@ parse_section_data (MonoImage *m, int *num_clauses, const unsigned char *ptr)
                        sect_data_len = ptr [0];
                        ++ptr;
                }
-               /*
-               g_print ("flags: %02x, len: %d\n", sect_data_flags, sect_data_len);
-               hex_dump (sptr, 0, sect_data_len+8);
-               g_print ("\nheader: ");
-               hex_dump (sptr-4, 0, 4);
-               g_print ("\n");
-               */
-               
+
                if (sect_data_flags & METHOD_HEADER_SECTION_EHTABLE) {
                        const unsigned char *p = dword_align (ptr);
                        int i;
@@ -3525,7 +3521,7 @@ mono_metadata_parse_mh_full (MonoImage *m, MonoGenericContainer *container, cons
        guint32 local_var_sig_tok, max_stack, code_size, init_locals;
        const unsigned char *code;
        MonoExceptionClause* clauses = NULL;
-       int hsize, num_clauses = 0;
+       int num_clauses = 0;
        MonoTableInfo *t = &m->tables [MONO_TABLE_STANDALONESIG];
        guint32 cols [MONO_STAND_ALONE_SIGNATURE_SIZE];
 
@@ -3544,7 +3540,6 @@ mono_metadata_parse_mh_full (MonoImage *m, MonoGenericContainer *container, cons
        case METHOD_HEADER_FAT_FORMAT:
                fat_flags = read16 (ptr);
                ptr += 2;
-               hsize = (fat_flags >> 12) & 0xf;
                max_stack = read16 (ptr);
                ptr += 2;
                code_size = read32 (ptr);
@@ -3584,10 +3579,10 @@ mono_metadata_parse_mh_full (MonoImage *m, MonoGenericContainer *container, cons
                clauses = parse_section_data (m, &num_clauses, (const unsigned char*)ptr);
        if (local_var_sig_tok) {
                const char *locals_ptr;
-               int len=0, i, bsize;
+               int len=0, i;
 
                locals_ptr = mono_metadata_blob_heap (m, cols [MONO_STAND_ALONE_SIGNATURE]);
-               bsize = mono_metadata_decode_blob_size (locals_ptr, &locals_ptr);
+               mono_metadata_decode_blob_size (locals_ptr, &locals_ptr);
                if (*locals_ptr != 0x07)
                        g_warning ("wrong signature for locals blob");
                locals_ptr++;
@@ -4696,8 +4691,9 @@ mono_metadata_type_hash (MonoType *t1)
        case MONO_TYPE_VAR:
        case MONO_TYPE_MVAR:
                return ((hash << 5) - hash) ^ mono_metadata_generic_param_hash (t1->data.generic_param);
+       default:
+               return hash;
        }
-       return hash;
 }
 
 static guint
@@ -5364,7 +5360,6 @@ mono_type_create_from_typespec_checked (MonoImage *image, guint32 type_spec, Mon
        MonoTableInfo *t;
        guint32 cols [MONO_TYPESPEC_SIZE];
        const char *ptr;
-       guint32 len;
        MonoType *type, *type2;
 
        mono_error_init (error);
@@ -5385,7 +5380,7 @@ mono_type_create_from_typespec_checked (MonoImage *image, guint32 type_spec, Mon
                return NULL;
        }
 
-       len = mono_metadata_decode_value (ptr, &ptr);
+       mono_metadata_decode_value (ptr, &ptr);
 
        type = mono_metadata_parse_type_internal (image, NULL, MONO_PARSE_TYPE, 0, TRUE, ptr, &ptr);
        if (!type) {
index c9e9e030b8c41354b5ddf2af83701ec657a40b3a..cfa830cca82fa944915b48e6812e5f8d8d823ba1 100644 (file)
@@ -551,7 +551,6 @@ mono_config_for_assembly (MonoImage *assembly)
        int got_it = 0, i;
        char *aname, *cfg, *cfg_name;
        const char *bundled_config;
-       const char *home;
        
        state.assembly = assembly;
 
@@ -567,14 +566,13 @@ mono_config_for_assembly (MonoImage *assembly)
 
        cfg_name = g_strdup_printf ("%s.config", mono_image_get_name (assembly));
 
-       home = g_get_home_dir ();
-
        for (i = 0; (aname = get_assembly_filename (assembly, i)) != NULL; ++i) {
                cfg = g_build_filename (mono_get_config_dir (), "mono", "assemblies", aname, cfg_name, NULL);
                got_it += mono_config_parse_file_with_context (&state, cfg);
                g_free (cfg);
 
 #ifdef TARGET_WIN32
+               const char *home = g_get_home_dir ();
                cfg = g_build_filename (home, ".mono", "assemblies", aname, cfg_name, NULL);
                got_it += mono_config_parse_file_with_context (&state, cfg);
                g_free (cfg);
index f75453571d043d92656e568f5feae6f6a6911bde..a62305b104639e2e8d559b41a1d42de68dd36198 100644 (file)
@@ -175,14 +175,12 @@ mono_debug_cleanup (void)
 void
 mono_debug_domain_create (MonoDomain *domain)
 {
-       MonoDebugDataTable *table;
-
        if (!mono_debug_initialized)
                return;
 
        mono_debugger_lock ();
 
-       table = create_data_table (domain);
+       create_data_table (domain);
 
        mono_debugger_unlock ();
 }
@@ -427,8 +425,6 @@ mono_debug_add_method (MonoMethod *method, MonoDebugMethodJitInfo *jit, MonoDoma
 {
        MonoDebugDataTable *table;
        MonoDebugMethodAddress *address;
-       MonoDebugMethodInfo *minfo;
-       MonoDebugHandle *handle;
        guint8 buffer [BUFSIZ];
        guint8 *ptr, *oldptr;
        guint32 i, size, total_size, max_size;
@@ -437,9 +433,6 @@ mono_debug_add_method (MonoMethod *method, MonoDebugMethodJitInfo *jit, MonoDoma
 
        table = lookup_data_table (domain);
 
-       handle = mono_debug_get_image (method->klass->image);
-       minfo = mono_debug_lookup_method_internal (method);
-
        max_size = (5 * 5) + 1 + (10 * jit->num_line_numbers) +
                (25 + sizeof (gpointer)) * (1 + jit->num_params + jit->num_locals);
 
index 49fac50c681e62f74e823ec6f9808bf6a7048c88..11fd4641042f7b7063b19063639cd3e4f3799864 100644 (file)
@@ -220,7 +220,7 @@ rehash (MonoGHashTable *hash)
 {
        int diff = ABS (hash->last_rehash - hash->in_use);
        RehashData data;
-       void *old_table;
+       void *old_table G_GNUC_UNUSED; /* unused on Boehm */
 
        /* These are the factors to play with to change the rehashing strategy */
        /* I played with them with a large range, and could not really get */
index dc233332d907a91c242bd25031408c7102bb1348..2cc6a65a254ec3277b6520ace1d89af221a491a8 100644 (file)
@@ -1238,14 +1238,13 @@ custom_get_instance (SharedCategory *cat, SharedCounter *scounter, char* name)
 {
        SharedInstance* inst;
        char *p;
-       int size, data_offset;
+       int size;
        inst = find_custom_instance (cat, name);
        if (inst)
                return inst;
        size = sizeof (SharedInstance) + strlen (name);
        size += 7;
        size &= ~7;
-       data_offset = size;
        size += (sizeof (guint64) * cat->num_counters);
        perfctr_lock ();
        inst = (SharedInstance*) shared_data_reserve_room (size, FTYPE_INSTANCE);
@@ -1797,9 +1796,8 @@ static gboolean
 mono_perfcounter_foreach_shared_item (SharedHeader *header, gpointer data)
 {
        int i;
-       char *p, *name, *help;
+       char *p, *name;
        unsigned char type;
-       int seq_num;
        void *addr;
        SharedCategory *cat;
        SharedCounter *counter;
@@ -1816,10 +1814,10 @@ mono_perfcounter_foreach_shared_item (SharedHeader *header, gpointer data)
                for (i = 0; i < cat->num_counters; ++i) {
                        counter = (SharedCounter*) p;
                        type = (unsigned char)*p++;
-                       seq_num = (int)*p++;
+                       /* seq_num = (int)* */ p++;
                        name = p;
                        p += strlen (p) + 1;
-                       help = p;
+                       /* help = p; */
                        p += strlen (p) + 1;
 
                        inst = custom_get_instance (cat, counter, name);
index 5cdb52f52c1a2255d174863f13d344cb5f7e1bce..74a64d4c7875e58f9de22aec90284deedbf55cc6 100644 (file)
@@ -1880,7 +1880,6 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *class, gboolean
        size_t imt_table_bytes;
        int gc_bits;
        guint32 vtable_size, class_size;
-       guint32 cindex;
        gpointer iter;
        gpointer *interface_offsets;
 
@@ -2023,7 +2022,6 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *class, gboolean
                mono_stats.class_static_data_size += class_size;
        }
 
-       cindex = -1;
        iter = NULL;
        while ((field = mono_class_get_fields (class, &iter))) {
                if (!(field->type->attrs & FIELD_ATTRIBUTE_STATIC))
@@ -4393,6 +4391,7 @@ mono_object_allocate (size_t size, MonoVTable *vtable)
        return o;
 }
 
+#ifndef HAVE_SGEN_GC
 /**
  * mono_object_allocate_ptrfree:
  * @size: number of bytes to allocate
@@ -4407,6 +4406,7 @@ mono_object_allocate_ptrfree (size_t size, MonoVTable *vtable)
        ALLOC_PTRFREE (o, vtable, size);
        return o;
 }
+#endif
 
 static inline void *
 mono_object_allocate_spec (size_t size, MonoVTable *vtable)
@@ -6276,7 +6276,6 @@ void
 mono_delegate_ctor_with_method (MonoObject *this, MonoObject *target, gpointer addr, MonoMethod *method)
 {
        MonoDelegate *delegate = (MonoDelegate *)this;
-       MonoClass *class;
 
        g_assert (this);
        g_assert (addr);
@@ -6284,7 +6283,6 @@ mono_delegate_ctor_with_method (MonoObject *this, MonoObject *target, gpointer a
        if (method)
                delegate->method = method;
 
-       class = this->vtable->klass;
        mono_stats.delegate_creations++;
 
 #ifndef DISABLE_REMOTING
@@ -6349,7 +6347,7 @@ mono_method_call_message_new (MonoMethod *method, gpointer *params, MonoMethod *
        MonoDomain *domain = mono_domain_get ();
        MonoMethodSignature *sig = mono_method_signature (method);
        MonoMethodMessage *msg;
-       int i, count, type;
+       int i, count;
 
        msg = (MonoMethodMessage *)mono_object_new (domain, mono_defaults.mono_method_message_class); 
        
@@ -6371,7 +6369,6 @@ mono_method_call_message_new (MonoMethod *method, gpointer *params, MonoMethod *
                else 
                        vpos = params [i];
 
-               type = sig->params [i]->type;
                class = mono_class_from_mono_type (sig->params [i]);
 
                if (class->valuetype)
index 7a9830c57ea65c603f7e8b09dbf8b20f47e28369..b82a3c23e59fbac10149d110ad67950d24674792 100644 (file)
@@ -1765,11 +1765,11 @@ static guint32
 encode_constant (MonoDynamicImage *assembly, MonoObject *val, guint32 *ret_type) {
        char blob_size [64];
        char *b = blob_size;
-       char *p, *box_val;
+       char *box_val;
        char* buf;
        guint32 idx = 0, len = 0, dummy = 0;
 
-       p = buf = g_malloc (64);
+       buf = g_malloc (64);
        if (!val) {
                *ret_type = MONO_TYPE_CLASS;
                len = 4;
@@ -2773,7 +2773,6 @@ mono_image_get_field_on_inst_token (MonoDynamicImage *assembly, MonoReflectionFi
        guint32 token;
        MonoClass *klass;
        MonoGenericClass *gclass;
-       MonoDynamicGenericClass *dgclass;
        MonoType *type;
        char *name;
 
@@ -2786,7 +2785,6 @@ mono_image_get_field_on_inst_token (MonoDynamicImage *assembly, MonoReflectionFi
                klass = mono_class_from_mono_type (type);
                gclass = type->data.generic_class;
                g_assert (gclass->is_dynamic);
-               dgclass = (MonoDynamicGenericClass *) gclass;
 
                name = mono_string_to_utf8 (fb->name);
                token = mono_image_get_memberref_token (assembly, &klass->byval_arg, name, 
@@ -2826,7 +2824,6 @@ mono_image_get_ctor_on_inst_token (MonoDynamicImage *assembly, MonoReflectionCto
 
        if (is_sre_ctor_builder (mono_object_class (c->cb))) {
                MonoReflectionCtorBuilder *cb = (MonoReflectionCtorBuilder *)c->cb;
-               MonoDynamicGenericClass *dgclass;
                ReflectionMethodBuilder rmb;
                char *name;
 
@@ -2835,7 +2832,6 @@ mono_image_get_ctor_on_inst_token (MonoDynamicImage *assembly, MonoReflectionCto
 
                gclass = type->data.generic_class;
                g_assert (gclass->is_dynamic);
-               dgclass = (MonoDynamicGenericClass *) gclass;
 
                reflection_methodbuilder_from_ctor_builder (&rmb, cb);
 
@@ -3195,7 +3191,6 @@ static guint32
 mono_image_get_generic_field_token (MonoDynamicImage *assembly, MonoReflectionFieldBuilder *fb)
 {
        MonoDynamicTable *table;
-       MonoClass *klass;
        MonoType *custom = NULL, *type;
        guint32 *values;
        guint32 token, pclass, parent, sig;
@@ -3205,7 +3200,8 @@ mono_image_get_generic_field_token (MonoDynamicImage *assembly, MonoReflectionFi
        if (token)
                return token;
 
-       klass = mono_class_from_mono_type (mono_reflection_type_get_handle (fb->typeb));
+       /* FIXME: is this call necessary? */
+       mono_class_from_mono_type (mono_reflection_type_get_handle (fb->typeb));
        name = mono_string_to_utf8 (fb->name);
 
        /*FIXME this is one more layer of ugliness due how types are created.*/
@@ -3248,7 +3244,6 @@ mono_reflection_encode_sighelper (MonoDynamicImage *assembly, MonoReflectionSigH
 {
        SigBuffer buf;
        guint32 nargs;
-       guint32 size;
        guint32 i, idx;
 
        if (!assembly->save)
@@ -3262,8 +3257,6 @@ mono_reflection_encode_sighelper (MonoDynamicImage *assembly, MonoReflectionSigH
        else
                nargs = 0;
 
-       size = 10 + (nargs * 10);
-       
        sigbuffer_init (&buf, 32);
 
        /* Encode calling convention */
@@ -6380,14 +6373,15 @@ verify_safe_for_managed_space (MonoType *type)
                for (i = 0; i < inst->type_argc; ++i)
                        if (!verify_safe_for_managed_space (inst->type_argv [i]))
                                return FALSE;
-               break;
+               return TRUE;
        }
 #endif
        case MONO_TYPE_VAR:
        case MONO_TYPE_MVAR:
                return TRUE;
+       default:
+               return TRUE;
        }
-       return TRUE;
 }
 
 static MonoType*
@@ -10625,13 +10619,10 @@ mono_reflection_bind_generic_parameters (MonoReflectionType *type, int type_argc
        MonoClass *klass;
        MonoReflectionTypeBuilder *tb = NULL;
        gboolean is_dynamic = FALSE;
-       MonoDomain *domain;
        MonoClass *geninst;
 
        mono_loader_lock ();
 
-       domain = mono_object_domain (type);
-
        if (is_sre_type_builder (mono_object_class (type))) {
                tb = (MonoReflectionTypeBuilder *) type;
 
index 7b88643c1e52d5fd8fc159805d52130c81a1b910..58ff2a98ad257a0ea657884a0c180bbace898e46 100644 (file)
@@ -463,6 +463,8 @@ mono_marshal_xdomain_copy_out_value (MonoObject *src, MonoObject *dst)
                }
                return;
        }
+       default:
+               break;
        }
 
        if (mono_object_class (src) == mono_defaults.stringbuilder_class) {
@@ -1941,8 +1943,9 @@ mono_get_xdomain_marshal_type (MonoType *t)
                        return MONO_MARSHAL_COPY;
                break;
        }
+       default:
+               break;
        }
-
        return MONO_MARSHAL_SERIALIZE;
 }
 
@@ -1994,6 +1997,8 @@ mono_marshal_xdomain_copy_value (MonoObject *val)
                }
                return (MonoObject *) acopy;
        }
+       default:
+               break;
        }
 
        if (mono_object_class (val) == mono_defaults.stringbuilder_class) {
index 4d7dd6f4bfe3bcb2bc07cf5e47f94b9e0b118c89..86478b00b8cf1f86e85574ae7a57120db4256265 100644 (file)
@@ -215,10 +215,6 @@ free_callback_data (SgenBridgeProcessor *processor)
 void
 sgen_bridge_processing_finish (int generation)
 {
-       unsigned long step_8;
-       SGEN_TV_DECLARE (atv);
-       SGEN_TV_DECLARE (btv);
-
        bridge_processor.processing_build_callback_data (generation);
        if (compare_bridge_processors ())
                compare_to_bridge_processor.processing_build_callback_data (generation);
@@ -234,17 +230,12 @@ sgen_bridge_processing_finish (int generation)
        if (compare_bridge_processors ())
                sgen_compare_bridge_processor_results (&bridge_processor, &compare_to_bridge_processor);
 
-       SGEN_TV_GETTIME (btv);
-
        null_weak_links_to_dead_objects (&bridge_processor, generation);
 
        free_callback_data (&bridge_processor);
        if (compare_bridge_processors ())
                free_callback_data (&compare_to_bridge_processor);
 
-       SGEN_TV_GETTIME (atv);
-       step_8 = SGEN_TV_ELAPSED (btv, atv);
-
  after_callback:
        bridge_processor.processing_after_callback (generation);
        if (compare_bridge_processors ())
index 5c9143622881d0981ff8cefc9688e28fe2b6da0a..1ae6ff614eda857346332a09754728399e8d4693 100644 (file)
@@ -115,7 +115,7 @@ sgen_collect_bridge_objects (int generation, ScanCopyContext ctx)
        GrayQueue *queue = ctx.queue;
        SgenHashTable *hash_table = get_finalize_entry_hash_table (generation);
        MonoObject *object;
-       gpointer dummy;
+       gpointer dummy G_GNUC_UNUSED;
        char *copy;
        SgenPointerQueue moved_fin_objects;
 
@@ -187,7 +187,7 @@ sgen_finalize_in_range (int generation, ScanCopyContext ctx)
        GrayQueue *queue = ctx.queue;
        SgenHashTable *hash_table = get_finalize_entry_hash_table (generation);
        MonoObject *object;
-       gpointer dummy;
+       gpointer dummy G_GNUC_UNUSED;
        SgenPointerQueue moved_fin_objects;
 
        sgen_pointer_queue_init (&moved_fin_objects, INTERNAL_MEM_TEMPORARY);
@@ -575,7 +575,7 @@ finalizers_for_domain (MonoDomain *domain, MonoObject **out_array, int out_size,
        SgenHashTable *hash_table)
 {
        MonoObject *object;
-       gpointer dummy;
+       gpointer dummy G_GNUC_UNUSED;
        int count;
 
        if (no_finalize || !out_size || !out_array)
@@ -666,7 +666,7 @@ sgen_null_link_in_range (int generation, gboolean before_finalization, ScanCopyC
        CopyOrMarkObjectFunc copy_func = ctx.copy_func;
        GrayQueue *queue = ctx.queue;
        void **link;
-       gpointer dummy;
+       gpointer dummy G_GNUC_UNUSED;
        SgenHashTable *hash = get_dislink_hash_table (generation);
 
        SGEN_HASH_TABLE_FOREACH (hash, link, dummy) {
@@ -752,7 +752,7 @@ void
 sgen_null_links_for_domain (MonoDomain *domain, int generation)
 {
        void **link;
-       gpointer dummy;
+       gpointer dummy G_GNUC_UNUSED;
        SgenHashTable *hash = get_dislink_hash_table (generation);
        SGEN_HASH_TABLE_FOREACH (hash, link, dummy) {
                char *object = DISLINK_OBJECT (link);
@@ -784,7 +784,7 @@ void
 sgen_null_links_with_predicate (int generation, WeakLinkAlivePredicateFunc predicate, void *data)
 {
        void **link;
-       gpointer dummy;
+       gpointer dummy G_GNUC_UNUSED;
        SgenHashTable *hash = get_dislink_hash_table (generation);
        SGEN_HASH_TABLE_FOREACH (hash, link, dummy) {
                char *object = DISLINK_OBJECT (link);
@@ -809,7 +809,7 @@ sgen_remove_finalizers_for_domain (MonoDomain *domain, int generation)
 {
        SgenHashTable *hash_table = get_finalize_entry_hash_table (generation);
        MonoObject *object;
-       gpointer dummy;
+       gpointer dummy G_GNUC_UNUSED;
 
        SGEN_HASH_TABLE_FOREACH (hash_table, object, dummy) {
                object = tagged_object_get_object (object);
index 10a0a142bd8afd5c01391ebd3eeae80bfeec03a8..a080e9fcf1dc4fb80edbb370421bee736fa57edc 100644 (file)
@@ -539,15 +539,6 @@ static mword objects_pinned;
  * ######################################################################
  */
 
-inline static void*
-align_pointer (void *ptr)
-{
-       mword p = (mword)ptr;
-       p += sizeof (gpointer) - 1;
-       p &= ~ (sizeof (gpointer) - 1);
-       return (void*)p;
-}
-
 typedef SgenGrayQueue GrayQueue;
 
 /* forward declarations */
@@ -1803,13 +1794,13 @@ sgen_dump_section (GCMemSection *section, const char *type)
        char *end = section->data + section->size;
        char *occ_start = NULL;
        GCVTable *vt;
-       char *old_start = NULL; /* just for debugging */
+       char *old_start G_GNUC_UNUSED = NULL; /* just for debugging */
 
        fprintf (heap_dump_file, "<section type=\"%s\" size=\"%lu\">\n", type, (unsigned long)section->size);
 
        while (start < end) {
                guint size;
-               MonoClass *class;
+               MonoClass *class G_GNUC_UNUSED;
 
                if (!*(void**)start) {
                        if (occ_start) {
@@ -2173,13 +2164,13 @@ verify_nursery (void)
 static void
 check_nursery_is_clean (void)
 {
-       char *start, *end, *cur;
+       char *end, *cur;
 
-       start = cur = sgen_get_nursery_start ();
+       cur = sgen_get_nursery_start ();
        end = sgen_get_nursery_end ();
 
        while (cur < end) {
-               size_t ss, size;
+               size_t size;
 
                if (!*(void**)cur) {
                        cur += sizeof (void*);
@@ -2189,7 +2180,6 @@ check_nursery_is_clean (void)
                g_assert (!object_is_forwarded (cur));
                g_assert (!object_is_pinned (cur));
 
-               ss = safe_object_get_size ((MonoObject*)cur);
                size = ALIGN_UP (safe_object_get_size ((MonoObject*)cur));
                verify_scan_starts (cur, cur + size);
 
@@ -4654,7 +4644,6 @@ mono_gc_base_init (void)
        int dummy;
        gboolean debug_print_allowance = FALSE;
        double allowance_ratio = 0, save_target = 0;
-       gboolean have_split_nursery = FALSE;
        gboolean cement_enabled = TRUE;
 
        mono_counters_init ();
@@ -4763,7 +4752,6 @@ mono_gc_base_init (void)
                        sgen_simple_nursery_init (&sgen_minor_collector);
                } else if (!strcmp (minor_collector_opt, "split")) {
                        sgen_split_nursery_init (&sgen_minor_collector);
-                       have_split_nursery = TRUE;
                } else {
                        sgen_env_var_error (MONO_GC_PARAMS_NAME, "Using `simple` instead.", "Unknown minor collector `%s'.", minor_collector_opt);
                        goto use_simple_nursery;
@@ -5439,6 +5427,8 @@ mono_gc_get_vtable_bits (MonoClass *class)
                case GC_BRIDGE_OPAQUE_CLASS:
                        res = SGEN_GC_BIT_BRIDGE_OPAQUE_OBJECT;
                        break;
+               case GC_BRIDGE_TRANSPARENT_CLASS:
+                       break;
                }
        }
        if (fin_callbacks.is_class_finalization_aware) {
index dc104a0a8cd2accf415b382e86590aada62b12be..066eba633e4dcc92c5cd9c65fed1ee218caf7bec 100644 (file)
@@ -503,7 +503,6 @@ mono_sgen_los_describe_pointer (char *ptr)
        LOSObject *obj;
 
        for (obj = los_object_list; obj; obj = obj->next) {
-               MonoVTable *vtable;
                const char *los_kind;
                mword size;
                gboolean pinned;
@@ -519,8 +518,6 @@ mono_sgen_los_describe_pointer (char *ptr)
                else
                        los_kind = "los-ptr";
 
-               vtable = (MonoVTable*)SGEN_LOAD_VTABLE (obj->data);
-
                if (obj->data == ptr) {
                        SGEN_LOG (0, "%s (size %d pin %d)\n", los_kind, (int)size, pinned ? 1 : 0);
                } else {
index 1733d575f4a151ae2616c661aeb8683929ee9ac6..a8bf84acc02b0f064b446e1a46d2361703901518 100644 (file)
@@ -528,7 +528,7 @@ add_source (HashEntry *entry, HashEntry *src)
 static void
 free_data (void)
 {
-       MonoObject *obj;
+       MonoObject *obj G_GNUC_UNUSED;
        HashEntry *entry;
        int total_srcs = 0;
        int max_srcs = 0;
@@ -991,7 +991,7 @@ processing_stw_step (void)
 {
        int i;
        int bridge_count;
-       MonoObject *obj;
+       MonoObject *obj G_GNUC_UNUSED;
        HashEntry *entry;
        SGEN_TV_DECLARE (atv);
        SGEN_TV_DECLARE (btv);
@@ -1047,8 +1047,7 @@ processing_build_callback_data (int generation)
        int i, j;
        int num_sccs, num_xrefs;
        int max_entries, max_xrefs;
-       int sccs_size;
-       MonoObject *obj;
+       MonoObject *obj G_GNUC_UNUSED;
        HashEntry *entry;
        HashEntry **all_entries;
        MonoGCBridgeSCC **api_sccs;
@@ -1209,8 +1208,6 @@ processing_build_callback_data (int generation)
                }
        }
 
-       sccs_size = dyn_array_scc_size (&sccs);
-
        for (i = 0; i < hash_table.num_entries; ++i) {
                HashEntry *entry = all_entries [i];
                second_pass_links += dyn_array_ptr_size (&entry->srcs);
index d2ef221e1ddcd01b7bc6d4206ec856e22e4796f6..26731005a35a02ad27ba5242db19d95acc5cdb17 100644 (file)
@@ -775,7 +775,6 @@ sgen_build_nursery_fragments (GCMemSection *nursery_section, SgenGrayQueue *unpi
        while (pin_entry < pin_end || frags_ranges) {
                char *addr0, *addr1;
                size_t size;
-               SgenFragment *last_frag = NULL;
 
                addr0 = addr1 = sgen_nursery_end;
                if (pin_entry < pin_end)
@@ -796,7 +795,6 @@ sgen_build_nursery_fragments (GCMemSection *nursery_section, SgenGrayQueue *unpi
                } else {
                        frag_end = addr1;
                        size = frags_ranges->fragment_next - addr1;
-                       last_frag = frags_ranges;
                        frags_ranges = frags_ranges->next_in_order;
                }
 
index 5982c1bde4c6e6cd54b259496e71bbdd9de0f856..c2f5db5bf942abb3eabb8d9e3d4eb8470fa32149 100644 (file)
@@ -442,7 +442,7 @@ add_source (HashEntry *entry, HashEntry *src)
 static void
 free_data (void)
 {
-       MonoObject *obj;
+       MonoObject *obj G_GNUC_UNUSED;
        HashEntry *entry;
        int total_srcs = 0;
        int max_srcs = 0;
@@ -682,8 +682,7 @@ processing_build_callback_data (int generation)
        int i, j;
        int num_sccs, num_xrefs;
        int max_entries, max_xrefs;
-       int sccs_size;
-       MonoObject *obj;
+       MonoObject *obj G_GNUC_UNUSED;
        HashEntry *entry;
        HashEntry **all_entries;
        MonoGCBridgeSCC **api_sccs;
@@ -774,8 +773,6 @@ processing_build_callback_data (int generation)
                }
        }
 
-       sccs_size = dyn_array_scc_size (&sccs);
-
        for (i = 0; i < hash_table.num_entries; ++i) {
                HashEntry *entry = all_entries [i];
                second_pass_links += dyn_array_ptr_size (&entry->srcs);
index 87cc412c672371ed8609566a362359e4d0936bf3..f8312bfc15da53ce9e7c9377e6f38a4b358e1467 100644 (file)
@@ -152,13 +152,6 @@ get_object_age (char *object)
        return region_age [idx];
 }
 
-static inline void
-set_object_age (char *object, int age)
-{
-       size_t idx = (object - sgen_nursery_start) >> SGEN_TO_SPACE_GRANULE_BITS;
-       region_age [idx] = age;
-}
-
 static void
 set_age_in_range (char *start, char *end, int age)
 {
index a66b4533d689d0799c7adbd16645d9ab8e8afff6..ee376a888505bec4fd1f9bd5da5a6d248ce18940 100644 (file)
@@ -783,7 +783,7 @@ static gint8
 monitor_heuristic (gint16 *current, gint16 *history_size, SamplesHistory *history, ThreadPool *tp)
 {
        int i;
-       gint8 decision;
+       gint8 decision G_GNUC_UNUSED;
        gint16 cur, max = 0;
        gboolean all_waitsleepjoin;
        MonoInternalThread *thread;
index 61254e03dab1e3ae80d7602977618c6cad745261..d63841bd9cb8ea8f112d45f4cf90be5530c5bb3e 100644 (file)
@@ -88,7 +88,7 @@ tp_poll_modify (gpointer p, int fd, int operation, int events, gboolean is_new)
        SocketIOData *socket_io_data;
        tp_poll_data *data;
        char msg [1];
-       int unused;
+       int unused G_GNUC_UNUSED;
 
        socket_io_data = p;
        data = socket_io_data->event_data;
index cad7c83ae04618a1e9de8a953e766b85e67fb93a..68fe0688774e03bdf70e4f80f566f1e98cc3abf8 100644 (file)
@@ -531,6 +531,8 @@ mono_type_is_valid_type_in_context_full (MonoType *type, MonoGenericContext *con
                        return FALSE;
                break;
        }
+       default:
+               break;
        }
        return TRUE;
 }
@@ -1449,6 +1451,8 @@ is_valid_bool_arg (ILStackDesc *arg)
                         * is it a "class Foo<T>" or a "struct Foo<T>"?
                         */
                        return !arg->type->data.generic_class->container_class->valuetype;
+               default:
+                       return FALSE;
                }
        default:
                return FALSE;
@@ -3902,6 +3906,8 @@ do_cast (VerifyContext *ctx, int token, const char *opcode) {
        case MONO_TYPE_PTR:
        case MONO_TYPE_TYPEDBYREF: 
                CODE_NOT_VERIFIABLE (ctx, g_strdup_printf ("Invalid value for %s at 0x%04x", opcode, ctx->ip_offset));
+       default:
+               break;
        }
 
        do_box = is_boxed || mono_type_is_generic_argument(type) || mono_class_from_mono_type (type)->valuetype;
@@ -4417,8 +4423,6 @@ do_sizeof (VerifyContext *ctx, int token)
 static void
 do_localloc (VerifyContext *ctx)
 {
-       ILStackDesc *top;
-       
        if (ctx->eval.size != 1) {
                ADD_VERIFY_ERROR (ctx, g_strdup_printf ("Stack must have only size item in localloc at 0x%04x", ctx->ip_offset));
                return;         
@@ -4430,7 +4434,7 @@ do_localloc (VerifyContext *ctx)
        }
 
        /*TODO verify top type*/
-       top = stack_pop (ctx);
+       /* top = */ stack_pop (ctx);
 
        set_stack_value (ctx, stack_push (ctx), &mono_defaults.int_class->byval_arg, FALSE);
        CODE_NOT_VERIFIABLE (ctx, g_strdup_printf ("Instruction localloc in never verifiable at 0x%04x", ctx->ip_offset));
@@ -4822,7 +4826,7 @@ mono_method_verify (MonoMethod *method, int level)
        MonoSimpleBasicBlock *bb = NULL, *original_bb = NULL;
 
        int i, n, need_merge = 0, start = 0;
-       guint token, ip_offset = 0, prefix = 0;
+       guint ip_offset = 0, prefix = 0;
        MonoGenericContext *generic_context = NULL;
        MonoImage *image;
        VerifyContext ctx;
@@ -5367,7 +5371,7 @@ mono_method_verify (MonoMethod *method, int level)
                        code_bounds_check (5);
                        if (ctx.eval.size)
                                ADD_VERIFY_ERROR (&ctx, g_strdup_printf ("Eval stack must be empty in jmp at 0x%04x", ip_offset));
-                       token = read32 (ip + 1);
+                       /* token = read32 (ip + 1); */
                        if (in_any_block (ctx.header, ip_offset))
                                ADD_VERIFY_ERROR (&ctx, g_strdup_printf ("jmp cannot escape exception blocks at 0x%04x", ip_offset));
 
@@ -5386,7 +5390,7 @@ mono_method_verify (MonoMethod *method, int level)
 
                case CEE_CALLI:
                        code_bounds_check (5);
-                       token = read32 (ip + 1);
+                       /* token = read32 (ip + 1); */
                        /*
                         * FIXME: check signature, retval, arguments etc.
                         * FIXME: check requirements for tail call
index 83185d488bbc7bd9365a757554106d6282b9f58a..514c756e9d2dd602c7de0a5352013e40676dc0b6 100644 (file)
@@ -343,18 +343,6 @@ emit_section_change (MonoAotCompile *acfg, const char *section_name, int subsect
        img_writer_emit_section_change (acfg->w, section_name, subsection_index);
 }
 
-static inline void
-emit_push_section (MonoAotCompile *acfg, const char *section_name, int subsection)
-{
-       img_writer_emit_push_section (acfg->w, section_name, subsection);
-}
-
-static inline void
-emit_pop_section (MonoAotCompile *acfg)
-{
-       img_writer_emit_pop_section (acfg->w);
-}
-
 static inline void
 emit_local_symbol (MonoAotCompile *acfg, const char *name, const char *end_label, gboolean func) 
 { 
@@ -421,12 +409,6 @@ emit_padding (MonoAotCompile *acfg, int size)
        }
 }
 
-static inline void
-emit_pointer_unaligned (MonoAotCompile *acfg, const char *target) 
-{ 
-       img_writer_emit_pointer_unaligned (acfg->w, target); 
-}
-
 static inline void
 emit_pointer (MonoAotCompile *acfg, const char *target) 
 { 
@@ -3775,7 +3757,7 @@ add_wrappers (MonoAotCompile *acfg)
                                MonoMethodSignature *sig = mono_method_signature (e->ctor);
                                const char *p = (const char*)e->data;
                                const char *named;
-                               int slen, num_named, named_type, data_type;
+                               int slen, num_named, named_type;
                                char *n;
                                MonoType *t;
                                MonoClass *klass;
@@ -3820,13 +3802,12 @@ add_wrappers (MonoAotCompile *acfg)
                                if (num_named == 1) {
                                        int name_len;
                                        char *name;
-                                       MonoType *prop_type;
 
                                        /* parse ExportSymbol attribute */
                                        named = p;
                                        named_type = *named;
                                        named += 1;
-                                       data_type = *named;
+                                       /* data_type = *named; */
                                        named += 1;
 
                                        name_len = mono_metadata_decode_blob_size (named, &named);
@@ -3838,8 +3819,6 @@ add_wrappers (MonoAotCompile *acfg)
                                        g_assert (named_type == 0x54);
                                        g_assert (!strcmp (name, "ExportSymbol"));
 
-                                       prop_type = &mono_defaults.string_class->byval_arg;
-
                                        /* load_cattr_value (), string case */
                                        g_assert (*named != (char)0xff);
                                        slen = mono_metadata_decode_value (named, &named);
@@ -4665,10 +4644,9 @@ get_file_index (MonoAotCompile *acfg, const char *source_file)
 static void
 emit_and_reloc_code (MonoAotCompile *acfg, MonoMethod *method, guint8 *code, guint32 code_len, MonoJumpInfo *relocs, gboolean got_only, MonoDebugMethodJitInfo *debug_info)
 {
-       int i, pindex, start_index, method_index;
+       int i, pindex, start_index;
        GPtrArray *patches;
        MonoJumpInfo *patch_info;
-       MonoMethodHeader *header;
        MonoDebugSourceLocation **locs = NULL;
        gboolean skip;
 #ifdef MONO_ARCH_AOT_SUPPORTED
@@ -4678,12 +4656,6 @@ emit_and_reloc_code (MonoAotCompile *acfg, MonoMethod *method, guint8 *code, gui
        const char *direct_pinvoke;
 #endif
 
-       if (method) {
-               header = mono_method_get_header (method);
-
-               method_index = get_method_index (acfg, method);
-       }
-
        if (acfg->gas_line_numbers && method && debug_info) {
                locs = compute_line_numbers (method, code_len, debug_info);
                if (!locs) {
@@ -4986,12 +4958,10 @@ emit_method_code (MonoAotCompile *acfg, MonoCompile *cfg)
        char *debug_sym = NULL;
        char *symbol = NULL;
        int func_alignment = AOT_FUNC_ALIGNMENT;
-       MonoMethodHeader *header;
        char *export_name;
 
        method = cfg->orig_method;
        code = cfg->native_code;
-       header = cfg->header;
 
        method_index = get_method_index (acfg, method);
        symbol = g_strdup_printf ("%sme_%x", acfg->temp_prefix, method_index);
@@ -5287,13 +5257,11 @@ emit_method_info (MonoAotCompile *acfg, MonoCompile *cfg)
        int pindex, buf_size, n_patches;
        GPtrArray *patches;
        MonoJumpInfo *patch_info;
-       MonoMethodHeader *header;
        guint32 method_index;
        guint8 *p, *buf;
        guint32 first_got_offset;
 
        method = cfg->orig_method;
-       header = mono_method_get_header (method);
 
        method_index = get_method_index (acfg, method);
 
@@ -5410,8 +5378,7 @@ get_unwind_info_offset (MonoAotCompile *acfg, guint8 *encoded, guint32 encoded_l
 static void
 emit_exception_debug_info (MonoAotCompile *acfg, MonoCompile *cfg, gboolean store_seq_points)
 {
-       MonoMethod *method;
-       int i, k, buf_size, method_index;
+       int i, k, buf_size;
        guint32 debug_info_size, seq_points_size;
        guint8 *code;
        MonoMethodHeader *header;
@@ -5421,12 +5388,9 @@ emit_exception_debug_info (MonoAotCompile *acfg, MonoCompile *cfg, gboolean stor
        gboolean use_unwind_ops = FALSE;
        MonoSeqPointInfo *seq_points;
 
-       method = cfg->orig_method;
        code = cfg->native_code;
        header = cfg->header;
 
-       method_index = get_method_index (acfg, method);
-
        if (!acfg->aot_opts.nodebug) {
                mono_debug_serialize_debug_info (cfg, &debug_info, &debug_info_size);
        } else {
@@ -5569,11 +5533,9 @@ emit_exception_debug_info (MonoAotCompile *acfg, MonoCompile *cfg, gboolean stor
        if (jinfo->has_generic_jit_info) {
                MonoGenericJitInfo *gi = mono_jit_info_get_generic_jit_info (jinfo);
                MonoGenericSharingContext* gsctx = gi->generic_sharing_context;
-               guint8 *p1;
                guint8 *buf2, *p2;
                int len;
 
-               p1 = p;
                encode_value (gi->nlocs, p, &p);
                if (gi->nlocs) {
                        for (i = 0; i < gi->nlocs; ++i) {
@@ -5840,7 +5802,6 @@ emit_plt (MonoAotCompile *acfg)
        for (i = 0; i < acfg->plt_offset; ++i) {
                char *debug_sym = NULL;
                MonoPltEntry *plt_entry = NULL;
-               MonoJumpInfo *ji;
 
                if (i == 0)
                        /* 
@@ -5849,7 +5810,6 @@ emit_plt (MonoAotCompile *acfg)
                        continue;
 
                plt_entry = g_hash_table_lookup (acfg->plt_offset_to_entry, GUINT_TO_POINTER (i));
-               ji = plt_entry->ji;
 
                debug_sym = plt_entry->debug_sym;
 
@@ -5899,13 +5859,11 @@ emit_plt (MonoAotCompile *acfg)
                for (i = 0; i < acfg->plt_offset; ++i) {
                        char *debug_sym = NULL;
                        MonoPltEntry *plt_entry = NULL;
-                       MonoJumpInfo *ji;
 
                        if (i == 0)
                                continue;
 
                        plt_entry = g_hash_table_lookup (acfg->plt_offset_to_entry, GUINT_TO_POINTER (i));
-                       ji = plt_entry->ji;
 
                        /* Skip plt entries not actually called by LLVM code */
                        if (!plt_entry->llvm_used)
index 7d91eb80e3a4dc91f8a5a9c83bafc2cf0c8920c9..d0071087e8d96d970b3fbf1f284b94fb9045fb8a 100644 (file)
@@ -304,12 +304,12 @@ static guint32
 mono_aot_get_offset (guint32 *table, int index)
 {
        int i, group, ngroups, index_entry_size;
-       int start_offset, offset, noffsets, group_size;
+       int start_offset, offset, group_size;
        guint8 *data_start, *p;
        guint32 *index32 = NULL;
        guint16 *index16 = NULL;
        
-       noffsets = table [0];
+       /* noffsets = table [0]; */
        group_size = table [1];
        ngroups = table [2];
        index_entry_size = table [3];
@@ -694,7 +694,7 @@ decode_signature_with_target (MonoAotModule *module, MonoMethodSignature *target
 {
        MonoMethodSignature *sig;
        guint32 flags;
-       int i, param_count, call_conv, gen_param_count = 0;
+       int i, param_count, call_conv;
        guint8 *p = buf;
        gboolean hasthis, explicit_this, has_gen_params;
 
@@ -706,7 +706,7 @@ decode_signature_with_target (MonoAotModule *module, MonoMethodSignature *target
        call_conv = flags & 0x0F;
 
        if (has_gen_params)
-               gen_param_count = decode_value (p, &p);
+               /* gen_param_count = */ decode_value (p, &p);
        param_count = decode_value (p, &p);
        if (target && param_count != target->param_count)
                return NULL;
@@ -2403,7 +2403,7 @@ decode_llvm_mono_eh_frame (MonoAotModule *amodule, MonoDomain *domain,
        guint8 *fde, *cie, *code_start, *code_end;
        int version, fde_count;
        gint32 *table;
-       int i, j, pos, left, right, offset, offset1, offset2, code_len, func_encoding;
+       int i, j, pos, left, right, offset, offset1, offset2, code_len;
        MonoJitExceptionInfo *ei;
        guint32 fde_len, ei_len, nested_len, nindex;
        gpointer *type_info;
@@ -2420,7 +2420,7 @@ decode_llvm_mono_eh_frame (MonoAotModule *amodule, MonoDomain *domain,
        version = *p;
        g_assert (version == 3);
        p ++;
-       func_encoding = *p;
+       /* func_encoding = *p; */
        p ++;
        p = ALIGN_PTR_TO (p, 4);
 
@@ -2598,7 +2598,7 @@ decode_exception_debug_info (MonoAotModule *amodule, MonoDomain *domain,
        gboolean has_generic_jit_info, has_dwarf_unwind_info, has_clauses, has_seq_points, has_try_block_holes, has_arch_eh_jit_info;
        gboolean from_llvm, has_gc_map;
        guint8 *p;
-       int generic_info_size, try_holes_info_size, num_holes, arch_eh_jit_info_size;
+       int try_holes_info_size, num_holes;
        int this_reg = 0, this_offset = 0;
        gboolean async;
 
@@ -2622,12 +2622,8 @@ decode_exception_debug_info (MonoAotModule *amodule, MonoDomain *domain,
        } else {
                unwind_info = decode_value (p, &p);
        }
-       if (has_generic_jit_info) {
+       if (has_generic_jit_info)
                flags |= JIT_INFO_HAS_GENERIC_JIT_INFO;
-               generic_info_size = sizeof (MonoGenericJitInfo);
-       } else {
-               generic_info_size = 0;
-       }
 
        if (has_try_block_holes) {
                num_holes = decode_value (p, &p);
@@ -2639,11 +2635,8 @@ decode_exception_debug_info (MonoAotModule *amodule, MonoDomain *domain,
 
        if (has_arch_eh_jit_info) {
                flags |= JIT_INFO_HAS_ARCH_EH_INFO;
-               arch_eh_jit_info_size = sizeof (MonoArchEHJitInfo);
                /* Overwrite the original code_len which includes alignment padding */
                code_len = decode_value (p, &p);
-       } else {
-               arch_eh_jit_info_size = 0;
        }
 
        /* Exception table */
@@ -2975,7 +2968,7 @@ mono_aot_find_jit_info (MonoDomain *domain, MonoImage *image, gpointer addr)
        MonoAotModule *amodule = image->aot_module;
        MonoMethod *method = NULL;
        MonoJitInfo *jinfo;
-       guint8 *code, *code_end, *ex_info, *p;
+       guint8 *code, *ex_info, *p;
        guint32 *table;
        int nmethods;
        gint32 *code_offsets;
@@ -3027,8 +3020,6 @@ mono_aot_find_jit_info (MonoDomain *domain, MonoImage *image, gpointer addr)
        code_offsets = amodule->sorted_code_offsets;
        offsets_len = amodule->sorted_code_offsets_len;
 
-       code_end = amodule->jit_code_end > amodule->llvm_code_end ? amodule->jit_code_end : amodule->llvm_code_end;
-
        /* Binary search in the sorted_code_offsets table */
        left = 0;
        right = offsets_len;
index 904db01827de6ce2c8e14f08931843f1cce7cccb..14488d7b435a2eee3e9f37833904ddea34173ae5 100644 (file)
@@ -626,7 +626,7 @@ mono_if_conversion (MonoCompile *cfg)
         * optimize_branches () since the IR is already optimized.
         */
        for (bb = cfg->bb_entry; bb; bb = bb->next_bb) {
-               MonoBasicBlock *bb1, *bb2, *true_bb, *false_bb, *next_bb;
+               MonoBasicBlock *bb1, *bb2, *next_bb;
                MonoInst *branch1, *branch2, *compare1, *ins, *next;
 
                /* Look for the IR code generated from if (<var> < 0 || v > <limit>)
@@ -657,8 +657,6 @@ mono_if_conversion (MonoCompile *cfg)
                if (!(branch1 && ((branch1->opcode == OP_IBLT) || (branch1->opcode == OP_LBLT)) && (branch1->inst_false_bb == next_bb)))
                        continue;
 
-               true_bb = branch1->inst_true_bb;
-
                /* Check second branch */
                branch2 = mono_bb_last_inst (next_bb, filter);
                if (!branch2)
@@ -666,9 +664,9 @@ mono_if_conversion (MonoCompile *cfg)
 
                /* mcs sometimes generates inverted branches */
                if (((branch2->opcode == OP_IBGT) || (branch2->opcode == OP_LBGT)) && branch2->inst_true_bb == branch1->inst_true_bb)
-                       false_bb = branch2->inst_false_bb;
+                       ;
                else if (((branch2->opcode == OP_IBLE) || (branch2->opcode == OP_LBLE)) && branch2->inst_false_bb == branch1->inst_true_bb)
-                       false_bb = branch2->inst_true_bb;
+                       ;
                else
                        continue;
 
index 1565a8684f84b00d89fd5c28eed0368c2b96f339..92ff7d8ce1f1fdeaa03cf1e759b33b5e0b1dcf2f 100644 (file)
@@ -220,7 +220,6 @@ mono_debug_close_method (MonoCompile *cfg)
        MonoDebugMethodJitInfo *jit;
        MonoMethodHeader *header;
        MonoMethodSignature *sig;
-       MonoDebugMethodAddress *debug_info;
        MonoMethod *method;
        int i;
 
@@ -270,7 +269,7 @@ mono_debug_close_method (MonoCompile *cfg)
        for (i = 0; i < jit->num_line_numbers; i++)
                jit->line_numbers [i] = g_array_index (info->line_numbers, MonoDebugLineNumberEntry, i);
 
-       debug_info = mono_debug_add_method (cfg->method_to_register, jit, cfg->domain);
+       mono_debug_add_method (cfg->method_to_register, jit, cfg->domain);
 
        mono_debug_add_vg_method (method, jit);
 
index 576d004ec91ef8e2e5ccf98c71a661d524d446c4..393b0275c58304c5c18a06df0a287f283eb977cb 100644 (file)
@@ -8939,7 +8939,6 @@ frame_commands (int command, guint8 *p, guint8 *end, Buffer *buf)
        DebuggerTlsData *tls;
        StackFrame *frame;
        MonoDebugMethodJitInfo *jit;
-       MonoDebugVarInfo *var;
        MonoMethodSignature *sig;
        gssize id;
        MonoMethodHeader *header;
@@ -9015,14 +9014,10 @@ frame_commands (int command, guint8 *p, guint8 *end, Buffer *buf)
 
                                g_assert (pos >= 0 && pos < jit->num_params);
 
-                               var = &jit->params [pos];
-
                                add_var (buf, jit, sig->params [pos], &jit->params [pos], &frame->ctx, frame->domain, FALSE);
                        } else {
                                g_assert (pos >= 0 && pos < jit->num_locals);
 
-                               var = &jit->locals [pos];
-                               
                                add_var (buf, jit, header->locals [pos], &jit->locals [pos], &frame->ctx, frame->domain, FALSE);
                        }
                }
index c9c3b120000d38480d243672922254dc0f66d6cf..c7750e189c9c9eec5dd8141f0cccf417f91ea3c6 100644 (file)
@@ -156,12 +156,6 @@ emit_pop_section (MonoDwarfWriter *w)
        img_writer_emit_pop_section (w->w);
 }
 
-static inline void
-emit_local_symbol (MonoDwarfWriter *w, const char *name, const char *end_label, gboolean func) 
-{ 
-       img_writer_emit_local_symbol (w->w, name, end_label, func); 
-}
-
 static inline void
 emit_label (MonoDwarfWriter *w, const char *name) 
 { 
@@ -222,12 +216,6 @@ emit_symbol_diff (MonoDwarfWriter *w, const char *end, const char* start, int of
        img_writer_emit_symbol_diff (w->w, end, start, offset); 
 }
 
-static inline void
-emit_zero_bytes (MonoDwarfWriter *w, int num) 
-{ 
-       img_writer_emit_zero_bytes (w->w, num); 
-}
-
 static inline void
 emit_byte (MonoDwarfWriter *w, guint8 val) 
 { 
@@ -1065,7 +1053,6 @@ emit_class_dwarf_info (MonoDwarfWriter *w, MonoClass *klass, gboolean vtype)
                iter = NULL;
                while ((field = mono_class_get_fields (klass, &iter))) {
                        const char *p;
-                       int len;
                        MonoTypeEnum def_type;
 
                        if (strcmp ("value__", mono_field_get_name (field)) == 0)
@@ -1077,7 +1064,7 @@ emit_class_dwarf_info (MonoDwarfWriter *w, MonoClass *klass, gboolean vtype)
                        emit_string (w, mono_field_get_name (field));
 
                        p = mono_class_get_field_default_value (field, &def_type);
-                       len = mono_metadata_decode_blob_size (p, &p);
+                       /* len = */ mono_metadata_decode_blob_size (p, &p);
                        switch (mono_class_enum_basetype (klass)->type) {
                        case MONO_TYPE_U1:
                        case MONO_TYPE_I1:
index 4c0950163fb8718b90cb20c9feb04f528b81fd0f..99092b74e4e889357c38d4bd7854f84e2cc9001d 100644 (file)
@@ -148,7 +148,7 @@ mono_disassemble_code (MonoCompile *cfg, guint8 *code, int size, char *id)
        char *as_file;
        char *o_file;
        char *cmd;
-       int unused;
+       int unused G_GNUC_UNUSED;
 
 #ifdef HOST_WIN32
        as_file = g_strdup_printf ("%s/test.s", tmp);    
index 819cfa33b22da7bb8f0aaf6f258bea04acc31bd5..599c9ef57293119d4eafc0ef5c4a11d68c98ed9b 100644 (file)
@@ -1259,7 +1259,6 @@ static int normal_sections [] = { SECT_DATA, SECT_DEBUG_FRAME, SECT_DEBUG_INFO,
 static int
 bin_writer_emit_writeout (MonoImageWriter *acfg)
 {
-       FILE *file;
        ElfHeader header;
        ElfProgHeader progh [4];
        ElfSectHeader secth [SECT_NUM];
@@ -1277,11 +1276,9 @@ bin_writer_emit_writeout (MonoImageWriter *acfg)
        ElfSymbol *symtab;
        ElfDynamic dynamic [14];
        int *hash;
-       int i, num_sections, file_offset, virt_offset, size, num_symtab;
+       int i, num_sections, file_offset, virt_offset, size;
        int num_local_syms;
 
-       file = acfg->fp;
-
        /* Section headers */
        memset (&secth, 0, sizeof (secth));
        memset (&dynamic, 0, sizeof (dynamic));
@@ -1305,7 +1302,6 @@ bin_writer_emit_writeout (MonoImageWriter *acfg)
 
        num_sections = collect_sections (acfg, secth, all_sections, 16);
        hash = build_hash (acfg, num_sections, &dyn_str_table);
-       num_symtab = hash [1]; /* FIXME */
 #if 0
        g_print ("num_sections: %d\n", num_sections);
        g_print ("dynsym: %d, dynstr size: %d\n", hash [1], (int)dyn_str_table.data->len);
index 29261596d93d71fd414aefac8369d43e5ffcc76e..3d4e8029aab6b69e8e9a352adecdffc0e40445ff 100644 (file)
@@ -134,9 +134,8 @@ restart:
                        num_sregs = mono_inst_get_src_registers (ins, sregs);
                        for (srcindex = 0; srcindex < num_sregs; ++srcindex) {
                                MonoInst *def;
-                               int nregs;
 
-                               nregs = mono_inst_get_src_registers (ins, sregs);
+                               mono_inst_get_src_registers (ins, sregs);
 
                                regtype = spec [MONO_INST_SRC1 + srcindex];
                                sreg = sregs [srcindex];
index 3f32e68f8655a0a211e564f3540640c1f25732ff..0a4bc6587aaff91ca4b2483e1badec3bd5bfb5ad 100755 (executable)
@@ -3286,7 +3286,7 @@ void
 mini_emit_stobj (MonoCompile *cfg, MonoInst *dest, MonoInst *src, MonoClass *klass, gboolean native)
 {
        MonoInst *iargs [4];
-       int context_used, n;
+       int n;
        guint32 align = 0;
        MonoMethod *memcpy_method;
        MonoInst *size_ins = NULL;
@@ -3303,7 +3303,6 @@ mini_emit_stobj (MonoCompile *cfg, MonoInst *dest, MonoInst *src, MonoClass *kla
 
        if (mini_is_gsharedvt_klass (cfg, klass)) {
                g_assert (!native);
-               context_used = mini_class_check_context_used (cfg, klass);
                size_ins = emit_get_gsharedvt_info_klass (cfg, klass, MONO_RGCTX_INFO_VALUE_SIZE);
                memcpy_ins = emit_get_gsharedvt_info_klass (cfg, klass, MONO_RGCTX_INFO_MEMCPY);
        }
@@ -3382,7 +3381,7 @@ void
 mini_emit_initobj (MonoCompile *cfg, MonoInst *dest, const guchar *ip, MonoClass *klass)
 {
        MonoInst *iargs [3];
-       int n, context_used;
+       int n;
        guint32 align;
        MonoMethod *memset_method;
        MonoInst *size_ins = NULL;
@@ -3392,7 +3391,6 @@ mini_emit_initobj (MonoCompile *cfg, MonoInst *dest, const guchar *ip, MonoClass
        /* FIXME: Optimize this for the case when dest is an LDADDR */
        mono_class_init (klass);
        if (mini_is_gsharedvt_klass (cfg, klass)) {
-               context_used = mini_class_check_context_used (cfg, klass);
                size_ins = emit_get_gsharedvt_info_klass (cfg, klass, MONO_RGCTX_INFO_VALUE_SIZE);
                bzero_ins = emit_get_gsharedvt_info_klass (cfg, klass, MONO_RGCTX_INFO_BZERO);
                if (!bzero_method)
@@ -3950,9 +3948,6 @@ handle_unbox_gsharedvt (MonoCompile *cfg, MonoClass *klass, MonoInst *obj, MonoB
                MonoInst *addr = emit_get_gsharedvt_info_klass (cfg, klass, MONO_RGCTX_INFO_NULLABLE_CLASS_UNBOX);
                MonoInst *unbox_call;
                MonoMethodSignature *unbox_sig;
-               MonoInst *var;
-
-               var = mono_compile_create_var (cfg, &klass->byval_arg, OP_LOCAL);
 
                unbox_sig = mono_mempool_alloc0 (cfg->mempool, MONO_SIZEOF_METHOD_SIGNATURE + (1 * sizeof (MonoType *)));
                unbox_sig->ret = &klass->byval_arg;
@@ -4105,7 +4100,7 @@ handle_box (MonoCompile *cfg, MonoInst *val, MonoClass *klass, int context_used,
        if (mini_is_gsharedvt_klass (cfg, klass)) {
                MonoBasicBlock *is_ref_bb, *is_nullable_bb, *end_bb;
                MonoInst *res, *is_ref, *src_var, *addr;
-               int addr_reg, dreg;
+               int dreg;
 
                dreg = alloc_ireg (cfg);
 
@@ -4133,7 +4128,6 @@ handle_box (MonoCompile *cfg, MonoInst *val, MonoClass *klass, int context_used,
                
                /* Ref case */
                MONO_START_BB (cfg, is_ref_bb);
-               addr_reg = alloc_ireg (cfg);
 
                /* val is a vtype, so has to load the value manually */
                src_var = get_vreg_to_inst (cfg, val->dreg);
@@ -4725,7 +4719,7 @@ handle_enum_has_flag (MonoCompile *cfg, MonoClass *klass, MonoInst *enum_this, M
 {
        MonoType *enum_type = mono_type_get_underlying_type (&klass->byval_arg);
        guint32 load_opc = mono_type_to_load_membase (cfg, enum_type);
-       gboolean is_i4 = TRUE;
+       gboolean is_i4;
 
        switch (enum_type->type) {
        case MONO_TYPE_I8:
@@ -4736,6 +4730,9 @@ handle_enum_has_flag (MonoCompile *cfg, MonoClass *klass, MonoInst *enum_this, M
 #endif
                is_i4 = FALSE;
                break;
+       default:
+               is_i4 = TRUE;
+               break;
        }
 
        {
@@ -5657,7 +5654,6 @@ mini_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign
                if (strcmp (cmethod->name, "get_Chars") == 0 && fsig->param_count == 2) {
                        int dreg = alloc_ireg (cfg);
                        int index_reg = alloc_preg (cfg);
-                       int mult_reg = alloc_preg (cfg);
                        int add_reg = alloc_preg (cfg);
 
 #if SIZEOF_REGISTER == 8
@@ -5671,11 +5667,10 @@ mini_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign
 #if defined(TARGET_X86) || defined(TARGET_AMD64)
                        EMIT_NEW_X86_LEA (cfg, ins, args [0]->dreg, index_reg, 1, MONO_STRUCT_OFFSET (MonoString, chars));
                        add_reg = ins->dreg;
-                       /* Avoid a warning */
-                       mult_reg = 0;
                        EMIT_NEW_LOAD_MEMBASE (cfg, ins, OP_LOADU2_MEMBASE, dreg, 
                                                                   add_reg, 0);
 #else
+                       int mult_reg = alloc_preg (cfg);
                        MONO_EMIT_NEW_BIALU_IMM (cfg, OP_SHL_IMM, mult_reg, index_reg, 1);
                        MONO_EMIT_NEW_BIALU (cfg, OP_PADD, add_reg, mult_reg, args [0]->dreg);
                        EMIT_NEW_LOAD_MEMBASE (cfg, ins, OP_LOADU2_MEMBASE, dreg, 
@@ -7459,13 +7454,11 @@ is_jit_optimizer_disabled (MonoMethod *m)
                for (i = 0; i < attrs->num_attrs; ++i) {
                        MonoCustomAttrEntry *attr = &attrs->attrs [i];
                        const gchar *p;
-                       int len;
                        MonoMethodSignature *sig;
 
                        if (!attr->ctor || attr->ctor->klass != klass)
                                continue;
                        /* Decode the attribute. See reflection.c */
-                       len = attr->data_size;
                        p = (const char*)attr->data;
                        g_assert (read16 (p) == 0x0001);
                        p += 2;
@@ -12655,7 +12648,7 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                break;
                        case CEE_ENDFILTER: {
                                MonoExceptionClause *clause, *nearest;
-                               int cc, nearest_num;
+                               int cc;
 
                                CHECK_STACK (1);
                                --sp;
@@ -12668,15 +12661,12 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                ip += 2;
 
                                nearest = NULL;
-                               nearest_num = 0;
                                for (cc = 0; cc < header->num_clauses; ++cc) {
                                        clause = &header->clauses [cc];
                                        if ((clause->flags & MONO_EXCEPTION_CLAUSE_FILTER) &&
                                                ((ip - header->code) > clause->data.filter_offset && (ip - header->code) <= clause->handler_offset) &&
-                                           (!nearest || (clause->data.filter_offset < nearest->data.filter_offset))) {
+                                           (!nearest || (clause->data.filter_offset < nearest->data.filter_offset)))
                                                nearest = clause;
-                                               nearest_num = cc;
-                                       }
                                }
                                g_assert (nearest);
                                if ((ip - header->code) != nearest->handler_offset)
index 69769b53be4fe4ab0939671900fcb45b837c21b1..16b42af52dc54459879cd33bbae5303dd0cb2fc3 100755 (executable)
@@ -1649,13 +1649,10 @@ mono_arch_fill_argument_info (MonoCompile *cfg)
 {
        MonoType *sig_ret;
        MonoMethodSignature *sig;
-       MonoMethodHeader *header;
        MonoInst *ins;
        int i;
        CallInfo *cinfo;
 
-       header = cfg->header;
-
        sig = mono_method_signature (cfg->method);
 
        cinfo = cfg->arch.cinfo;
@@ -1693,15 +1690,9 @@ mono_arch_fill_argument_info (MonoCompile *cfg)
 
        for (i = 0; i < sig->param_count + sig->hasthis; ++i) {
                ArgInfo *ainfo = &cinfo->args [i];
-               MonoType *arg_type;
 
                ins = cfg->args [i];
 
-               if (sig->hasthis && (i == 0))
-                       arg_type = &mono_defaults.object_class->byval_arg;
-               else
-                       arg_type = sig->params [i - sig->hasthis];
-
                switch (ainfo->storage) {
                case ArgInIReg:
                case ArgInFloatSSEReg:
@@ -1729,15 +1720,12 @@ mono_arch_allocate_vars (MonoCompile *cfg)
 {
        MonoType *sig_ret;
        MonoMethodSignature *sig;
-       MonoMethodHeader *header;
        MonoInst *ins;
        int i, offset;
        guint32 locals_stack_size, locals_stack_align;
        gint32 *offsets;
        CallInfo *cinfo;
 
-       header = cfg->header;
-
        sig = mono_method_signature (cfg->method);
 
        cinfo = cfg->arch.cinfo;
@@ -1885,12 +1873,6 @@ mono_arch_allocate_vars (MonoCompile *cfg)
                if (ins->opcode != OP_REGVAR) {
                        ArgInfo *ainfo = &cinfo->args [i];
                        gboolean inreg = TRUE;
-                       MonoType *arg_type;
-
-                       if (sig->hasthis && (i == 0))
-                               arg_type = &mono_defaults.object_class->byval_arg;
-                       else
-                               arg_type = sig->params [i - sig->hasthis];
 
                        if (cfg->globalra) {
                                /* The new allocator needs info about the original locations of the arguments */
@@ -2141,6 +2123,7 @@ emit_sig_cookie (MonoCompile *cfg, MonoCallInst *call, CallInfo *cinfo)
        MONO_EMIT_NEW_STORE_MEMBASE (cfg, OP_STORE_MEMBASE_REG, AMD64_RSP, cinfo->sig_cookie.offset, sig_reg);
 }
 
+#ifdef ENABLE_LLVM
 static inline LLVMArgStorage
 arg_storage_to_llvm_arg_storage (MonoCompile *cfg, ArgStorage storage)
 {
@@ -2155,7 +2138,6 @@ arg_storage_to_llvm_arg_storage (MonoCompile *cfg, ArgStorage storage)
        }
 }
 
-#ifdef ENABLE_LLVM
 LLVMCallInfo*
 mono_arch_get_llvm_call_info (MonoCompile *cfg, MonoMethodSignature *sig)
 {
@@ -2256,12 +2238,10 @@ mono_arch_emit_call (MonoCompile *cfg, MonoCallInst *call)
        MonoInst *arg, *in;
        MonoMethodSignature *sig;
        MonoType *sig_ret;
-       int i, n, stack_size;
+       int i, n;
        CallInfo *cinfo;
        ArgInfo *ainfo;
 
-       stack_size = 0;
-
        sig = call->signature;
        n = sig->param_count + sig->hasthis;
 
@@ -3781,8 +3761,6 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
        MonoCallInst *call;
        guint offset;
        guint8 *code = cfg->native_code + cfg->code_len;
-       MonoInst *last_ins = NULL;
-       guint last_offset = 0;
        int max_len;
 
        /* Fix max_offset estimate for each successor bb */
@@ -6597,9 +6575,6 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                        g_assert_not_reached ();
 #endif
                }
-              
-               last_ins = ins;
-               last_offset = offset;
        }
 
        cfg->code_len = code - cfg->native_code;
@@ -7024,8 +6999,6 @@ mono_arch_emit_prolog (MonoCompile *cfg)
        /* Keep this in sync with emit_load_volatile_arguments */
        for (i = 0; i < sig->param_count + sig->hasthis; ++i) {
                ArgInfo *ainfo = cinfo->args + i;
-               gint32 stack_offset;
-               MonoType *arg_type;
 
                ins = cfg->args [i];
 
@@ -7033,13 +7006,6 @@ mono_arch_emit_prolog (MonoCompile *cfg)
                        /* Unused arguments */
                        continue;
 
-               if (sig->hasthis && (i == 0))
-                       arg_type = &mono_defaults.object_class->byval_arg;
-               else
-                       arg_type = sig->params [i - sig->hasthis];
-
-               stack_offset = ainfo->offset + ARGS_OFFSET;
-
                if (cfg->globalra) {
                        /* All the other moves are done by the register allocator */
                        switch (ainfo->storage) {
@@ -7271,7 +7237,7 @@ void
 mono_arch_emit_epilog (MonoCompile *cfg)
 {
        MonoMethod *method = cfg->method;
-       int quad, pos, i;
+       int quad, i;
        guint8 *code;
        int max_epilog_size;
        CallInfo *cinfo;
@@ -7299,7 +7265,6 @@ mono_arch_emit_epilog (MonoCompile *cfg)
                code = mono_arch_instrument_epilog (cfg, mono_trace_leave_method, code, TRUE);
 
        /* the code restoring the registers must be kept in sync with OP_TAILCALL */
-       pos = 0;
        
        if (method->save_lmf) {
                /* check if we need to restore protection of the stack after a stack overflow */
@@ -7606,7 +7571,6 @@ void*
 mono_arch_instrument_prolog (MonoCompile *cfg, void *func, void *p, gboolean enable_arguments)
 {
        guchar *code = p;
-       CallInfo *cinfo = NULL;
        MonoMethodSignature *sig;
        MonoInst *inst;
        int i, n, stack_area = 0;
@@ -7617,8 +7581,6 @@ mono_arch_instrument_prolog (MonoCompile *cfg, void *func, void *p, gboolean ena
                /* Allocate a new area on the stack and save arguments there */
                sig = mono_method_signature (cfg->method);
 
-               cinfo = get_call_info (cfg->generic_sharing_context, cfg->mempool, sig);
-
                n = sig->param_count + sig->hasthis;
 
                stack_area = ALIGN_TO (n * 8, 16);
index 92a22729dfa44dc0a75e8e150f19e8ce64ab78c5..39b0314ea9a8c75130d3d7219a4d60487d19222a 100644 (file)
@@ -779,10 +779,8 @@ spill_vreg (MonoCompile *cfg, MonoBasicBlock *bb, MonoInst **last, MonoInst *ins
 {
        MonoInst *load;
        int i, sel, spill;
-       int *symbolic;
        MonoRegState *rs = cfg->rs;
 
-       symbolic = rs->symbolic [bank];
        sel = rs->vassign [reg];
 
        /* the vreg we need to spill lives in another logical reg bank */
@@ -827,11 +825,8 @@ get_register_spilling (MonoCompile *cfg, MonoBasicBlock *bb, MonoInst **last, Mo
        MonoInst *load;
        int i, sel, spill, num_sregs;
        int sregs [MONO_MAX_SRC_REGS];
-       int *symbolic;
        MonoRegState *rs = cfg->rs;
 
-       symbolic = rs->symbolic [bank];
-
        g_assert (bank < MONO_NUM_REGBANKS);
 
        DEBUG (printf ("\tstart regmask to assign R%d: 0x%08llu (R%d <- R%d R%d R%d)\n", reg, (unsigned long long)regmask, ins->dreg, ins->sreg1, ins->sreg2, ins->sreg3));
@@ -1302,44 +1297,6 @@ mono_local_regalloc (MonoCompile *cfg, MonoBasicBlock *bb)
                        ins->dreg = -1;
                }
 
-               if (spec [MONO_INST_CLOB] == 'c' && MONO_IS_CALL (ins)) {
-                       /* A call instruction implicitly uses all registers in call->out_ireg_args */
-
-                       MonoCallInst *call = (MonoCallInst*)ins;
-                       GSList *list;
-
-                       list = call->out_ireg_args;
-                       if (list) {
-                               while (list) {
-                                       guint32 regpair;
-                                       int reg, hreg;
-
-                                       regpair = (guint32)(gssize)(list->data);
-                                       hreg = regpair >> 24;
-                                       reg = regpair & 0xffffff;
-
-                                       //reginfo [reg].prev_use = reginfo [reg].last_use;
-                                       //reginfo [reg].last_use = i;
-
-                                       list = g_slist_next (list);
-                               }
-                       }
-
-                       list = call->out_freg_args;
-                       if (list) {
-                               while (list) {
-                                       guint32 regpair;
-                                       int reg, hreg;
-
-                                       regpair = (guint32)(gssize)(list->data);
-                                       hreg = regpair >> 24;
-                                       reg = regpair & 0xffffff;
-
-                                       list = g_slist_next (list);
-                               }
-                       }
-               }
-
                ++i;
        }
 
@@ -1347,7 +1304,7 @@ mono_local_regalloc (MonoCompile *cfg, MonoBasicBlock *bb)
 
        DEBUG (print_regtrack (reginfo, rs->next_vreg));
        MONO_BB_FOR_EACH_INS_REVERSE_SAFE (bb, prev, ins) {
-               int prev_dreg, clob_dreg;
+               int prev_dreg;
                int dest_dreg, clob_reg;
                int dest_sregs [MONO_MAX_SRC_REGS], prev_sregs [MONO_MAX_SRC_REGS];
                int dreg_high, sreg1_high;
@@ -1360,7 +1317,6 @@ mono_local_regalloc (MonoCompile *cfg, MonoBasicBlock *bb)
                spec_src1 = spec [MONO_INST_SRC1];
                spec_dest = spec [MONO_INST_DEST];
                prev_dreg = -1;
-               clob_dreg = -1;
                clob_reg = -1;
                dest_dreg = -1;
                dreg_high = -1;
@@ -1518,7 +1474,6 @@ mono_local_regalloc (MonoCompile *cfg, MonoBasicBlock *bb)
 
                                        prev_dreg = ins->dreg;
                                        assign_reg (cfg, rs, ins->dreg, new_dest, 0);
-                                       clob_dreg = ins->dreg;
                                        create_copy_ins (cfg, bb, tmp, dest_sreg, new_dest, ins, ip, 0);
                                        mono_regstate_free_int (rs, dest_sreg);
                                        need_spill = FALSE;
index 9ce593e765cb9e687cb77fe1667784633b450f77..ec8699bc4fbfcbbb26df74ad50996c340a16d57b 100644 (file)
@@ -1244,13 +1244,12 @@ wrap_non_exception_throws (MonoMethod *m)
                for (i = 0; i < attrs->num_attrs; ++i) {
                        MonoCustomAttrEntry *attr = &attrs->attrs [i];
                        const gchar *p;
-                       int len, num_named, named_type, data_type, name_len;
+                       int num_named, named_type, name_len;
                        char *name;
 
                        if (!attr->ctor || attr->ctor->klass != klass)
                                continue;
                        /* Decode the RuntimeCompatibilityAttribute. See reflection.c */
-                       len = attr->data_size;
                        p = (const char*)attr->data;
                        g_assert (read16 (p) == 0x0001);
                        p += 2;
@@ -1260,7 +1259,7 @@ wrap_non_exception_throws (MonoMethod *m)
                        p += 2;
                        named_type = *p;
                        p ++;
-                       data_type = *p;
+                       /* data_type = *p; */
                        p ++;
                        /* Property */
                        if (named_type != 0x54)
index aa4fe8d067d741d35366d5dc164b848dd6ec4c4a..8fb0b937c1d84f0cdfd8bfccea1b947690e36f24 100644 (file)
@@ -2163,7 +2163,7 @@ is_async_method (MonoMethod *method)
        /* Do less expensive checks first */
        sig = mono_method_signature (method);
        if (attr_class && sig && ((sig->ret->type == MONO_TYPE_VOID) ||
-                               (sig->ret->type == MONO_TYPE_CLASS && (sig->ret->data.generic_class->container_class->name, "Task")) ||
+                               (sig->ret->type == MONO_TYPE_CLASS && !strcmp (sig->ret->data.generic_class->container_class->name, "Task")) ||
                                (sig->ret->type == MONO_TYPE_GENERICINST && !strcmp (sig->ret->data.generic_class->container_class->name, "Task`1")))) {
                //printf ("X: %s\n", mono_method_full_name (method, TRUE));
                cattr = mono_custom_attrs_from_method (method);
index 59e2b5d6383d840cd7c28e27a36f037db14e1a22..8495f441c4e998576d71c5d21ed1c16c3386a652 100755 (executable)
@@ -609,14 +609,6 @@ mono_icall_get_wrapper (MonoJitICallInfo* callinfo)
        return mono_icall_get_wrapper_full (callinfo, FALSE);
 }
 
-static void
-mono_dynamic_code_hash_insert (MonoDomain *domain, MonoMethod *method, MonoJitDynamicMethodInfo *ji)
-{
-       if (!domain_jit_info (domain)->dynamic_code_hash)
-               domain_jit_info (domain)->dynamic_code_hash = g_hash_table_new (NULL, NULL);
-       g_hash_table_insert (domain_jit_info (domain)->dynamic_code_hash, method, ji);
-}
-
 static MonoJitDynamicMethodInfo*
 mono_dynamic_code_hash_lookup (MonoDomain *domain, MonoMethod *method)
 {
@@ -654,20 +646,6 @@ register_icall (gpointer func, const char *name, const char *sigstr, gboolean sa
        mono_register_jit_icall_full (func, name, sig, save, FALSE, save ? name : NULL);
 }
 
-/* Register a jit icall which doesn't throw exceptions through mono_raise_exception () */
-static void
-register_icall_noraise (gpointer func, const char *name, const char *sigstr)
-{
-       MonoMethodSignature *sig;
-
-       if (sigstr)
-               sig = mono_create_icall_signature (sigstr);
-       else
-               sig = NULL;
-
-       mono_register_jit_icall_full (func, name, sig, TRUE, TRUE, name);
-}
-
 static void
 register_dyn_icall (gpointer func, const char *name, const char *sigstr, gboolean save)
 {
@@ -1674,21 +1652,6 @@ is_gsharedvt_type (MonoType *t)
        return (t->type == MONO_TYPE_VAR || t->type == MONO_TYPE_MVAR) && t->data.generic_param->gshared_constraint == MONO_TYPE_VALUETYPE;
 }
 
-static gboolean
-is_open_method (MonoMethod *method)
-{
-       MonoGenericContext *context;
-
-       if (!method->is_inflated)
-               return FALSE;
-       context = mono_method_get_context (method);
-       if (context->class_inst && context->class_inst->is_open)
-               return TRUE;
-       if (context->method_inst && context->method_inst->is_open)
-               return TRUE;
-       return FALSE;
-}
-
 void
 mini_init_gsctx (MonoDomain *domain, MonoMemPool *mp, MonoGenericContext *context, MonoGenericSharingContext *gsctx)
 {
index d55ec0eff26677e1b928a909e03c323a85351a6b..9aae38133c4f8219b5f9083ebbec6e2b9617591e 100755 (executable)
@@ -1859,52 +1859,6 @@ mini_register_opcode_emulation (int opcode, const char *name, const char *sigstr
        emul_opcode_hit_cache [opcode >> (EMUL_HIT_SHIFT + 3)] |= (1 << (opcode & EMUL_HIT_MASK));
 }
 
-/*
- * For JIT icalls implemented in C.
- * NAME should be the same as the name of the C function whose address is FUNC.
- * If SAVE is TRUE, no wrapper is generated. This is for perf critical icalls which
- * can't throw exceptions.
- */
-static void
-register_icall (gpointer func, const char *name, const char *sigstr, gboolean save)
-{
-       MonoMethodSignature *sig;
-
-       if (sigstr)
-               sig = mono_create_icall_signature (sigstr);
-       else
-               sig = NULL;
-
-       mono_register_jit_icall_full (func, name, sig, save, FALSE, save ? name : NULL);
-}
-
-/* Register a jit icall which doesn't throw exceptions through mono_raise_exception () */
-static void
-register_icall_noraise (gpointer func, const char *name, const char *sigstr)
-{
-       MonoMethodSignature *sig;
-
-       if (sigstr)
-               sig = mono_create_icall_signature (sigstr);
-       else
-               sig = NULL;
-
-       mono_register_jit_icall_full (func, name, sig, TRUE, TRUE, name);
-}
-
-static void
-register_dyn_icall (gpointer func, const char *name, const char *sigstr, gboolean save)
-{
-       MonoMethodSignature *sig;
-
-       if (sigstr)
-               sig = mono_create_icall_signature (sigstr);
-       else
-               sig = NULL;
-
-       mono_register_jit_icall (func, name, sig, save);
-}
-
 static void
 print_dfn (MonoCompile *cfg) {
        int i, j;
@@ -2175,15 +2129,6 @@ mono_get_lmf_addr_intrinsic (MonoCompile* cfg)
 #endif /* !DISABLE_JIT */
 
 
-static gboolean
-mini_tls_key_supported (MonoTlsKey key)
-{
-       if (!MONO_ARCH_HAVE_TLS_GET)
-               return FALSE;
-
-       return mini_get_tls_offset (key) != -1;
-}
-
 void
 mono_add_patch_info (MonoCompile *cfg, int ip, MonoJumpInfoType type, gconstpointer target)
 {
@@ -3084,12 +3029,8 @@ mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, JitFl
        MonoMethodHeader *header;
        MonoMethodSignature *sig;
        MonoError err;
-       guint8 *ip;
        MonoCompile *cfg;
        int dfn, i, code_size_ratio;
-#ifndef DISABLE_SSA
-       gboolean deadce_has_run = FALSE;
-#endif
        gboolean try_generic_shared, try_llvm = FALSE;
        MonoMethod *method_to_compile, *method_to_register;
        gboolean method_is_gshared = FALSE;
@@ -3362,8 +3303,6 @@ mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, JitFl
                }
        }
 
-       ip = (guint8 *)header->code;
-
        cfg->intvars = mono_mempool_alloc0 (cfg->mempool, sizeof (guint16) * STACK_MAX * header->max_stack);
 
        if (cfg->verbose_level > 0) {
@@ -3663,10 +3602,8 @@ mini_method_compile (MonoMethod *method, guint32 opts, MonoDomain *domain, JitFl
                        //mono_local_cprop (cfg);
                }
 
-               if (cfg->opt & MONO_OPT_DEADCE) {
+               if (cfg->opt & MONO_OPT_DEADCE)
                        mono_ssa_deadce (cfg);
-                       deadce_has_run = TRUE;
-               }
 
                if ((cfg->flags & (MONO_CFG_HAS_LDELEMA|MONO_CFG_HAS_CHECK_THIS)) && (cfg->opt & MONO_OPT_ABCREM))
                        mono_perform_abc_removal (cfg);
index d9c2ee07edcd2df8b59b91f278189bd258f3d3ae..b31628f18db352987c67901fd23a9e033665af88 100755 (executable)
@@ -1129,7 +1129,7 @@ mono_arch_create_monitor_exit_trampoline (MonoTrampInfo **info, gboolean aot)
 {
        guint8 *tramp;
        guint8 *code, *buf;
-       guint8 *jump_obj_null, *jump_have_waiters, *jump_sync_null, *jump_not_owned, *jump_cmpxchg_failed, *jump_sync_thin_hash = NULL;
+       guint8 *jump_obj_null, *jump_have_waiters, *jump_sync_null, *jump_not_owned, *jump_cmpxchg_failed;
        guint8 *jump_next;
        int tramp_size;
        int status_offset, nest_offset;
@@ -1168,7 +1168,6 @@ mono_arch_create_monitor_exit_trampoline (MonoTrampInfo **info, gboolean aot)
                        /*if bit zero is set it's a thin hash*/
                        /*FIXME use testb encoding*/
                        amd64_test_reg_imm (code, sync_reg, 0x01);
-                       jump_sync_thin_hash = code;
                        amd64_branch8 (code, X86_CC_NE, -1, 1);
 
                        /*clear bits used by the gc*/
index d6710939787bbe54af92a3848322942a9b98f137..2aa24d40eb9bc0dd8707282925cecf7f5ed2a2f6 100644 (file)
@@ -682,14 +682,13 @@ mono_cache_unwind_info (guint8 *unwind_info, guint32 unwind_info_len)
        i = cached_info_next;
        
        if (cached_info_next >= cached_info_size) {
-               MonoUnwindInfo **old_table, **new_table;
+               MonoUnwindInfo **new_table;
 
                /*
                 * Avoid freeing the old table so mono_get_cached_unwind_info ()
                 * doesn't need locks/hazard pointers.
                 */
 
-               old_table = cached_info;
                new_table = g_new0 (MonoUnwindInfo*, cached_info_size * 2);
 
                memcpy (new_table, cached_info, cached_info_size * sizeof (MonoUnwindInfo*));
@@ -915,7 +914,7 @@ guint8*
 mono_unwind_decode_fde (guint8 *fde, guint32 *out_len, guint32 *code_len, MonoJitExceptionInfo **ex_info, guint32 *ex_info_len, gpointer **type_info, int *this_reg, int *this_offset)
 {
        guint8 *p, *cie, *fde_current, *fde_aug = NULL, *code, *fde_cfi, *cie_cfi;
-       gint32 fde_len, cie_offset, pc_begin, pc_range, aug_len, fde_data_len;
+       gint32 fde_len, cie_offset, pc_begin, pc_range, aug_len;
        gint32 cie_len, cie_id, cie_version, code_align, data_align, return_reg;
        gint32 i, cie_aug_len, buf_len;
        char *cie_aug_str;
@@ -1010,7 +1009,6 @@ mono_unwind_decode_fde (guint8 *fde, guint32 *out_len, guint32 *code_len, MonoJi
                aug_len = 0;
        }
        fde_cfi = p;
-       fde_data_len = fde + 4 + fde_len - p;
 
        if (code_len)
                *code_len = pc_range;
index cb3e70aa21994511c20ec7de9c66d8e2ea4b6bb9..face15eff94e38103bcf99d8e40495daf36bbd4e 100644 (file)
@@ -496,12 +496,10 @@ static void
 emit_time (LogBuffer *logbuffer, uint64_t value)
 {
        uint64_t tdiff = value - logbuffer->last_time;
-       unsigned char *p;
        if (value < logbuffer->last_time)
                printf ("time went backwards\n");
        //if (tdiff > 1000000)
        //      printf ("large time offset: %llu\n", tdiff);
-       p = logbuffer->data;
        encode_uleb128 (tdiff, logbuffer->data, &logbuffer->data);
        /*if (tdiff != decode_uleb128 (p, &p))
                printf ("incorrect encoding: %llu\n", tdiff);*/
@@ -2741,7 +2739,6 @@ create_profiler (const char *filename)
                int fd = strtol (nf + 1, NULL, 10);
                prof->file = fdopen (fd, "a");
        } else {
-               FILE *f;
                if (force_delete)
                        unlink (nf);
                prof->file = fopen (nf, "wb");
index 4718efb9000f478cd4bd35477c763c40b2e8d0fa..7c83a8441a1f4c2996814887cd1f2470b2dfc239 100644 (file)
@@ -980,10 +980,7 @@ mono_test_marshal_delegate5 (SimpleDelegate5 delegate)
 LIBTEST_API int STDCALL 
 mono_test_marshal_delegate6 (SimpleDelegate5 delegate)
 {
-       int res;
-
-       res = delegate (NULL);
-
+       delegate (NULL);
        return 0;
 }
 
index ed09d593b6ba19db889d7863654272b182737e14..bdafa56291eb3a9bab4d764c83e0c29066ee1e52 100644 (file)
@@ -261,7 +261,7 @@ parallel_writer_parallel_reader (void)
        return res;
 }
 
-static void
+static void G_GNUC_UNUSED
 benchmark_conc (void)
 {
        mono_mutex_t mutex;
@@ -284,7 +284,7 @@ benchmark_conc (void)
 
 }
 
-static void
+static void G_GNUC_UNUSED
 benchmark_glib (void)
 {
        GHashTable *h;
@@ -321,4 +321,4 @@ main (void)
        res += parallel_writer_parallel_reader ();
 
        return res;
-}
\ No newline at end of file
+}
index 06106605e21b953c2b8af52a8d4011c1e8bdbb43..799506684adf8a2c7a44def47e2e8fe33bcd7051 100644 (file)
@@ -743,7 +743,11 @@ mono_pages_not_faulted (void *addr, size_t size)
        int npages = (size + pagesize - 1) / pagesize;
        char *faulted = g_malloc0 (sizeof (char*) * npages);
 
-       if (mincore (addr, size, faulted) != 0) {
+       /*
+        * We cast `faulted` to void* because Linux wants an unsigned
+        * char* while BSD wants a char*.
+        */
+       if (mincore (addr, size, (void*)faulted) != 0) {
                count = -1;
        } else {
                count = 0;