-/*
- * trace.c: Tracing facilities for the Mono Runtime.
+/**
+ * \file
+ * Tracing facilities for the Mono Runtime.
*
* Author:
* Paolo Molaro (lupus@ximian.com)
*
* (C) 2002 Ximian, Inc.
* Copyright 2011 Xamarin, Inc (http://www.xamarin.com)
+ * Licensed under the MIT license. See LICENSE file in the project root for full license information.
*/
#include <config.h>
#include <mono/utils/mono-memory-model.h>
#include "trace.h"
-#if defined (PLATFORM_ANDROID) || (defined (TARGET_IOS) && defined (TARGET_IOS))
+#if defined (HOST_ANDROID) || (defined (TARGET_IOS) && defined (TARGET_IOS))
# undef printf
# define printf(...) g_log("mono", G_LOG_LEVEL_MESSAGE, __VA_ARGS__)
# undef fprintf
switch (op->op){
case MONO_TRACEOP_ALL:
- inc = 1; break;
+ inc = 1;
+ break;
case MONO_TRACEOP_PROGRAM:
if (trace_spec.assembly && (method->klass->image == mono_assembly_get_image (trace_spec.assembly)))
- inc = 1; break;
+ inc = 1;
+ break;
case MONO_TRACEOP_WRAPPER:
if ((method->wrapper_type == MONO_WRAPPER_NATIVE_TO_MANAGED) ||
(method->wrapper_type == MONO_WRAPPER_MANAGED_TO_NATIVE))
- inc = 1; break;
+ inc = 1;
+ break;
case MONO_TRACEOP_METHOD:
if (mono_method_desc_full_match ((MonoMethodDesc *) op->data, method))
- inc = 1; break;
+ inc = 1;
+ break;
case MONO_TRACEOP_CLASS:
if (strcmp (method->klass->name_space, op->data) == 0)
if (strcmp (method->klass->name, op->data2) == 0)
break;
case MONO_TRACEOP_ASSEMBLY:
if (strcmp (mono_image_get_name (method->klass->image), op->data) == 0)
- inc = 1; break;
+ inc = 1;
+ break;
case MONO_TRACEOP_NAMESPACE:
if (strcmp (method->klass->name_space, op->data) == 0)
inc = 1;
+ break;
case MONO_TRACEOP_EXCEPTION:
break;
}
- if (op->exclude){
+ if (op->exclude) {
if (inc)
include = 0;
- } else if (inc)
+ } else if (inc) {
include = 1;
+ }
}
return include;
}
}
if (value != NULL)
g_free (value);
- value = g_malloc (input - start + 1);
- strncpy (value, start, input-start);
- value [input-start] = 0;
+ size_t len = input - start;
+ value = (char *)g_malloc (len + 1);
+ memcpy (value, start, len);
+ value [len] = 0;
}
enum Token {
sig = mono_method_signature (method);
- arg_info = alloca (sizeof (MonoJitArgumentInfo) * (sig->param_count + 1));
+ arg_info = (MonoJitArgumentInfo *)alloca (sizeof (MonoJitArgumentInfo) * (sig->param_count + 1));
if (method->is_inflated) {
/* FIXME: Might be better to pass the ji itself */
- MonoJitInfo *ji = mini_jit_info_table_find (mono_domain_get (), RETURN_ADDRESS (), NULL);
+ MonoJitInfo *ji = mini_jit_info_table_find (mono_domain_get (), (char *)RETURN_ADDRESS (), NULL);
if (ji) {
gsctx = mono_jit_info_get_generic_sharing_context (ji);
if (gsctx && gsctx->is_gsharedvt) {
}
if (mono_method_signature (method)->hasthis) {
- gpointer *this = (gpointer *)(ebp + arg_info [0].offset);
+ gpointer *this_obj = (gpointer *)(ebp + arg_info [0].offset);
if (method->klass->valuetype) {
- printf ("value:%p, ", *arg_in_stack_slot(this, gpointer *));
+ printf ("value:%p, ", *arg_in_stack_slot(this_obj, gpointer *));
} else {
- o = *arg_in_stack_slot(this, MonoObject *);
+ o = *arg_in_stack_slot(this_obj, MonoObject *);
if (o) {
klass = o->vtable->klass;
g_free (as);
} else if (klass == mono_defaults.int32_class) {
printf ("[INT32:%p:%d], ", o, *(gint32 *)((char *)o + sizeof (MonoObject)));
- } else if (klass == mono_defaults.monotype_class) {
+ } else if (klass == mono_defaults.runtimetype_class) {
printf ("[TYPE:%s], ", mono_type_full_name (((MonoReflectionType*)o)->type));
} else
printf ("[%s.%s:%p], ", klass->name_space, klass->name, o);
if (method->is_inflated) {
/* FIXME: Might be better to pass the ji itself */
- MonoJitInfo *ji = mini_jit_info_table_find (mono_domain_get (), RETURN_ADDRESS (), NULL);
+ MonoJitInfo *ji = mini_jit_info_table_find (mono_domain_get (), (char *)RETURN_ADDRESS (), NULL);
if (ji) {
gsctx = mono_jit_info_get_generic_sharing_context (ji);
if (gsctx && gsctx->is_gsharedvt) {
break;
}
case MONO_TYPE_VALUETYPE: {
- guint8 *p = va_arg (ap, gpointer);
+ guint8 *p = (guint8 *)va_arg (ap, gpointer);
int j, size, align;
size = mono_type_size (type, &align);
printf ("[");