projects
/
mono.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[reflection] MonoError for mono_reflection_call_is_assignable_to
[mono.git]
/
mono
/
metadata
/
method-builder.c
diff --git
a/mono/metadata/method-builder.c
b/mono/metadata/method-builder.c
index 234598d496250d8026180410ecc8664aef17af11..3b04c246494af2d77121e5cbbb55fbade2bb2d3b 100644
(file)
--- a/
mono/metadata/method-builder.c
+++ b/
mono/metadata/method-builder.c
@@
-67,7
+67,8
@@
mono_mb_new_base (MonoClass *klass, MonoWrapperType type)
#ifndef DISABLE_JIT
mb->code_size = 40;
#ifndef DISABLE_JIT
mb->code_size = 40;
- mb->code = g_malloc (mb->code_size);
+ mb->code = (unsigned char *)g_malloc (mb->code_size);
+ mb->init_locals = TRUE;
#endif
/* placeholder for the wrapper always at index 1 */
mono_mb_add_data (mb, NULL);
#endif
/* placeholder for the wrapper always at index 1 */
mono_mb_add_data (mb, NULL);
@@
-155,7
+156,7
@@
mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in
{
/* Realloc the method info into a mempool */
{
/* Realloc the method info into a mempool */
- method = mono_image_alloc0 (image, sizeof (MonoMethodWrapper));
+ method =
(MonoMethod *)
mono_image_alloc0 (image, sizeof (MonoMethodWrapper));
memcpy (method, mb->method, sizeof (MonoMethodWrapper));
mw = (MonoMethodWrapper*) method;
memcpy (method, mb->method, sizeof (MonoMethodWrapper));
mw = (MonoMethodWrapper*) method;
@@
-168,7
+169,7
@@
mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in
mw->header = header = (MonoMethodHeader *)
mono_image_alloc0 (image, MONO_SIZEOF_METHOD_HEADER + mb->locals * sizeof (MonoType *));
mw->header = header = (MonoMethodHeader *)
mono_image_alloc0 (image, MONO_SIZEOF_METHOD_HEADER + mb->locals * sizeof (MonoType *));
- header->code = mono_image_alloc (image, mb->pos);
+ header->code =
(const unsigned char *)
mono_image_alloc (image, mb->pos);
memcpy ((char*)header->code, mb->code, mb->pos);
for (i = 0, l = mb->locals_list; l; l = l->next, i++) {
memcpy ((char*)header->code, mb->code, mb->pos);
for (i = 0, l = mb->locals_list; l; l = l->next, i++) {
@@
-189,7
+190,7
@@
mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in
header->code_size = mb->pos;
header->num_locals = mb->locals;
header->code_size = mb->pos;
header->num_locals = mb->locals;
- header->init_locals =
TRUE
;
+ header->init_locals =
mb->init_locals
;
header->num_clauses = mb->num_clauses;
header->clauses = mb->clauses;
header->num_clauses = mb->num_clauses;
header->clauses = mb->clauses;
@@
-197,15
+198,15
@@
mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in
method->skip_visibility = mb->skip_visibility;
#endif
method->skip_visibility = mb->skip_visibility;
#endif
- i = g_list_length (mw->method_data);
+ i = g_list_length (
(GList *)
mw->method_data);
if (i) {
GList *tmp;
void **data;
if (i) {
GList *tmp;
void **data;
- l = g_list_reverse (mw->method_data);
+ l = g_list_reverse (
(GList *)
mw->method_data);
if (method_is_dynamic (method))
if (method_is_dynamic (method))
- data = g_malloc (sizeof (gpointer) * (i + 1));
+ data =
(void **)
g_malloc (sizeof (gpointer) * (i + 1));
else
else
- data = mono_image_alloc (image, sizeof (gpointer) * (i + 1));
+ data =
(void **)
mono_image_alloc (image, sizeof (gpointer) * (i + 1));
/* store the size in the first element */
data [0] = GUINT_TO_POINTER (i);
i = 1;
/* store the size in the first element */
data [0] = GUINT_TO_POINTER (i);
i = 1;
@@
-232,7
+233,7
@@
mono_mb_create_method (MonoMethodBuilder *mb, MonoMethodSignature *signature, in
#endif
if (mb->param_names) {
#endif
if (mb->param_names) {
- char **param_names = mono_image_alloc0 (image, signature->param_count * sizeof (gpointer));
+ char **param_names =
(char **)
mono_image_alloc0 (image, signature->param_count * sizeof (gpointer));
for (i = 0; i < signature->param_count; ++i)
param_names [i] = mono_image_strdup (image, mb->param_names [i]);
for (i = 0; i < signature->param_count; ++i)
param_names [i] = mono_image_strdup (image, mb->param_names [i]);
@@
-257,9
+258,9
@@
mono_mb_add_data (MonoMethodBuilder *mb, gpointer data)
mw = (MonoMethodWrapper *)mb->method;
/* one O(n) is enough */
mw = (MonoMethodWrapper *)mb->method;
/* one O(n) is enough */
- mw->method_data = g_list_prepend (mw->method_data, data);
+ mw->method_data = g_list_prepend (
(GList *)
mw->method_data, data);
- return g_list_length (mw->method_data);
+ return g_list_length (
(GList *)
mw->method_data);
}
#ifndef DISABLE_JIT
}
#ifndef DISABLE_JIT
@@
-299,7
+300,7
@@
mono_mb_emit_byte (MonoMethodBuilder *mb, guint8 op)
{
if (mb->pos >= mb->code_size) {
mb->code_size += mb->code_size >> 1;
{
if (mb->pos >= mb->code_size) {
mb->code_size += mb->code_size >> 1;
- mb->code = g_realloc (mb->code, mb->code_size);
+ mb->code =
(unsigned char *)
g_realloc (mb->code, mb->code_size);
}
mb->code [mb->pos++] = op;
}
mb->code [mb->pos++] = op;
@@
-322,7
+323,7
@@
mono_mb_emit_i4 (MonoMethodBuilder *mb, gint32 data)
{
if ((mb->pos + 4) >= mb->code_size) {
mb->code_size += mb->code_size >> 1;
{
if ((mb->pos + 4) >= mb->code_size) {
mb->code_size += mb->code_size >> 1;
- mb->code = g_realloc (mb->code, mb->code_size);
+ mb->code =
(unsigned char *)
g_realloc (mb->code, mb->code_size);
}
mono_mb_patch_addr (mb, mb->pos, data);
}
mono_mb_patch_addr (mb, mb->pos, data);
@@
-334,7
+335,7
@@
mono_mb_emit_i8 (MonoMethodBuilder *mb, gint64 data)
{
if ((mb->pos + 8) >= mb->code_size) {
mb->code_size += mb->code_size >> 1;
{
if ((mb->pos + 8) >= mb->code_size) {
mb->code_size += mb->code_size >> 1;
- mb->code = g_realloc (mb->code, mb->code_size);
+ mb->code =
(unsigned char *)
g_realloc (mb->code, mb->code_size);
}
mono_mb_patch_addr (mb, mb->pos, data);
}
mono_mb_patch_addr (mb, mb->pos, data);
@@
-347,7
+348,7
@@
mono_mb_emit_i2 (MonoMethodBuilder *mb, gint16 data)
{
if ((mb->pos + 2) >= mb->code_size) {
mb->code_size += mb->code_size >> 1;
{
if ((mb->pos + 2) >= mb->code_size) {
mb->code_size += mb->code_size >> 1;
- mb->code = g_realloc (mb->code, mb->code_size);
+ mb->code =
(unsigned char *)
g_realloc (mb->code, mb->code_size);
}
mb->code [mb->pos] = data & 0xff;
}
mb->code [mb->pos] = data & 0xff;
@@
-550,7
+551,7
@@
mono_mb_emit_exception_full (MonoMethodBuilder *mb, const char *exc_nspace, cons
{
MonoMethod *ctor = NULL;
{
MonoMethod *ctor = NULL;
- MonoClass *mme = mono_class_from_name (mono_defaults.corlib, exc_nspace, exc_name);
+ MonoClass *mme = mono_class_
load_
from_name (mono_defaults.corlib, exc_nspace, exc_name);
mono_class_init (mme);
ctor = mono_class_get_method_from_name (mme, ".ctor", 0);
g_assert (ctor);
mono_class_init (mme);
ctor = mono_class_get_method_from_name (mme, ".ctor", 0);
g_assert (ctor);