Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/runtime.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFan Yang <52458914+fanyang-mono@users.noreply.github.com>2022-06-22 01:07:11 +0300
committerGitHub <noreply@github.com>2022-06-22 01:07:11 +0300
commit18d7e3926db5ff7238f2d93364d39ac300c00ee4 (patch)
treead19545abf2bc5c77b25659544a1a9dc34dcfa4f /src
parent8558cdc3e26a0e28c386168be519f818678aadef (diff)
[Mono] Fix C4018 warnings round II (#70783)
* Fix C4018 warnings round II * Changes for x86 * Fix more C4018 warnings * Last set of files being fixed within this PR * Address review feedback and fix a build failure * Update upd_locator_t to be in sync with locator_t
Diffstat (limited to 'src')
-rw-r--r--src/mono/mono/component/hot_reload.c93
-rw-r--r--src/mono/mono/eglib/glib.h10
-rw-r--r--src/mono/mono/metadata/assembly-load-context.c2
-rw-r--r--src/mono/mono/metadata/assembly.c3
-rw-r--r--src/mono/mono/metadata/class.c5
-rw-r--r--src/mono/mono/metadata/custom-attrs.c21
-rw-r--r--src/mono/mono/metadata/debug-helpers.c15
-rw-r--r--src/mono/mono/metadata/debug-mono-ppdb.c22
-rw-r--r--src/mono/mono/metadata/dynamic-image.c3
-rw-r--r--src/mono/mono/metadata/dynamic-stream.c4
-rw-r--r--src/mono/mono/metadata/exception.c5
-rw-r--r--src/mono/mono/metadata/image-internals.h4
-rw-r--r--src/mono/mono/metadata/image.c16
-rw-r--r--src/mono/mono/metadata/loader.c9
-rw-r--r--src/mono/mono/metadata/marshal.c33
-rw-r--r--src/mono/mono/metadata/memory-manager.c10
-rw-r--r--src/mono/mono/metadata/mono-basic-block.c9
-rw-r--r--src/mono/mono/metadata/mono-hash.c17
-rw-r--r--src/mono/mono/metadata/object-internals.h2
-rw-r--r--src/mono/mono/metadata/object.c17
-rw-r--r--src/mono/mono/metadata/reflection.c41
-rw-r--r--src/mono/mono/metadata/sre-encode.c3
-rw-r--r--src/mono/mono/metadata/threads.c18
-rw-r--r--src/mono/mono/mini/abcremoval.c5
-rw-r--r--src/mono/mono/mini/alias-analysis.c9
-rw-r--r--src/mono/mono/mini/branch-opts.c3
-rw-r--r--src/mono/mono/mini/driver.c25
-rw-r--r--src/mono/mono/mini/exceptions-amd64.c4
-rw-r--r--src/mono/mono/mini/graph.c4
-rw-r--r--src/mono/mono/mini/helpers.c2
-rw-r--r--src/mono/mono/mini/ir-emit.h2
-rw-r--r--src/mono/mono/mini/linear-scan.c4
-rw-r--r--src/mono/mono/mini/lldb.c10
-rw-r--r--src/mono/mono/mini/mini-amd64-gsharedvt.c9
-rw-r--r--src/mono/mono/mini/mini-profiler.c2
-rw-r--r--src/mono/mono/mini/mini-runtime.c14
-rw-r--r--src/mono/mono/mini/mini.c2
-rw-r--r--src/mono/mono/mini/mini.h6
-rw-r--r--src/mono/mono/mini/monovm.c2
-rw-r--r--src/mono/mono/mini/seq-points.c8
-rw-r--r--src/mono/mono/mini/unwind.c2
-rw-r--r--src/mono/mono/profiler/aot.c11
-rw-r--r--src/mono/mono/utils/lock-free-alloc.c12
-rw-r--r--src/mono/mono/utils/mono-flight-recorder.c6
-rw-r--r--src/mono/mono/utils/mono-poll.c6
-rw-r--r--src/mono/mono/utils/monobitset.h6
-rw-r--r--src/native/public/mono/metadata/details/image-functions.h4
47 files changed, 239 insertions, 281 deletions
diff --git a/src/mono/mono/component/hot_reload.c b/src/mono/mono/component/hot_reload.c
index aafca1e85d0..bfa9f78c526 100644
--- a/src/mono/mono/component/hot_reload.c
+++ b/src/mono/mono/component/hot_reload.c
@@ -933,8 +933,6 @@ scope_to_string (uint32_t tok)
static void
dump_update_summary (MonoImage *image_base, MonoImage *image_dmeta)
{
- int rows;
-
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE, "dmeta tables:");
for (int idx = 0; idx < MONO_TABLE_NUM; ++idx) {
if (image_dmeta->tables [idx].base)
@@ -942,8 +940,8 @@ dump_update_summary (MonoImage *image_base, MonoImage *image_dmeta)
}
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE, "================================");
- rows = mono_image_get_table_rows (image_base, MONO_TABLE_TYPEREF);
- for (int i = 1; i <= rows; ++i) {
+ guint32 rows = table_info_get_rows (&image_base->tables [MONO_TABLE_TYPEREF]);
+ for (guint32 i = 1; i <= rows; ++i) {
guint32 cols [MONO_TYPEREF_SIZE];
mono_metadata_decode_row (&image_base->tables [MONO_TABLE_TYPEREF], i - 1, cols, MONO_TYPEREF_SIZE);
const char *scope = scope_to_string (cols [MONO_TYPEREF_SCOPE]);
@@ -960,8 +958,8 @@ dump_update_summary (MonoImage *image_base, MonoImage *image_dmeta)
if (!image_dmeta->minimal_delta) {
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE, "--------------------------------");
- rows = mono_image_get_table_rows (image_dmeta, MONO_TABLE_TYPEREF);
- for (int i = 1; i <= rows; ++i) {
+ rows = table_info_get_rows (&image_dmeta->tables [MONO_TABLE_TYPEREF]);
+ for (guint32 i = 1; i <= rows; ++i) {
guint32 cols [MONO_TYPEREF_SIZE];
mono_metadata_decode_row (&image_dmeta->tables [MONO_TABLE_TYPEREF], i - 1, cols, MONO_TYPEREF_SIZE);
const char *scope = scope_to_string (cols [MONO_TYPEREF_SCOPE]);
@@ -972,8 +970,8 @@ dump_update_summary (MonoImage *image_base, MonoImage *image_dmeta)
}
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE, "================================");
- rows = mono_image_get_table_rows (image_dmeta, MONO_TABLE_TYPEDEF);
- for (int i = 1; i <= rows; ++i) {
+ rows = table_info_get_rows (&image_dmeta->tables [MONO_TABLE_TYPEDEF]);
+ for (guint32 i = 1; i <= rows; ++i) {
guint32 cols [MONO_TYPEDEF_SIZE];
mono_metadata_decode_row (&image_dmeta->tables [MONO_TABLE_TYPEDEF], i - 1, cols, MONO_TYPEDEF_SIZE);
const char *name = mono_metadata_string_heap (image_base, cols [MONO_TYPEDEF_NAME]);
@@ -983,8 +981,8 @@ dump_update_summary (MonoImage *image_base, MonoImage *image_dmeta)
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE, "================================");
- rows = mono_image_get_table_rows (image_base, MONO_TABLE_METHOD);
- for (int i = 1; i <= rows ; ++i) {
+ rows = table_info_get_rows (&image_base->tables [MONO_TABLE_METHOD]);
+ for (guint32 i = 1; i <= rows ; ++i) {
guint32 cols [MONO_METHOD_SIZE];
mono_metadata_decode_row_raw (&image_base->tables [MONO_TABLE_METHOD], i - 1, cols, MONO_METHOD_SIZE);
const char *name = mono_metadata_string_heap (image_base, cols [MONO_METHOD_NAME]);
@@ -993,8 +991,8 @@ dump_update_summary (MonoImage *image_base, MonoImage *image_dmeta)
}
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE, "--------------------------------");
- rows = mono_image_get_table_rows (image_dmeta, MONO_TABLE_METHOD);
- for (int i = 1; i <= rows ; ++i) {
+ rows = table_info_get_rows (&image_dmeta->tables [MONO_TABLE_METHOD]);
+ for (guint32 i = 1; i <= rows ; ++i) {
guint32 cols [MONO_METHOD_SIZE];
mono_metadata_decode_row_raw (&image_dmeta->tables [MONO_TABLE_METHOD], i - 1, cols, MONO_METHOD_SIZE);
const char *name = mono_metadata_string_heap (image_base, cols [MONO_METHOD_NAME]);
@@ -1003,8 +1001,8 @@ dump_update_summary (MonoImage *image_base, MonoImage *image_dmeta)
}
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE, "================================");
- rows = mono_image_get_table_rows (image_base, MONO_TABLE_STANDALONESIG);
- for (int i = 1; i <= rows; ++i) {
+ rows = table_info_get_rows (&image_base->tables [MONO_TABLE_STANDALONESIG]);
+ for (guint32 i = 1; i <= rows; ++i) {
guint32 cols [MONO_STAND_ALONE_SIGNATURE_SIZE];
mono_metadata_decode_row (&image_base->tables [MONO_TABLE_STANDALONESIG], i - 1, cols, MONO_STAND_ALONE_SIGNATURE_SIZE);
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE, "base standalonesig i=%d (token=0x%08x) -> 0x%08x", i, MONO_TOKEN_SIGNATURE | i, cols [MONO_STAND_ALONE_SIGNATURE]);
@@ -1013,8 +1011,8 @@ dump_update_summary (MonoImage *image_base, MonoImage *image_dmeta)
if (!image_dmeta->minimal_delta) {
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE, "--------------------------------");
- rows = mono_image_get_table_rows (image_dmeta, MONO_TABLE_STANDALONESIG);
- for (int i = 1; i <= rows; ++i) {
+ rows = table_info_get_rows (&image_dmeta->tables [MONO_TABLE_STANDALONESIG]);
+ for (guint32 i = 1; i <= rows; ++i) {
guint32 cols [MONO_STAND_ALONE_SIGNATURE_SIZE];
mono_metadata_decode_row_raw (&image_dmeta->tables [MONO_TABLE_STANDALONESIG], i - 1, cols, MONO_STAND_ALONE_SIGNATURE_SIZE);
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE, "dmeta standalonesig i=%d (token=0x%08x) -> 0x%08x", i, MONO_TOKEN_SIGNATURE | i, cols [MONO_STAND_ALONE_SIGNATURE]);
@@ -1101,11 +1099,11 @@ hot_reload_relative_delta_index (MonoImage *image_dmeta, DeltaInfo *delta_info,
{
MonoTableInfo *encmap = &image_dmeta->tables [MONO_TABLE_ENCMAP];
- int table = mono_metadata_token_table (token);
- int index = mono_metadata_token_index (token);
+ guint32 table = mono_metadata_token_table (token);
+ guint32 index = mono_metadata_token_index (token);
- int index_map = delta_info->enc_recs [table];
- int encmap_rows = table_info_get_rows (encmap);
+ guint32 index_map = delta_info->enc_recs [table];
+ guint32 encmap_rows = table_info_get_rows (encmap);
if (!table_info_get_rows (encmap) || !image_dmeta->minimal_delta)
return mono_metadata_token_index (token);
@@ -1118,7 +1116,7 @@ hot_reload_relative_delta_index (MonoImage *image_dmeta, DeltaInfo *delta_info,
guint32 cols[MONO_ENCMAP_SIZE];
mono_metadata_decode_row (encmap, index_map - 1, cols, MONO_ENCMAP_SIZE);
- int map_entry = cols [MONO_ENCMAP_TOKEN];
+ guint32 map_entry = cols [MONO_ENCMAP_TOKEN];
/* we're looking at the beginning of a sequence of encmap rows that are all the
* modifications+additions for the table we are looking for (or we're looking at an entry
@@ -1134,7 +1132,7 @@ hot_reload_relative_delta_index (MonoImage *image_dmeta, DeltaInfo *delta_info,
if (mono_metadata_token_index (map_entry) == index) {
/* token resolves to this generation */
int return_val = index_map - delta_info->enc_recs [table] + 1;
- g_assert (return_val > 0 && return_val <= table_info_get_rows (&image_dmeta->tables[table]));
+ g_assert (return_val > 0 && GINT_TO_UINT32(return_val) <= table_info_get_rows (&image_dmeta->tables[table]));
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE, "relative index for token 0x%08x -> table 0x%02x row 0x%08x", token, table, return_val);
return return_val;
} else {
@@ -1192,7 +1190,8 @@ delta_info_compute_table_records (MonoImage *image_dmeta, MonoImage *image_base,
{
MonoTableInfo *encmap = &image_dmeta->tables [MONO_TABLE_ENCMAP];
- int table, prev_table = -1, idx;
+ int table, prev_table = -1;
+ guint32 idx;
/*** Compute logical table sizes ***/
if (base_info->delta_info == base_info->delta_info_last) {
@@ -1212,7 +1211,7 @@ delta_info_compute_table_records (MonoImage *image_dmeta, MonoImage *image_base,
/* TODO: while going through the tables, update delta_info->count[tbl].{modified,inserted}_rows */
- int encmap_rows = table_info_get_rows (encmap);
+ guint32 encmap_rows = table_info_get_rows (encmap);
for (idx = 1; idx <= encmap_rows; ++idx) {
guint32 cols[MONO_ENCMAP_SIZE];
mono_metadata_decode_row (encmap, idx - 1, cols, MONO_ENCMAP_SIZE);
@@ -1285,7 +1284,7 @@ static void
delta_info_mutate_row (MonoImage *image_dmeta, DeltaInfo *cur_delta, guint32 log_token)
{
int token_table = mono_metadata_token_table (log_token);
- int token_index = mono_metadata_token_index (log_token); /* 1-based */
+ guint32 token_index = mono_metadata_token_index (log_token); /* 1-based */
gboolean modified = token_index <= cur_delta->count [token_table].prev_gen_rows;
@@ -1304,7 +1303,7 @@ delta_info_mutate_row (MonoImage *image_dmeta, DeltaInfo *cur_delta, guint32 log
char *dst_base = (char*)cur_delta->mutants [token_table].base + (token_index - 1) * cur_delta->mutants [token_table].row_size;
guint32 src_offset = 0, dst_offset = 0;
- for (int col = 0; col < mono_metadata_table_count (dst_bitfield); ++col) {
+ for (guint col = 0; col < mono_metadata_table_count (dst_bitfield); ++col) {
guint32 dst_col_size = mono_metadata_table_size (dst_bitfield, col);
guint32 src_col_size = mono_metadata_table_size (src_bitfield, col);
if ((m_SuppressedDeltaColumns [token_table] & (1 << col)) == 0) {
@@ -1355,9 +1354,9 @@ delta_info_mutate_row (MonoImage *image_dmeta, DeltaInfo *cur_delta, guint32 log
static void
prepare_mutated_rows (const MonoTableInfo *table_enclog, MonoImage *image_base, MonoImage *image_dmeta, DeltaInfo *delta_info)
{
- int rows = table_info_get_rows (table_enclog);
+ guint32 rows = table_info_get_rows (table_enclog);
/* Prepare the mutated metadata tables */
- for (int i = 0; i < rows ; ++i) {
+ for (guint32 i = 0; i < rows ; ++i) {
guint32 cols [MONO_ENCLOG_SIZE];
mono_metadata_decode_row (table_enclog, i, cols, MONO_ENCLOG_SIZE);
@@ -1378,14 +1377,14 @@ static gboolean
apply_enclog_pass1 (MonoImage *image_base, MonoImage *image_dmeta, DeltaInfo *delta_info, gconstpointer dil_data, uint32_t dil_length, MonoError *error)
{
MonoTableInfo *table_enclog = &image_dmeta->tables [MONO_TABLE_ENCLOG];
- int rows = table_info_get_rows (table_enclog);
+ guint32 rows = table_info_get_rows (table_enclog);
gboolean unsupported_edits = FALSE;
/* hack: make a pass over it, looking only for table method updates, in
* order to give more meaningful error messages first */
- for (int i = 0; i < rows ; ++i) {
+ for (guint32 i = 0; i < rows ; ++i) {
guint32 cols [MONO_ENCLOG_SIZE];
mono_metadata_decode_row (table_enclog, i, cols, MONO_ENCLOG_SIZE);
@@ -1398,7 +1397,7 @@ apply_enclog_pass1 (MonoImage *image_base, MonoImage *image_dmeta, DeltaInfo *de
int func_code = cols [MONO_ENCLOG_FUNC_CODE];
int token_table = mono_metadata_token_table (log_token);
- int token_index = mono_metadata_token_index (log_token);
+ guint32 token_index = mono_metadata_token_index (log_token);
gboolean is_addition = token_index-1 >= delta_info->count[token_table].prev_gen_rows ;
@@ -1416,7 +1415,7 @@ apply_enclog_pass1 (MonoImage *image_base, MonoImage *image_dmeta, DeltaInfo *de
g_assert (func_code == 0); /* anything else doesn't make sense here */
}
- for (int i = 0; i < rows ; ++i) {
+ for (guint32 i = 0; i < rows ; ++i) {
guint32 cols [MONO_ENCLOG_SIZE];
mono_metadata_decode_row (table_enclog, i, cols, MONO_ENCLOG_SIZE);
@@ -1424,7 +1423,7 @@ apply_enclog_pass1 (MonoImage *image_base, MonoImage *image_dmeta, DeltaInfo *de
int func_code = cols [MONO_ENCLOG_FUNC_CODE];
int token_table = mono_metadata_token_table (log_token);
- int token_index = mono_metadata_token_index (log_token);
+ guint32 token_index = mono_metadata_token_index (log_token);
gboolean is_addition = token_index-1 >= delta_info->count[token_table].prev_gen_rows ;
@@ -1566,7 +1565,7 @@ apply_enclog_pass1 (MonoImage *image_base, MonoImage *image_dmeta, DeltaInfo *de
g_assert (next_cols [MONO_ENCLOG_FUNC_CODE] == ENC_FUNC_DEFAULT);
int next_token = next_cols [MONO_ENCLOG_TOKEN];
int next_table = mono_metadata_token_table (next_token);
- int next_index = mono_metadata_token_index (next_token);
+ guint32 next_index = mono_metadata_token_index (next_token);
g_assert (next_table == MONO_TABLE_METHOD);
/* expecting an added method */
g_assert (next_index-1 >= delta_info->count[next_table].prev_gen_rows);
@@ -1582,7 +1581,7 @@ apply_enclog_pass1 (MonoImage *image_base, MonoImage *image_dmeta, DeltaInfo *de
g_assert (next_cols [MONO_ENCLOG_FUNC_CODE] == ENC_FUNC_DEFAULT);
int next_token = next_cols [MONO_ENCLOG_TOKEN];
int next_table = mono_metadata_token_table (next_token);
- int next_index = mono_metadata_token_index (next_token);
+ guint32 next_index = mono_metadata_token_index (next_token);
g_assert (next_table == MONO_TABLE_FIELD);
/* expecting an added field */
g_assert (next_index-1 >= delta_info->count[next_table].prev_gen_rows);
@@ -1643,14 +1642,14 @@ hot_reload_get_method_debug_information (MonoPPDBFile *ppdb_file, int idx)
MonoImage *image_dppdb = ppdb_file->image;
MonoTableInfo *table_encmap = &image_dppdb->tables [MONO_TABLE_ENCMAP];
- int rows = table_info_get_rows (table_encmap);
- for (int i = 0; i < rows ; ++i) {
+ guint32 rows = table_info_get_rows (table_encmap);
+ for (guint32 i = 0; i < rows ; ++i) {
guint32 cols [MONO_ENCMAP_SIZE];
mono_metadata_decode_row (table_encmap, i, cols, MONO_ENCMAP_SIZE);
int map_token = cols [MONO_ENCMAP_TOKEN];
int token_table = mono_metadata_token_table (map_token);
if (token_table == MONO_TABLE_METHODBODY) {
- int token_index = mono_metadata_token_index (map_token);
+ guint32 token_index = mono_metadata_token_index (map_token);
if (token_index == idx) {
MonoDebugInformationEnc *encDebugInfo = g_new0 (MonoDebugInformationEnc, 1);
encDebugInfo->idx = i + 1;
@@ -1972,7 +1971,7 @@ static gboolean
apply_enclog_pass2 (Pass2Context *ctx, MonoImage *image_base, BaselineInfo *base_info, uint32_t generation, MonoImage *image_dmeta, DeltaInfo *delta_info, gconstpointer dil_data, uint32_t dil_length, MonoError *error)
{
MonoTableInfo *table_enclog = &image_dmeta->tables [MONO_TABLE_ENCLOG];
- int rows = table_info_get_rows (table_enclog);
+ guint32 rows = table_info_get_rows (table_enclog);
/* NOTE: Suppressed colums
*
@@ -2004,7 +2003,7 @@ apply_enclog_pass2 (Pass2Context *ctx, MonoImage *image_base, BaselineInfo *base
uint32_t add_event_eventmap = 0;
gboolean assemblyref_updated = FALSE;
- for (int i = 0; i < rows ; ++i) {
+ for (guint32 i = 0; i < rows ; ++i) {
guint32 cols [MONO_ENCLOG_SIZE];
mono_metadata_decode_row (table_enclog, i, cols, MONO_ENCLOG_SIZE);
@@ -2012,7 +2011,7 @@ apply_enclog_pass2 (Pass2Context *ctx, MonoImage *image_base, BaselineInfo *base
int func_code = cols [MONO_ENCLOG_FUNC_CODE];
int token_table = mono_metadata_token_table (log_token);
- int token_index = mono_metadata_token_index (log_token);
+ guint32 token_index = mono_metadata_token_index (log_token);
gboolean is_addition = token_index-1 >= delta_info->count[token_table].prev_gen_rows ;
@@ -2073,7 +2072,7 @@ apply_enclog_pass2 (Pass2Context *ctx, MonoImage *image_base, BaselineInfo *base
MonoImage *delta_child = ((DeltaInfo*)l->data)->delta_image;
old_rows += table_info_get_rows (&delta_child->tables [MONO_TABLE_ASSEMBLYREF]);
}
- int new_rows = table_info_get_rows (&image_dmeta->tables [MONO_TABLE_ASSEMBLYREF]);
+ guint32 new_rows = table_info_get_rows (&image_dmeta->tables [MONO_TABLE_ASSEMBLYREF]);
old_rows -= new_rows;
g_assert (new_rows > 0);
@@ -2131,7 +2130,7 @@ apply_enclog_pass2 (Pass2Context *ctx, MonoImage *image_base, BaselineInfo *base
delta_info->method_ppdb_table_update = g_hash_table_new (g_direct_hash, g_direct_equal);
int mapped_token = hot_reload_relative_delta_index (image_dmeta, delta_info, mono_metadata_make_token (token_table, token_index));
- int rva = mono_metadata_decode_row_col (&image_dmeta->tables [MONO_TABLE_METHOD], mapped_token - 1, MONO_METHOD_RVA);
+ guint32 rva = mono_metadata_decode_row_col (&image_dmeta->tables [MONO_TABLE_METHOD], mapped_token - 1, MONO_METHOD_RVA);
if (rva < dil_length) {
char *il_address = ((char *) dil_data) + rva;
MonoDebugInformationEnc *method_debug_information = hot_reload_get_method_debug_information (delta_info->ppdb_file, token_index);
@@ -2636,7 +2635,7 @@ hot_reload_table_bounds_check (MonoImage *base_image, int table_index, int token
table = &delta_info->mutants [table_index];
ridx = token_index - 1;
- } while (ridx < 0 || ridx >= table_info_get_rows (table));
+ } while (ridx < 0 || GINT_TO_UINT32(ridx) >= table_info_get_rows (table));
return FALSE;
}
@@ -2703,7 +2702,7 @@ hot_reload_table_num_rows_slow (MonoImage *base, int table_index)
uint32_t current_gen = hot_reload_get_thread_generation ();
- int rows = table_info_get_rows (&base->tables [table_index]);
+ guint32 rows = table_info_get_rows (&base->tables [table_index]);
GList *cur;
for (cur = base_info->delta_info; cur; cur = cur->next) {
DeltaInfo *delta_info = (DeltaInfo*)cur->data;
@@ -2805,8 +2804,8 @@ hot_reload_field_parent (MonoImage *base_image, uint32_t field_token)
/* HACK - keep in sync with locator_t in metadata/metadata.c */
typedef struct {
- int idx; /* The index that we are trying to locate */
- int col_idx; /* The index in the row where idx may be stored */
+ guint32 idx; /* The index that we are trying to locate */
+ guint32 col_idx; /* The index in the row where idx may be stored */
MonoTableInfo *t; /* pointer to the table */
guint32 result;
} upd_locator_t;
diff --git a/src/mono/mono/eglib/glib.h b/src/mono/mono/eglib/glib.h
index 86c57baf6fa..0276020f17f 100644
--- a/src/mono/mono/eglib/glib.h
+++ b/src/mono/mono/eglib/glib.h
@@ -1406,6 +1406,8 @@ __CAST_PTRTYPE_TO_UTYPE(gintptr, gulong, ULONG_MAX)
__CAST_PTRTYPE_TO_STYPE(gintptr, gint, INT_MIN, INT_MAX)
__CAST_PTRTYPE_TO_UTYPE(gintptr, guint, UINT_MAX)
+__CAST_PTRTYPE_TO_UTYPE(gintptr, gsize, SIZE_MAX)
+
__CAST_PTRTYPE_TO_STYPE(guintptr, gint32, INT32_MIN, INT32_MAX)
__CAST_PTRTYPE_TO_UTYPE(guintptr, guint32, UINT32_MAX)
__CAST_PTRTYPE_TO_STYPE(guintptr, gint16, INT16_MIN, INT16_MAX)
@@ -1443,6 +1445,9 @@ __CAST_STYPE_TO_UTYPE(gssize, guint, UINT_MAX)
__CAST_STYPE_TO_UTYPE(gssize, gsize, SIZE_MAX)
__CAST_UTYPE_TO_STYPE(gsize, gssize, PTRDIFF_MIN, PTRDIFF_MAX)
+__CAST_STYPE_TO_UTYPE(glong, gulong, ULONG_MAX)
+__CAST_UTYPE_TO_STYPE(gulong, glong, LONG_MIN, LONG_MAX)
+
__CAST_STYPE_TO_STYPE(gdouble, gint64, INT64_MIN, INT64_MAX)
__CAST_STYPE_TO_UTYPE(gdouble, guint64, UINT64_MAX)
__CAST_STYPE_TO_STYPE(gdouble, gint32, INT32_MIN, INT32_MAX)
@@ -1588,6 +1593,8 @@ __CAST_UTYPE_TO_STYPE(gunichar, gchar, CHAR_MIN, CHAR_MAX)
#define GINTPTR_TO_INT(v) G_CAST_PTRTYPE_TO_STYPE(gintptr, gint, v)
#define GINTPTR_TO_UINT(v) G_CAST_PTRTYPE_TO_UTYPE(gintptr, guint, v)
+#define GINTPTR_TO_SIZE(v) G_CAST_PTRTYPE_TO_UTYPE(gintptr, gsize, v)
+
#define GUINTPTR_TO_INT32(v) G_CAST_PTRTYPE_TO_STYPE(guintptr, gint32, v)
#define GUINTPTR_TO_UINT32(v) G_CAST_PTRTYPE_TO_UTYPE(guintptr, guint32, v)
@@ -1624,6 +1631,9 @@ __CAST_UTYPE_TO_STYPE(gunichar, gchar, CHAR_MIN, CHAR_MAX)
#define GSSIZE_TO_SIZE(v) G_CAST_TYPE_TO_TYPE(gssize, gsize, v)
#define GSIZE_TO_SSIZE(v) G_CAST_TYPE_TO_TYPE(gsize, gssize, v)
+#define GLONG_TO_ULONG(v) G_CAST_TYPE_TO_TYPE(glong, gulong, v)
+#define GULONG_TO_LONG(v) G_CAST_TYPE_TO_TYPE(gulong, glong, v)
+
#define GDOUBLE_TO_INT64(v) G_CAST_TYPE_TO_TYPE(gdouble, gint64, v)
#define GDOUBLE_TO_UINT64(v) G_CAST_TYPE_TO_TYPE(gdouble, guint64, v)
#define GDOUBLE_TO_INT32(v) G_CAST_TYPE_TO_TYPE(gdouble, gint32, v)
diff --git a/src/mono/mono/metadata/assembly-load-context.c b/src/mono/mono/metadata/assembly-load-context.c
index f3ce63deb43..c46fd469601 100644
--- a/src/mono/mono/metadata/assembly-load-context.c
+++ b/src/mono/mono/metadata/assembly-load-context.c
@@ -300,7 +300,7 @@ ves_icall_System_Runtime_Loader_AssemblyLoadContext_InternalGetLoadedAssemblies
MonoArrayHandle res = mono_array_new_handle (mono_class_get_assembly_class (), assemblies->len, error);
goto_if_nok (error, leave);
- for (int i = 0; i < assemblies->len; ++i) {
+ for (guint i = 0; i < assemblies->len; ++i) {
if (!add_assembly_to_array (res, i, (MonoAssembly *)g_ptr_array_index (assemblies, i), error))
goto leave;
}
diff --git a/src/mono/mono/metadata/assembly.c b/src/mono/mono/metadata/assembly.c
index 56d206467bf..289c1939853 100644
--- a/src/mono/mono/metadata/assembly.c
+++ b/src/mono/mono/metadata/assembly.c
@@ -2915,9 +2915,8 @@ mono_assembly_release_gc_roots (MonoAssembly *assembly)
return;
if (assembly_is_dynamic (assembly)) {
- int i;
MonoDynamicImage *dynimg = (MonoDynamicImage *)assembly->image;
- for (i = 0; i < dynimg->image.module_count; ++i)
+ for (guint32 i = 0; i < dynimg->image.module_count; ++i)
mono_dynamic_image_release_gc_roots ((MonoDynamicImage *)dynimg->image.modules [i]);
mono_dynamic_image_release_gc_roots (dynimg);
}
diff --git a/src/mono/mono/metadata/class.c b/src/mono/mono/metadata/class.c
index c7f0960fef0..39473a63590 100644
--- a/src/mono/mono/metadata/class.c
+++ b/src/mono/mono/metadata/class.c
@@ -3233,7 +3233,6 @@ search_modules (MonoImage *image, const char *name_space, const char *name, gboo
MonoTableInfo *file_table = &image->tables [MONO_TABLE_FILE];
MonoImage *file_image;
MonoClass *klass;
- int i;
error_init (error);
@@ -3243,8 +3242,8 @@ search_modules (MonoImage *image, const char *name_space, const char *name, gboo
* Note: image->modules contains the contents of the MODULEREF table, while
* the real module list is in the FILE table.
*/
- int rows = table_info_get_rows (file_table);
- for (i = 0; i < rows; i++) {
+ guint32 rows = table_info_get_rows (file_table);
+ for (guint32 i = 0; i < rows; i++) {
guint32 cols [MONO_FILE_SIZE];
mono_metadata_decode_row (file_table, i, cols, MONO_FILE_SIZE);
if (cols [MONO_FILE_FLAGS] == FILE_CONTAINS_NO_METADATA)
diff --git a/src/mono/mono/metadata/custom-attrs.c b/src/mono/mono/metadata/custom-attrs.c
index ba5a7c262a5..fbcf676f3cb 100644
--- a/src/mono/mono/metadata/custom-attrs.c
+++ b/src/mono/mono/metadata/custom-attrs.c
@@ -169,10 +169,9 @@ find_field_index (MonoClass *klass, MonoClassField *field) {
static guint32
find_property_index (MonoClass *klass, MonoProperty *property)
{
- int i;
MonoClassPropertyInfo *info = mono_class_get_property_info (klass);
- for (i = 0; i < info->count; ++i) {
+ for (guint32 i = 0; i < info->count; ++i) {
if (property == &info->properties [i])
return info->first + 1 + i;
}
@@ -185,10 +184,9 @@ find_property_index (MonoClass *klass, MonoProperty *property)
static guint32
find_event_index (MonoClass *klass, MonoEvent *event)
{
- int i;
MonoClassEventInfo *info = mono_class_get_event_info (klass);
- for (i = 0; i < info->count; ++i) {
+ for (guint32 i = 0; i < info->count; ++i) {
if (event == &info->events [i])
return info->first + 1 + i;
}
@@ -1631,7 +1629,6 @@ ves_icall_System_Reflection_RuntimeCustomAttributeData_ResolveArgumentsInternal
MonoReflectionAssembly *assembly = MONO_HANDLE_RAW (assembly_h);
MonoMethodSignature *sig;
MonoObjectHandle obj_h, namedarg_h, minfo_h;
- int i;
if (len == 0)
return;
@@ -1658,7 +1655,7 @@ ves_icall_System_Reflection_RuntimeCustomAttributeData_ResolveArgumentsInternal
goto leave;
sig = mono_method_signature_internal (method);
- for (i = 0; i < sig->param_count; ++i) {
+ for (guint16 i = 0; i < sig->param_count; ++i) {
MonoObject *obj;
MonoObject *typedarg;
MonoType *t;
@@ -1674,7 +1671,7 @@ ves_icall_System_Reflection_RuntimeCustomAttributeData_ResolveArgumentsInternal
mono_array_setref_internal (typed_args, i, typedarg);
}
- for (i = 0; i < mono_array_length_internal (named_args); ++i) {
+ for (guint32 i = 0; i < mono_array_length_internal (named_args); ++i) {
MonoObject *obj;
MonoObject *namedarg, *minfo;
@@ -2761,7 +2758,7 @@ metadata_foreach_custom_attr_from_index (MonoImage *image, guint32 idx, MonoAsse
return;
i --;
gboolean stop_iterating = FALSE;
- int rows = table_info_get_rows (ca);
+ guint32 rows = table_info_get_rows (ca);
while (!stop_iterating && i < rows) {
if (mono_metadata_decode_row_col (ca, i, MONO_CUSTOM_ATTR_PARENT) != idx)
break;
@@ -2878,8 +2875,8 @@ init_weak_fields_inner (MonoImage *image, GHashTable *indexes)
tdef = &image->tables [MONO_TABLE_CUSTOMATTRIBUTE];
guint32 parent, field_idx, col, mtoken, idx;
- int rows = table_info_get_rows (tdef);
- for (int i = 0; i < rows; ++i) {
+ guint32 rows = table_info_get_rows (tdef);
+ for (guint32 i = 0; i < rows; ++i) {
parent = mono_metadata_decode_row_col (tdef, i, MONO_CUSTOM_ATTR_PARENT);
if ((parent & MONO_CUSTOM_ATTR_MASK) != MONO_CUSTOM_ATTR_FIELDDEF)
continue;
@@ -2903,8 +2900,8 @@ init_weak_fields_inner (MonoImage *image, GHashTable *indexes)
/* Check whenever the assembly references the WeakAttribute type */
gboolean found = FALSE;
tdef = &image->tables [MONO_TABLE_TYPEREF];
- int rows = table_info_get_rows (tdef);
- for (int i = 0; i < rows; ++i) {
+ guint32 rows = table_info_get_rows (tdef);
+ for (guint32 i = 0; i < rows; ++i) {
guint32 string_offset = mono_metadata_decode_row_col (tdef, i, MONO_TYPEREF_NAME);
const char *name = mono_metadata_string_heap (image, string_offset);
if (!strcmp (name, "WeakAttribute")) {
diff --git a/src/mono/mono/metadata/debug-helpers.c b/src/mono/mono/metadata/debug-helpers.c
index c8df388bb20..5db1a37e80b 100644
--- a/src/mono/mono/metadata/debug-helpers.c
+++ b/src/mono/mono/metadata/debug-helpers.c
@@ -131,8 +131,6 @@ mono_custom_modifiers_get_desc (GString *res, const MonoType *type, gboolean inc
void
mono_type_get_desc (GString *res, MonoType *type, gboolean include_namespace)
{
- int i;
-
switch (type->type) {
case MONO_TYPE_VOID:
g_string_append (res, "void"); break;
@@ -177,7 +175,7 @@ mono_type_get_desc (GString *res, MonoType *type, gboolean include_namespace)
case MONO_TYPE_ARRAY:
mono_type_get_desc (res, &type->data.array->eklass->_byval_arg, include_namespace);
g_string_append_c (res, '[');
- for (i = 1; i < type->data.array->rank; ++i)
+ for (guint8 i = 1; i < type->data.array->rank; ++i)
g_string_append_c (res, ',');
g_string_append_c (res, ']');
break;
@@ -196,7 +194,7 @@ mono_type_get_desc (GString *res, MonoType *type, gboolean include_namespace)
g_string_append (res, "<");
context = &type->data.generic_class->context;
if (context->class_inst) {
- for (i = 0; i < context->class_inst->type_argc; ++i) {
+ for (guint i = 0; i < context->class_inst->type_argc; ++i) {
if (i > 0)
g_string_append (res, ", ");
mono_type_get_desc (res, context->class_inst->type_argv [i], include_namespace);
@@ -205,7 +203,7 @@ mono_type_get_desc (GString *res, MonoType *type, gboolean include_namespace)
if (context->method_inst) {
if (context->class_inst)
g_string_append (res, "; ");
- for (i = 0; i < context->method_inst->type_argc; ++i) {
+ for (guint i = 0; i < context->method_inst->type_argc; ++i) {
if (i > 0)
g_string_append (res, ", ");
mono_type_get_desc (res, context->method_inst->type_argv [i], include_namespace);
@@ -305,9 +303,7 @@ mono_signature_full_name (MonoMethodSignature *sig)
void
mono_ginst_get_desc (GString *str, MonoGenericInst *ginst)
{
- int i;
-
- for (i = 0; i < ginst->type_argc; ++i) {
+ for (guint i = 0; i < ginst->type_argc; ++i) {
if (i > 0)
g_string_append (str, ", ");
mono_type_get_desc (str, ginst->type_argv [i], TRUE);
@@ -599,7 +595,6 @@ mono_method_desc_search_in_image (MonoMethodDesc *desc, MonoImage *image)
MonoClass *klass;
const MonoTableInfo *methods;
MonoMethod *method;
- int i;
/* Handle short names for system classes */
if (!desc->name_space && image == mono_defaults.corlib) {
@@ -618,7 +613,7 @@ mono_method_desc_search_in_image (MonoMethodDesc *desc, MonoImage *image)
/* 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) {
+ for (guint32 i = 0; i < table_info_get_rows (methods); ++i) {
ERROR_DECL (error);
guint32 token = mono_metadata_decode_row_col (methods, i, MONO_METHOD_NAME);
const char *n = mono_metadata_string_heap (image, token);
diff --git a/src/mono/mono/metadata/debug-mono-ppdb.c b/src/mono/mono/metadata/debug-mono-ppdb.c
index c6e50f95946..f63fea64c9a 100644
--- a/src/mono/mono/metadata/debug-mono-ppdb.c
+++ b/src/mono/mono/metadata/debug-mono-ppdb.c
@@ -66,7 +66,6 @@ get_pe_debug_info (MonoImage *image, guint8 *out_guid, gint32 *out_age, gint32 *
{
MonoPEDirEntry *debug_dir_entry;
ImageDebugDirectory debug_dir;
- int idx;
gboolean guid_found = FALSE;
guint8 *data;
@@ -77,7 +76,7 @@ get_pe_debug_info (MonoImage *image, guint8 *out_guid, gint32 *out_age, gint32 *
return FALSE;
int offset = mono_cli_rva_image_map (image, debug_dir_entry->rva);
- for (idx = 0; idx < debug_dir_entry->size / sizeof (ImageDebugDirectory); ++idx) {
+ for (guint32 idx = 0; idx < debug_dir_entry->size / sizeof (ImageDebugDirectory); ++idx) {
data = (guint8 *) ((ImageDebugDirectory *) (image->raw_data + offset) + idx);
debug_dir.characteristics = read32(data);
debug_dir.time_date_stamp = read32(data + 4);
@@ -362,7 +361,8 @@ mono_ppdb_lookup_location_internal (MonoImage *image, int idx, uint32_t offset,
const char *ptr;
const char *end;
char *docname = NULL;
- int size, docidx, iloffset, delta_il, delta_lines, delta_cols, start_line, start_col, adv_line, adv_col;
+ int size, docidx, delta_lines, delta_cols, start_line, start_col, adv_line, adv_col;
+ guint32 iloffset;
gboolean first = TRUE, first_non_hidden = TRUE;
MonoDebugSourceLocation *location;
@@ -386,7 +386,7 @@ mono_ppdb_lookup_location_internal (MonoImage *image, int idx, uint32_t offset,
start_line = 0;
start_col = 0;
while (ptr < end) {
- delta_il = mono_metadata_decode_value (ptr, &ptr);
+ guint32 delta_il = mono_metadata_decode_value (ptr, &ptr);
if (!first && delta_il == 0) {
/* document-record */
docidx = mono_metadata_decode_value (ptr, &ptr);
@@ -493,7 +493,7 @@ mono_ppdb_get_seq_points_internal (MonoImage *image, MonoPPDBFile *ppdb, MonoMet
return -1;
MonoTableInfo *methodbody_table = &tables [MONO_TABLE_METHODBODY];
- if (G_UNLIKELY (method_idx - 1 >= table_info_get_rows (methodbody_table))) {
+ if (G_UNLIKELY (GINT_TO_UINT32(method_idx) - 1 >= table_info_get_rows (methodbody_table))) {
char *method_name = mono_method_full_name (method, FALSE);
g_error ("Method idx %d is greater than number of rows (%d) in PPDB MethodDebugInformation table, for method %s in '%s'. Likely a malformed PDB file.",
method_idx - 1, table_info_get_rows (methodbody_table), method_name, image->name);
@@ -625,7 +625,7 @@ mono_ppdb_lookup_locals_internal (MonoImage *image, int method_idx)
guint32 cols [MONO_LOCALSCOPE_SIZE];
guint32 locals_cols [MONO_LOCALVARIABLE_SIZE];
- int i, lindex, sindex, locals_idx, locals_end_idx, nscopes, start_scope_idx, scope_idx;
+ guint32 lindex, locals_idx, locals_end_idx, nscopes, start_scope_idx, scope_idx;
start_scope_idx = mono_metadata_localscope_from_methoddef (image, method_idx);
@@ -651,7 +651,7 @@ mono_ppdb_lookup_locals_internal (MonoImage *image, int method_idx)
// this endpoint becomes locals_end_idx below
// March to the last scope that is in this method
- int rows = table_info_get_rows (&tables [MONO_TABLE_LOCALSCOPE]);
+ guint32 rows = table_info_get_rows (&tables [MONO_TABLE_LOCALSCOPE]);
while (scope_idx <= rows) {
mono_metadata_decode_row (&tables [MONO_TABLE_LOCALSCOPE], scope_idx-1, cols, MONO_LOCALSCOPE_SIZE);
if (cols [MONO_LOCALSCOPE_METHOD] != method_idx)
@@ -680,7 +680,7 @@ mono_ppdb_lookup_locals_internal (MonoImage *image, int method_idx)
res->locals = g_new0 (MonoDebugLocalVar, res->num_locals);
lindex = 0;
- for (sindex = 0; sindex < nscopes; ++sindex) {
+ for (guint32 sindex = 0; sindex < nscopes; ++sindex) {
scope_idx = start_scope_idx + sindex;
mono_metadata_decode_row (&tables [MONO_TABLE_LOCALSCOPE], scope_idx-1, cols, MONO_LOCALSCOPE_SIZE);
@@ -696,7 +696,7 @@ mono_ppdb_lookup_locals_internal (MonoImage *image, int method_idx)
//printf ("Scope: %s %d %d %d-%d\n", mono_method_full_name (method, 1), cols [MONO_LOCALSCOPE_STARTOFFSET], cols [MONO_LOCALSCOPE_LENGTH], locals_idx, locals_end_idx);
- for (i = locals_idx; i < locals_end_idx; ++i) {
+ for (guint32 i = locals_idx; i < locals_end_idx; ++i) {
mono_metadata_decode_row (&tables [MONO_TABLE_LOCALVARIABLE], i - 1, locals_cols, MONO_LOCALVARIABLE_SIZE);
res->locals [lindex].name = g_strdup (mono_metadata_string_heap (image, locals_cols [MONO_LOCALVARIABLE_NAME]));
@@ -743,8 +743,8 @@ mono_ppdb_lookup_locals (MonoDebugMethodInfo *minfo)
* We use this to pass context information to the row locator
*/
typedef struct {
- int idx; /* The index that we are trying to locate */
- int col_idx; /* The index in the row where idx may be stored */
+ guint32 idx; /* The index that we are trying to locate */
+ guint32 col_idx; /* The index in the row where idx may be stored */
MonoTableInfo *t; /* pointer to the table */
guint32 result;
} locator_t;
diff --git a/src/mono/mono/metadata/dynamic-image.c b/src/mono/mono/metadata/dynamic-image.c
index 9201b8db2e6..8ada3240455 100644
--- a/src/mono/mono/metadata/dynamic-image.c
+++ b/src/mono/mono/metadata/dynamic-image.c
@@ -104,13 +104,12 @@ MonoImage *
mono_find_dynamic_image_owner (void *ptr)
{
MonoImage *owner = NULL;
- int i;
dynamic_images_lock ();
if (dynamic_images)
{
- for (i = 0; !owner && i < dynamic_images->len; ++i) {
+ for (guint i = 0; !owner && i < dynamic_images->len; ++i) {
MonoImage *image = (MonoImage *)g_ptr_array_index (dynamic_images, i);
if (mono_mempool_contains_addr (image->mempool, ptr))
owner = image;
diff --git a/src/mono/mono/metadata/dynamic-stream.c b/src/mono/mono/metadata/dynamic-stream.c
index de53001aa32..c6333e53f39 100644
--- a/src/mono/mono/metadata/dynamic-stream.c
+++ b/src/mono/mono/metadata/dynamic-stream.c
@@ -28,7 +28,7 @@ mono_dynstream_init (MonoDynamicStream *sh)
}
static void
-make_room_in_stream (MonoDynamicStream *stream, int size)
+make_room_in_stream (MonoDynamicStream *stream, guint32 size)
{
MONO_REQ_GC_NEUTRAL_MODE;
@@ -60,7 +60,7 @@ mono_dynstream_insert_string (MonoDynamicStream *sh, const char *str)
len = strlen (str) + 1;
idx = sh->index;
- make_room_in_stream (sh, (int)(idx + len));
+ make_room_in_stream (sh, idx + GSIZE_TO_UINT32(len));
/*
* We strdup the string even if we already copy them in sh->data
diff --git a/src/mono/mono/metadata/exception.c b/src/mono/mono/metadata/exception.c
index 59da14b187c..0e3a9efaabf 100644
--- a/src/mono/mono/metadata/exception.c
+++ b/src/mono/mono/metadata/exception.c
@@ -1328,7 +1328,6 @@ mono_error_set_field_missing (MonoError *error, MonoClass *klass, const char *fi
void
mono_error_set_method_missing (MonoError *error, MonoClass *klass, const char *method_name, MonoMethodSignature *sig, const char *reason, ...)
{
- int i;
char *result;
GString *res;
@@ -1361,7 +1360,7 @@ mono_error_set_method_missing (MonoError *error, MonoClass *klass, const char *m
if (sig) {
if (sig->generic_param_count) {
g_string_append_c (res, '<');
- for (i = 0; i < sig->generic_param_count; ++i) {
+ for (guint i = 0; i < sig->generic_param_count; ++i) {
if (i > 0)
g_string_append (res, ",");
g_string_append_printf (res, "!%d", i);
@@ -1370,7 +1369,7 @@ mono_error_set_method_missing (MonoError *error, MonoClass *klass, const char *m
}
g_string_append_c (res, '(');
- for (i = 0; i < sig->param_count; ++i) {
+ for (guint16 i = 0; i < sig->param_count; ++i) {
if (i > 0)
g_string_append_c (res, ',');
mono_type_get_desc (res, sig->params [i], TRUE);
diff --git a/src/mono/mono/metadata/image-internals.h b/src/mono/mono/metadata/image-internals.h
index d9433dda2a3..a424c125987 100644
--- a/src/mono/mono/metadata/image-internals.h
+++ b/src/mono/mono/metadata/image-internals.h
@@ -24,10 +24,10 @@ MonoImage*
mono_image_loaded_internal (MonoAssemblyLoadContext *alc, const char *name);
MonoImage*
-mono_image_load_file_for_image_checked (MonoImage *image, int fileidx, MonoError *error);
+mono_image_load_file_for_image_checked (MonoImage *image, uint32_t fileidx, MonoError *error);
MonoImage*
-mono_image_load_module_checked (MonoImage *image, int idx, MonoError *error);
+mono_image_load_module_checked (MonoImage *image, uint32_t idx, MonoError *error);
MonoImage *
mono_image_open_a_lot (MonoAssemblyLoadContext *alc, const char *fname, MonoImageOpenStatus *status, const MonoImageOpenOptions *options);
diff --git a/src/mono/mono/metadata/image.c b/src/mono/mono/metadata/image.c
index 2dbcf88cc27..ff94ac58265 100644
--- a/src/mono/mono/metadata/image.c
+++ b/src/mono/mono/metadata/image.c
@@ -700,7 +700,7 @@ mono_image_check_for_module_cctor (MonoImage *image)
* it cannot be loaded. NULL without MonoError being set will be interpreted as "not found".
*/
MonoImage*
-mono_image_load_module_checked (MonoImage *image, int idx, MonoError *error)
+mono_image_load_module_checked (MonoImage *image, uint32_t idx, MonoError *error)
{
error_init (error);
@@ -928,7 +928,6 @@ mono_has_pdb_checksum (char *raw_data, uint32_t raw_data_len)
{
MonoDotNetHeader cli_header;
MonoMSDOSHeader msdos;
- int idx;
guint8 *data;
int offset = 0;
@@ -950,7 +949,7 @@ mono_has_pdb_checksum (char *raw_data, uint32_t raw_data_len)
return FALSE;
else {
const int top = cli_header.coff.coff_sections;
- int addr = debug_dir_entry->rva;
+ guint32 addr = debug_dir_entry->rva;
int i = 0;
for (i = 0; i < top; i++){
MonoSectionTable t;
@@ -974,7 +973,7 @@ mono_has_pdb_checksum (char *raw_data, uint32_t raw_data_len)
break;
}
}
- for (idx = 0; idx < debug_dir_entry->size / sizeof (ImageDebugDirectory); ++idx) {
+ for (guint32 idx = 0; idx < debug_dir_entry->size / sizeof (ImageDebugDirectory); ++idx) {
data = (guint8 *) ((ImageDebugDirectory *) (raw_data + addr) + idx);
debug_dir.characteristics = read32(data);
debug_dir.time_date_stamp = read32(data + 4);
@@ -1164,7 +1163,7 @@ dump_encmap (MonoImage *image)
if (mono_trace_is_traced (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE)) {
mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_METADATA_UPDATE, "ENCMAP for %s", image->filename);
- for (int i = 0; i < table_info_get_rows (encmap); ++i) {
+ for (guint32 i = 0; i < table_info_get_rows (encmap); ++i) {
guint32 cols [MONO_ENCMAP_SIZE];
mono_metadata_decode_row (encmap, i, cols, MONO_ENCMAP_SIZE);
int token = cols [MONO_ENCMAP_TOKEN];
@@ -2556,7 +2555,7 @@ mono_image_get_resource (MonoImage *image, guint32 offset, guint32 *size)
// Returning NULL with no error set will be interpeted as "not found"
MonoImage*
-mono_image_load_file_for_image_checked (MonoImage *image, int fileidx, MonoError *error)
+mono_image_load_file_for_image_checked (MonoImage *image, uint32_t fileidx, MonoError *error)
{
char *base_dir, *name;
MonoImage *res;
@@ -2591,7 +2590,6 @@ mono_image_load_file_for_image_checked (MonoImage *image, int fileidx, MonoError
mono_image_unlock (image);
mono_image_close (old);
} else {
- int i;
/* g_print ("loaded file %s from %s (%p)\n", name, image->name, image->assembly); */
if (!assign_assembly_parent_for_netmodule (res, image, error)) {
mono_image_unlock (image);
@@ -2599,13 +2597,13 @@ mono_image_load_file_for_image_checked (MonoImage *image, int fileidx, MonoError
return NULL;
}
- for (i = 0; i < res->module_count; ++i) {
+ for (guint32 i = 0; i < res->module_count; ++i) {
if (res->modules [i] && !res->modules [i]->assembly)
res->modules [i]->assembly = image->assembly;
}
if (!image->files) {
- int n = table_info_get_rows (t);
+ guint32 n = table_info_get_rows (t);
image->files = g_new0 (MonoImage*, n);
image->file_count = n;
}
diff --git a/src/mono/mono/metadata/loader.c b/src/mono/mono/metadata/loader.c
index bee40a563b9..5a7117fd151 100644
--- a/src/mono/mono/metadata/loader.c
+++ b/src/mono/mono/metadata/loader.c
@@ -611,7 +611,6 @@ inflate_generic_signature_checked (MonoImage *image, MonoMethodSignature *sig, M
{
MonoMethodSignature *res;
gboolean is_open;
- int i;
error_init (error);
if (!context)
@@ -624,7 +623,7 @@ inflate_generic_signature_checked (MonoImage *image, MonoMethodSignature *sig, M
if (!is_ok (error))
goto fail;
is_open = mono_class_is_open_constructed_type (res->ret);
- for (i = 0; i < sig->param_count; ++i) {
+ for (guint16 i = 0; i < sig->param_count; ++i) {
res->params [i] = mono_class_inflate_generic_type_checked (sig->params [i], context, error);
if (!is_ok (error))
goto fail;
@@ -645,7 +644,7 @@ inflate_generic_signature_checked (MonoImage *image, MonoMethodSignature *sig, M
fail:
if (res->ret)
mono_metadata_free_type (res->ret);
- for (i = 0; i < sig->param_count; ++i) {
+ for (guint16 i = 0; i < sig->param_count; ++i) {
if (res->params [i])
mono_metadata_free_type (res->params [i]);
}
@@ -693,12 +692,12 @@ inflate_generic_header (MonoMethodHeader *header, MonoGenericContext *context, M
error_init (error);
- for (int i = 0; i < header->num_locals; ++i) {
+ for (guint16 i = 0; i < header->num_locals; ++i) {
res->locals [i] = mono_class_inflate_generic_type_checked (header->locals [i], context, error);
goto_if_nok (error, fail);
}
if (res->num_clauses) {
- for (int i = 0; i < header->num_clauses; ++i) {
+ for (guint i = 0; i < header->num_clauses; ++i) {
MonoExceptionClause *clause = &res->clauses [i];
if (clause->flags != MONO_EXCEPTION_CLAUSE_NONE)
continue;
diff --git a/src/mono/mono/metadata/marshal.c b/src/mono/mono/metadata/marshal.c
index fbe2b5ad4d3..985bdbcfd40 100644
--- a/src/mono/mono/metadata/marshal.c
+++ b/src/mono/mono/metadata/marshal.c
@@ -600,7 +600,7 @@ mono_string_from_byvalwstr_impl (const gunichar2 *data, int max_len, MonoError *
// FIXME Check max_len while scanning data? mono_string_from_byvalstr does.
const size_t len = g_utf16_len (data);
- return mono_string_new_utf16_handle (data, (gint32)MIN (len, max_len), error);
+ return mono_string_new_utf16_handle (data, (gint32)MIN (len, GINT_TO_UINT(max_len)), error);
}
gpointer
@@ -765,7 +765,7 @@ mono_string_builder_new (int starting_string_length, MonoError *error)
mono_error_assert_ok (error);
MonoArrayHandle chunkChars = MONO_HANDLE_NEW_GET (MonoArray, sb, chunkChars);
- g_assert (MONO_HANDLE_GETVAL (chunkChars, max_length) >= initial_len);
+ g_assert (MONO_HANDLE_GETVAL (chunkChars, max_length) >= GINT_TO_UINT(initial_len));
return sb;
}
@@ -784,9 +784,9 @@ mono_string_utf16_to_builder_copy (MonoStringBuilderHandle sb, const gunichar2 *
do {
MONO_HANDLE_GET (chunkChars, chunk, chunkChars);
- const int maxLength = MONO_HANDLE_GETVAL (chunkChars, max_length);
+ const guint32 maxLength = MONO_HANDLE_GETVAL (chunkChars, max_length);
g_assert (maxLength >= 0);
- const int chunkOffset = MONO_HANDLE_GETVAL (chunk, chunkOffset);
+ const guint32 chunkOffset = MONO_HANDLE_GETVAL (chunk, chunkOffset);
g_assert (chunkOffset >= 0);
if (maxLength > 0 && chunkOffset < string_len) {
// Check that we will not overrun our boundaries.
@@ -828,9 +828,9 @@ mono_string_utf8len_to_builder (MonoStringBuilderHandle sb, const char *text, gs
GError *gerror = NULL;
glong copied;
gunichar2* ut = g_utf8_to_utf16 (text, (glong)len, NULL, &copied, &gerror);
- int capacity = mono_string_builder_capacity (sb);
+ guint capacity = mono_string_builder_capacity (sb);
- if (copied > capacity)
+ if (GLONG_TO_ULONG(copied) > capacity)
copied = capacity;
if (!gerror) {
@@ -917,7 +917,7 @@ mono_string_builder_to_utf8_impl (MonoStringBuilderHandle sb, MonoError *error)
}
len = mono_string_builder_capacity (sb) + 1;
- res = (char *)mono_marshal_alloc (MAX (byte_count + 1, len), error);
+ res = (char *)mono_marshal_alloc (MAX (GLONG_TO_ULONG(byte_count) + 1, len), error);
if (!is_ok (error)) {
res = NULL;
goto exit;
@@ -978,7 +978,7 @@ mono_string_builder_to_utf16_impl (MonoStringBuilderHandle sb, MonoError *error)
const int chunkOffset = MONO_HANDLE_GETVAL (chunk, chunkOffset);
g_assert (chunkOffset >= 0);
g_assertf ((chunkOffset + chunkLength) >= chunkLength, "integer overflow");
- g_assertf ((chunkOffset + chunkLength) <= capacity, "A chunk in the StringBuilder had a length longer than expected from the offset.");
+ g_assertf (GINT_TO_UINT(chunkOffset + chunkLength) <= capacity, "A chunk in the StringBuilder had a length longer than expected from the offset.");
memcpy (str + chunkOffset, MONO_HANDLE_RAW (chunkChars)->vector, chunkLength * sizeof (gunichar2));
}
MONO_HANDLE_GET (chunk, chunk, chunkPrevious);
@@ -1111,8 +1111,8 @@ mono_string_to_byvalstr_impl (char *dst, MonoStringHandle src, int size, MonoErr
char *s = mono_string_handle_to_utf8 (src, error);
return_if_nok (error);
- size_t len = MIN (size, strlen (s));
- len -= (len >= size);
+ size_t len = MIN (GINT_TO_UINT(size), strlen (s));
+ len -= (len >= GINT_TO_UINT(size));
memcpy (dst, s, len);
dst [len] = 0;
g_free (s);
@@ -3246,9 +3246,8 @@ mono_marshal_set_callconv_from_unmanaged_callconv_attribute (MonoMethod *method,
return;
}
- mono_array_size_t i;
MonoCustomAttrEntry *attr = NULL;
- for (i = 0; i < cinfo->num_attrs; ++i) {
+ for (int i = 0; i < cinfo->num_attrs; ++i) {
MonoClass *ctor_class = cinfo->attrs [i].ctor->klass;
if (ctor_class == attr_class) {
attr = &cinfo->attrs [i];
@@ -3262,7 +3261,7 @@ mono_marshal_set_callconv_from_unmanaged_callconv_attribute (MonoMethod *method,
MonoArray *named_args = mono_marshal_get_callconvs_array_from_attribute(attr, &arginfo);
if (named_args)
{
- for (i = 0; i < mono_array_length_internal(named_args); ++i) {
+ for (mono_array_size_t i = 0; i < mono_array_length_internal(named_args); ++i) {
CattrNamedArg *info = &arginfo[i];
g_assert(info->field);
if (strcmp(info->field->name, "CallConvs") != 0)
@@ -3326,9 +3325,8 @@ mono_marshal_set_callconv_from_unmanaged_callers_only_attribute (MonoMethod *met
return;
}
- mono_array_size_t i;
MonoCustomAttrEntry *attr = NULL;
- for (i = 0; i < cinfo->num_attrs; ++i) {
+ for (int i = 0; i < cinfo->num_attrs; ++i) {
MonoClass *ctor_class = cinfo->attrs [i].ctor->klass;
if (ctor_class == attr_class) {
attr = &cinfo->attrs [i];
@@ -3339,7 +3337,7 @@ mono_marshal_set_callconv_from_unmanaged_callers_only_attribute (MonoMethod *met
if (attr != NULL) {
MonoDecodeCustomAttr *decoded_args = mono_reflection_create_custom_attr_data_args_noalloc (mono_defaults.corlib, attr->ctor, attr->data, attr->data_size, error);
mono_error_assert_ok (error);
- for (i = 0; i < decoded_args->named_args_num; ++i) {
+ for (int i = 0; i < decoded_args->named_args_num; ++i) {
if (decoded_args->named_args_info [i].field && !strcmp (decoded_args->named_args_info [i].field->name, "CallConvs")) {
g_assertf(decoded_args->named_args_info [i].field->type->type == MONO_TYPE_SZARRAY, "UnmanagedCallersOnlyAttribute parameter %s must be an array, specified for method %s", decoded_args->named_args_info [i].field->name, method->name);
MonoCustomAttrValueArray *calling_conventions = decoded_args->named_args[i]->value.array;
@@ -5332,7 +5330,6 @@ void
mono_struct_delete_old (MonoClass *klass, char *ptr)
{
MonoMarshalType *info;
- int i;
info = mono_marshal_load_type_info (klass);
@@ -5342,7 +5339,7 @@ mono_struct_delete_old (MonoClass *klass, char *ptr)
if (m_class_is_blittable (klass))
return;
- for (i = 0; i < info->num_fields; i++) {
+ for (guint32 i = 0; i < info->num_fields; i++) {
MonoMarshalConv conv;
MonoType *ftype = info->fields [i].field->type;
char *cpos;
diff --git a/src/mono/mono/metadata/memory-manager.c b/src/mono/mono/metadata/memory-manager.c
index e5b20e2e74a..bab722477a9 100644
--- a/src/mono/mono/metadata/memory-manager.c
+++ b/src/mono/mono/metadata/memory-manager.c
@@ -35,7 +35,7 @@ lock_free_mempool_chunk_new (LockFreeMempool *mp, int len)
int size;
size = mono_pagesize ();
- while (size - sizeof (LockFreeMempoolChunk) < len)
+ while (size - sizeof (LockFreeMempoolChunk) < GINT_TO_UINT(len))
size += mono_pagesize ();
chunk = (LockFreeMempoolChunk *)mono_valloc (0, size, MONO_MMAP_READ|MONO_MMAP_WRITE, MONO_MEM_ACCOUNT_MEM_MANAGER);
g_assert (chunk);
@@ -77,9 +77,9 @@ lock_free_mempool_alloc0 (LockFreeMempool *mp, guint size)
/* The code below is lock-free, 'chunk' is shared state */
oldpos = mono_atomic_fetch_add_i32 (&chunk->pos, size);
- if (oldpos + size > chunk->size) {
+ if (oldpos + size > GINT_TO_UINT(chunk->size)) {
chunk = lock_free_mempool_chunk_new (mp, size);
- g_assert (chunk->pos + size <= chunk->size);
+ g_assert (chunk->pos + size <= GINT_TO_UINT(chunk->size));
res = chunk->mem;
chunk->pos += size;
mono_memory_barrier ();
@@ -150,7 +150,7 @@ memory_manager_delete_objects (MonoMemoryManager *memory_manager)
memory_manager->freeing = TRUE;
// Must be done before type_hash is freed
- for (int i = 0; i < memory_manager->class_vtable_array->len; i++)
+ for (guint i = 0; i < memory_manager->class_vtable_array->len; i++)
unregister_vtable_reflection_type ((MonoVTable *)g_ptr_array_index (memory_manager->class_vtable_array, i));
g_ptr_array_free (memory_manager->class_vtable_array, TRUE);
@@ -454,7 +454,7 @@ get_mem_manager_for_alcs (MonoAssemblyLoadContext **alcs, int nalcs)
mem_managers = alc->generic_memory_managers;
res = NULL;
- for (int mindex = 0; mindex < mem_managers->len; ++mindex) {
+ for (guint mindex = 0; mindex < mem_managers->len; ++mindex) {
MonoMemoryManager *mm = (MonoMemoryManager*)g_ptr_array_index (mem_managers, mindex);
if (match_mem_manager (mm, alcs, nalcs)) {
diff --git a/src/mono/mono/metadata/mono-basic-block.c b/src/mono/mono/metadata/mono-basic-block.c
index 093f113a3e4..d115df51ff6 100644
--- a/src/mono/mono/metadata/mono-basic-block.c
+++ b/src/mono/mono/metadata/mono-basic-block.c
@@ -252,7 +252,7 @@ bb_split (MonoSimpleBasicBlock *first, MonoSimpleBasicBlock *hint, MonoSimpleBas
do {
if (bb_idx_is_contained (first, target))
break;
- if (first->start > target)
+ if (GINT_TO_UINT(first->start )> target)
first = first->left;
else
first = first->right;
@@ -353,7 +353,7 @@ bb_formation_il_pass (const unsigned char *start, const unsigned char *end, Mono
return;
}
- while (current && cli_addr >= current->end)
+ while (current && cli_addr >= GINT_TO_UINT(current->end))
current = current->next;
g_assert (current);
@@ -469,13 +469,12 @@ bb_formation_il_pass (const unsigned char *start, const unsigned char *end, Mono
static void
bb_formation_eh_pass (MonoMethodHeader *header, MonoSimpleBasicBlock *bb, MonoSimpleBasicBlock **root, MonoMethod *method, MonoError *error)
{
- int i;
- int end = header->code_size;
+ guint32 end = header->code_size;
error_init (error);
/*We must split at all points to verify for targets in the middle of an instruction*/
- for (i = 0; i < header->num_clauses; ++i) {
+ for (guint i = 0; i < header->num_clauses; ++i) {
MonoExceptionClause *clause = header->clauses + i;
MonoSimpleBasicBlock *try_block, *handler;
diff --git a/src/mono/mono/metadata/mono-hash.c b/src/mono/mono/metadata/mono-hash.c
index 6077450e31d..6a273207b52 100644
--- a/src/mono/mono/metadata/mono-hash.c
+++ b/src/mono/mono/metadata/mono-hash.c
@@ -110,7 +110,7 @@ static void mono_g_hash_table_value_store (MonoGHashTable *hash, int slot, MonoO
}
/* Returns position of key or of an empty slot for it */
-static int mono_g_hash_table_find_slot (MonoGHashTable *hash, const MonoObject *key)
+static guint mono_g_hash_table_find_slot (MonoGHashTable *hash, const MonoObject *key)
{
guint start = ((*hash->hash_func) (key)) % hash->table_size;
guint i = start;
@@ -132,9 +132,9 @@ static int mono_g_hash_table_find_slot (MonoGHashTable *hash, const MonoObject *
}
gint32 max_length = UnlockedRead (&mono_g_hash_table_max_chain_length);
- if (i > start && (i - start) > max_length)
+ if (i > start && (i - start) > GINT32_TO_UINT32(max_length))
UnlockedWrite (&mono_g_hash_table_max_chain_length, i - start);
- else if (i < start && (hash->table_size - (start - i)) > max_length)
+ else if (i < start && (hash->table_size - (start - i)) > GINT32_TO_UINT32(max_length))
UnlockedWrite (&mono_g_hash_table_max_chain_length, hash->table_size - (start - i));
return i;
@@ -199,7 +199,7 @@ do_rehash (void *_data)
for (i = 0; i < current_size; i++) {
if (old_keys [i]) {
- int slot = mono_g_hash_table_find_slot (hash, old_keys [i]);
+ guint slot = mono_g_hash_table_find_slot (hash, old_keys [i]);
mono_g_hash_table_key_store (hash, slot, old_keys [i]);
mono_g_hash_table_value_store (hash, slot, old_values [i]);
}
@@ -277,11 +277,9 @@ mono_g_hash_table_lookup (MonoGHashTable *hash, gconstpointer key)
gboolean
mono_g_hash_table_lookup_extended (MonoGHashTable *hash, gconstpointer key, gpointer *orig_key, gpointer *value)
{
- int slot;
-
g_return_val_if_fail (hash != NULL, FALSE);
- slot = mono_g_hash_table_find_slot (hash, (MonoObject*)key);
+ guint slot = mono_g_hash_table_find_slot (hash, (MonoObject*)key);
if (hash->keys [slot]) {
if (orig_key)
@@ -332,7 +330,7 @@ mono_g_hash_table_find (MonoGHashTable *hash, GHRFunc predicate, gpointer user_d
gboolean
mono_g_hash_table_remove (MonoGHashTable *hash, gconstpointer key)
{
- int slot, last_clear_slot;
+ guint slot, last_clear_slot;
g_return_val_if_fail (hash != NULL, FALSE);
slot = mono_g_hash_table_find_slot (hash, (MonoObject*)key);
@@ -438,13 +436,12 @@ static void
mono_g_hash_table_insert_replace (MonoGHashTable *hash, gpointer key, gpointer value, gboolean replace)
{
MONO_REQ_GC_UNSAFE_MODE;
- int slot;
g_return_if_fail (hash != NULL);
if (hash->in_use > (hash->table_size * HASH_TABLE_MAX_LOAD_FACTOR))
rehash (hash);
- slot = mono_g_hash_table_find_slot (hash, (MonoObject*)key);
+ guint slot = mono_g_hash_table_find_slot (hash, (MonoObject*)key);
if (hash->keys [slot]) {
if (replace) {
diff --git a/src/mono/mono/metadata/object-internals.h b/src/mono/mono/metadata/object-internals.h
index e8c41f86053..b02561bddff 100644
--- a/src/mono/mono/metadata/object-internals.h
+++ b/src/mono/mono/metadata/object-internals.h
@@ -330,7 +330,7 @@ struct _MonoStringBuilder {
int maxCapacity;
};
-static inline int
+static inline guint
mono_string_builder_capacity (MonoStringBuilderHandle sbh)
{
MonoStringBuilder *sb = MONO_HANDLE_RAW (sbh);
diff --git a/src/mono/mono/metadata/object.c b/src/mono/mono/metadata/object.c
index d705937a17d..df63130a75f 100644
--- a/src/mono/mono/metadata/object.c
+++ b/src/mono/mono/metadata/object.c
@@ -879,16 +879,16 @@ compute_class_bitmap (MonoClass *klass, gsize *bitmap, int size, int offset, int
case MONO_TYPE_ARRAY:
g_assert ((m_field_get_offset (field) % wordsize) == 0);
- g_assert (pos < size || pos <= max_size);
+ g_assert (pos < GINT_TO_UINT32(size) || pos <= GINT_TO_UINT32(max_size));
bitmap [pos / BITMAP_EL_SIZE] |= ((gsize)1) << (pos % BITMAP_EL_SIZE);
- *max_set = MAX (*max_set, pos);
+ *max_set = MAX (GINT_TO_UINT32(*max_set), pos);
break;
case MONO_TYPE_GENERICINST:
if (!mono_type_generic_inst_is_valuetype (type)) {
g_assert ((m_field_get_offset (field) % wordsize) == 0);
bitmap [pos / BITMAP_EL_SIZE] |= ((gsize)1) << (pos % BITMAP_EL_SIZE);
- *max_set = MAX (*max_set, pos);
+ *max_set = MAX (GINT_TO_UINT32(*max_set), pos);
break;
} else {
/* fall through */
@@ -1462,10 +1462,9 @@ initialize_imt_slot (MonoVTable *vtable, MonoImtBuilderEntry *imt_builder_entry,
/* Collision, build the trampoline */
GPtrArray *imt_ir = imt_sort_slot_entries (imt_builder_entry);
gpointer result;
- int i;
result = imt_trampoline_builder (vtable,
(MonoIMTCheckItem**)imt_ir->pdata, imt_ir->len, fail_tramp);
- for (i = 0; i < imt_ir->len; ++i)
+ for (guint i = 0; i < imt_ir->len; ++i)
g_free (g_ptr_array_index (imt_ir, i));
g_ptr_array_free (imt_ir, TRUE);
return result;
@@ -1821,7 +1820,7 @@ mono_method_add_generic_virtual_invocation (MonoVTable *vtable,
entries = next;
}
- for (int i = 0; i < sorted->len; ++i)
+ for (guint i = 0; i < sorted->len; ++i)
g_free (g_ptr_array_index (sorted, i));
g_ptr_array_free (sorted, TRUE);
@@ -5748,7 +5747,7 @@ mono_array_new_jagged_helper (MonoClass *klass, int n, uintptr_t *lengths, int i
// are also arrays and we allocate each one of them.
MonoClass *element_class = m_class_get_element_class (klass);
g_assert (m_class_get_rank (element_class) == 1);
- for (int i = 0; i < lengths [index]; i++) {
+ for (uintptr_t i = 0; i < lengths [index]; i++) {
MonoArray *o = mono_array_new_jagged_helper (element_class, n, lengths, index + 1, error);
goto_if_nok (error, exit);
mono_array_setref_fast (ret, i, o);
@@ -6991,7 +6990,7 @@ mono_ldstr_utf8 (MonoImage *image, guint32 idx, MonoError *error)
return NULL;
}
/* g_utf16_to_utf8 may not be able to complete the conversion (e.g. NULL values were found, #335488) */
- if (len2 > written) {
+ if (len2 > GLONG_TO_ULONG(written)) {
/* allocate the total length and copy the part of the string that has been converted */
char *as2 = (char *)g_malloc0 (len2);
memcpy (as2, as, written);
@@ -7054,7 +7053,7 @@ mono_utf16_to_utf8len (const gunichar2 *s, gsize slength, gsize *utf8_length, Mo
return NULL;
}
/* g_utf16_to_utf8 may not be able to complete the conversion (e.g. NULL values were found, #335488) */
- if (slength > written) {
+ if (slength > GLONG_TO_ULONG(written)) {
/* allocate the total length and copy the part of the string that has been converted */
char *as2 = (char *)g_malloc0 (slength);
memcpy (as2, as, written);
diff --git a/src/mono/mono/metadata/reflection.c b/src/mono/mono/metadata/reflection.c
index c2e33797bcd..4d4f6c5eaa5 100644
--- a/src/mono/mono/metadata/reflection.c
+++ b/src/mono/mono/metadata/reflection.c
@@ -281,9 +281,8 @@ module_object_construct (MonoClass *unused_klass, MonoImage *image, gpointer use
if (image->assembly->image == image) {
token = mono_metadata_make_token (MONO_TABLE_MODULE, 1);
} else {
- int i;
if (image->assembly->image->modules) {
- for (i = 0; i < image->assembly->image->module_count; i++) {
+ for (guint32 i = 0; i < image->assembly->image->module_count; i++) {
if (image->assembly->image->modules [i] == image)
token = mono_metadata_make_token (MONO_TABLE_MODULEREF, i + 1);
}
@@ -326,7 +325,7 @@ mono_module_file_get_object_handle (MonoImage *image, int table_index, MonoError
MonoTableInfo *table;
guint32 cols [MONO_FILE_SIZE];
const char *name;
- guint32 i, name_idx;
+ guint32 name_idx;
const char *val;
error_init (error);
@@ -335,7 +334,7 @@ mono_module_file_get_object_handle (MonoImage *image, int table_index, MonoError
goto_if_nok (error, fail);
table = &image->tables [MONO_TABLE_FILE];
- g_assert (table_index < table_info_get_rows (table));
+ g_assert (GINT_TO_UINT32(table_index) < table_info_get_rows (table));
mono_metadata_decode_row (table, table_index, cols, MONO_FILE_SIZE);
MONO_HANDLE_SETVAL (res, image, MonoImage*, NULL);
@@ -347,8 +346,8 @@ mono_module_file_get_object_handle (MonoImage *image, int table_index, MonoError
/* Check whenever the row has a corresponding row in the moduleref table */
table = &image->tables [MONO_TABLE_MODULEREF];
- int rows = table_info_get_rows (table);
- for (i = 0; i < rows; ++i) {
+ guint32 rows = table_info_get_rows (table);
+ for (guint32 i = 0; i < rows; ++i) {
name_idx = mono_metadata_decode_row_col (table, i, MONO_MODULEREF_NAME);
val = mono_metadata_string_heap (image, name_idx);
if (strcmp (val, name) == 0)
@@ -372,7 +371,6 @@ fail:
static MonoType*
mono_type_normalize (MonoType *type)
{
- int i;
MonoGenericClass *gclass;
MonoGenericInst *ginst;
MonoClass *gtd;
@@ -392,7 +390,7 @@ mono_type_normalize (MonoType *type)
gcontainer = mono_class_get_generic_container (gtd);
argv = g_newa (MonoType*, ginst->type_argc);
- for (i = 0; i < ginst->type_argc; ++i) {
+ for (guint i = 0; i < ginst->type_argc; ++i) {
MonoType *t = ginst->type_argv [i], *norm;
if (t->type != MONO_TYPE_VAR || t->data.generic_param->num != i || t->data.generic_param->owner != gcontainer)
is_denorm_gtd = FALSE;
@@ -2096,9 +2094,8 @@ mono_reflection_get_type_internal (MonoAssemblyLoadContext *alc, MonoImage *root
MonoType **type_args = g_new0 (MonoType *, info->type_arguments->len);
MonoReflectionTypeHandle the_type;
MonoType *instance;
- int i;
- for (i = 0; i < info->type_arguments->len; i++) {
+ for (guint i = 0; i < info->type_arguments->len; i++) {
MonoTypeNameParse *subinfo = (MonoTypeNameParse *)g_ptr_array_index (info->type_arguments, i);
type_args [i] = _mono_reflection_get_type_from_info (alc, subinfo, rootimage, ignorecase, search_mscorlib, error);
@@ -2331,9 +2328,7 @@ mono_reflection_free_type_info (MonoTypeNameParse *info)
g_list_free (info->nested);
if (info->type_arguments) {
- int i;
-
- for (i = 0; i < info->type_arguments->len; i++) {
+ for (guint i = 0; i < info->type_arguments->len; i++) {
MonoTypeNameParse *subinfo = (MonoTypeNameParse *)g_ptr_array_index (info->type_arguments, i);
mono_reflection_free_type_info (subinfo);
@@ -2752,15 +2747,14 @@ mono_declsec_get_flags (MonoImage *image, guint32 token)
MonoTableInfo *t = &image->tables [MONO_TABLE_DECLSECURITY];
guint32 result = 0;
guint32 action;
- int i;
/* HasSecurity can be present for other, not specially encoded, attributes,
e.g. SuppressUnmanagedCodeSecurityAttribute */
if (index < 0)
return 0;
- int rows = table_info_get_rows (t);
- for (i = index; i < rows; i++) {
+ guint32 rows = table_info_get_rows (t);
+ for (guint32 i = index; i < rows; i++) {
guint32 cols [MONO_DECL_SECURITY_SIZE];
mono_metadata_decode_row (t, i, cols, MONO_DECL_SECURITY_SIZE);
@@ -2855,12 +2849,11 @@ fill_actions_from_index (MonoImage *image, guint32 token, MonoDeclSecurityAction
MonoBoolean result = FALSE;
MonoTableInfo *t;
guint32 cols [MONO_DECL_SECURITY_SIZE];
- int index = mono_metadata_declsec_from_index (image, token);
- int i;
+ guint32 index = mono_metadata_declsec_from_index (image, token);
t = &image->tables [MONO_TABLE_DECLSECURITY];
- int rows = table_info_get_rows (t);
- for (i = index; i < rows; i++) {
+ guint32 rows = table_info_get_rows (t);
+ for (guint32 i = index; i < rows; i++) {
mono_metadata_decode_row (t, i, cols, MONO_DECL_SECURITY_SIZE);
if (cols [MONO_DECL_SECURITY_PARENT] != token)
@@ -3080,15 +3073,13 @@ static MonoBoolean
get_declsec_action (MonoImage *image, guint32 token, guint32 action, MonoDeclSecurityEntry *entry)
{
guint32 cols [MONO_DECL_SECURITY_SIZE];
- int i;
-
- int index = mono_metadata_declsec_from_index (image, token);
+ guint32 index = mono_metadata_declsec_from_index (image, token);
if (index == -1)
return FALSE;
MonoTableInfo *t = &image->tables [MONO_TABLE_DECLSECURITY];
- int rows = table_info_get_rows (t);
- for (i = index; i < rows; i++) {
+ guint32 rows = table_info_get_rows (t);
+ for (guint32 i = index; i < rows; i++) {
mono_metadata_decode_row (t, i, cols, MONO_DECL_SECURITY_SIZE);
/* shortcut - index are ordered */
diff --git a/src/mono/mono/metadata/sre-encode.c b/src/mono/mono/metadata/sre-encode.c
index 0c94e67f1a2..3ad08a46c45 100644
--- a/src/mono/mono/metadata/sre-encode.c
+++ b/src/mono/mono/metadata/sre-encode.c
@@ -133,7 +133,6 @@ encode_generic_class (MonoDynamicImage *assembly, MonoGenericClass *gclass, SigB
{
MONO_REQ_GC_NEUTRAL_MODE;
- int i;
MonoGenericInst *class_inst;
MonoClass *klass;
@@ -147,7 +146,7 @@ encode_generic_class (MonoDynamicImage *assembly, MonoGenericClass *gclass, SigB
sigbuffer_add_value (buf, mono_dynimage_encode_typedef_or_ref_full (assembly, m_class_get_byval_arg (klass), FALSE));
sigbuffer_add_value (buf, class_inst->type_argc);
- for (i = 0; i < class_inst->type_argc; ++i)
+ for (guint i = 0; i < class_inst->type_argc; ++i)
encode_type (assembly, class_inst->type_argv [i], buf);
}
diff --git a/src/mono/mono/metadata/threads.c b/src/mono/mono/metadata/threads.c
index de31cb1a120..66083969982 100644
--- a/src/mono/mono/metadata/threads.c
+++ b/src/mono/mono/metadata/threads.c
@@ -2801,7 +2801,7 @@ wait_for_tids (struct wait_data *wait, guint32 timeout, gboolean check_state_cha
for( i = 0; i < wait->num; i++)
mono_threads_close_thread_handle (wait->handles [i]);
- if (ret >= MONO_THREAD_INFO_WAIT_RET_SUCCESS_0 && ret < (MONO_THREAD_INFO_WAIT_RET_SUCCESS_0 + wait->num)) {
+ if (ret >= MONO_THREAD_INFO_WAIT_RET_SUCCESS_0 && GINT_TO_UINT32(ret) < MONO_THREAD_INFO_WAIT_RET_SUCCESS_0 + wait->num) {
MonoInternalThread *internal;
internal = wait->threads [ret - MONO_THREAD_INFO_WAIT_RET_SUCCESS_0];
@@ -3289,12 +3289,12 @@ mono_thread_get_undeniable_exception (void)
#if MONO_SMALL_CONFIG
#define NUM_STATIC_DATA_IDX 4
-static const int static_data_size [NUM_STATIC_DATA_IDX] = {
+static const guint32 static_data_size [NUM_STATIC_DATA_IDX] = {
64, 256, 1024, 4096
};
#else
#define NUM_STATIC_DATA_IDX 8
-static const int static_data_size [NUM_STATIC_DATA_IDX] = {
+static const guint32 static_data_size [NUM_STATIC_DATA_IDX] = {
1024, 4096, 16384, 65536, 262144, 1048576, 4194304, 16777216
};
#endif
@@ -3336,7 +3336,6 @@ static void
mono_alloc_static_data (gpointer **static_data_ptr, guint32 offset, void *alloc_key)
{
guint idx = ACCESS_SPECIAL_STATIC_OFFSET (offset, index);
- int i;
gpointer* static_data = *static_data_ptr;
if (!static_data) {
@@ -3355,7 +3354,7 @@ mono_alloc_static_data (gpointer **static_data_ptr, guint32 offset, void *alloc_
static_data [0] = static_data;
}
- for (i = 1; i <= idx; ++i) {
+ for (guint i = 1; i <= idx; ++i) {
if (static_data [i])
continue;
@@ -3372,8 +3371,7 @@ mono_alloc_static_data (gpointer **static_data_ptr, guint32 offset, void *alloc_
static void
mono_free_static_data (gpointer* static_data)
{
- int i;
- for (i = 1; i < NUM_STATIC_DATA_IDX; ++i) {
+ for (guint i = 1; i < NUM_STATIC_DATA_IDX; ++i) {
gpointer p = static_data [i];
if (!p)
continue;
@@ -3496,7 +3494,7 @@ clear_reference_bitmap (MonoBitSet **sets, guint32 offset, guint32 size)
offset = ACCESS_SPECIAL_STATIC_OFFSET (offset, offset);
offset /= sizeof (uintptr_t);
/* offset is now the bitmap offset */
- for (int i = 0; i < size / sizeof (uintptr_t); i++)
+ for (guint i = 0; i < size / sizeof (uintptr_t); i++)
mono_bitset_clear_fast (rb, offset + i);
}
@@ -4860,10 +4858,8 @@ mono_thread_internal_describe (MonoInternalThread *internal, GString *text)
}
if (internal->owned_mutexes) {
- int i;
-
g_string_append (text, ", owns : [");
- for (i = 0; i < internal->owned_mutexes->len; i++)
+ for (guint i = 0; i < internal->owned_mutexes->len; i++)
g_string_append_printf (text, i == 0 ? "%p" : ", %p", g_ptr_array_index (internal->owned_mutexes, i));
g_string_append (text, "]");
}
diff --git a/src/mono/mono/mini/abcremoval.c b/src/mono/mono/mini/abcremoval.c
index ee236f6deb3..510e149cec7 100644
--- a/src/mono/mono/mini/abcremoval.c
+++ b/src/mono/mono/mini/abcremoval.c
@@ -1307,7 +1307,6 @@ mono_perform_abc_removal (MonoCompile *cfg)
{
MonoVariableRelationsEvaluationArea area;
MonoBasicBlock *bb;
- int i;
verbose_level = cfg->verbose_level;
@@ -1324,7 +1323,7 @@ mono_perform_abc_removal (MonoCompile *cfg)
area.variable_value_kind = (MonoIntegerValueKind *)
mono_mempool_alloc (cfg->mempool, sizeof (MonoIntegerValueKind) * (cfg->next_vreg));
area.defs = (MonoInst **)mono_mempool_alloc (cfg->mempool, sizeof (MonoInst*) * cfg->next_vreg);
- for (i = 0; i < cfg->next_vreg; i++) {
+ for (guint32 i = 0; i < cfg->next_vreg; i++) {
area.variable_value_kind [i] = MONO_UNKNOWN_INTEGER_VALUE;
area.relations [i].relation = MONO_EQ_RELATION;
area.relations [i].relation_is_static_definition = TRUE;
@@ -1410,7 +1409,7 @@ mono_perform_abc_removal (MonoCompile *cfg)
}
/* Add symmetric relations */
- for (i = 0; i < cfg->next_vreg; i++) {
+ for (guint32 i = 0; i < cfg->next_vreg; i++) {
if (area.relations [i].related_value.type == MONO_VARIABLE_SUMMARIZED_VALUE) {
int related_index = cfg->next_vreg + i;
int related_variable = area.relations [i].related_value.value.variable.variable;
diff --git a/src/mono/mono/mini/alias-analysis.c b/src/mono/mono/mini/alias-analysis.c
index fa4627c8abc..2e0d4507b9e 100644
--- a/src/mono/mono/mini/alias-analysis.c
+++ b/src/mono/mono/mini/alias-analysis.c
@@ -321,14 +321,11 @@ handle_instruction:
static gboolean
recompute_aliased_variables (MonoCompile *cfg, int *restored_vars)
{
- int i;
- MonoBasicBlock *bb;
- MonoInst *ins;
int kills = 0;
int adds = 0;
*restored_vars = 0;
- for (i = 0; i < cfg->num_varinfo; i++) {
+ for (guint i = 0; i < cfg->num_varinfo; i++) {
MonoInst *var = cfg->varinfo [i];
if (var->flags & MONO_INST_INDIRECT) {
if (cfg->verbose_level > 2) {
@@ -342,8 +339,8 @@ recompute_aliased_variables (MonoCompile *cfg, int *restored_vars)
if (!kills)
return FALSE;
- for (bb = cfg->bb_entry; bb; bb = bb->next_bb) {
- for (ins = bb->code; ins; ins = ins->next) {
+ for (MonoBasicBlock *bb = cfg->bb_entry; bb; bb = bb->next_bb) {
+ for (MonoInst *ins = bb->code; ins; ins = ins->next) {
if (ins->opcode == OP_LDADDR) {
MonoInst *var;
diff --git a/src/mono/mono/mini/branch-opts.c b/src/mono/mono/mini/branch-opts.c
index 6f71eced4ff..1d473d14cfc 100644
--- a/src/mono/mono/mini/branch-opts.c
+++ b/src/mono/mono/mini/branch-opts.c
@@ -41,7 +41,6 @@ mono_branch_optimize_exception_target (MonoCompile *cfg, MonoBasicBlock *bb, con
MonoMethodHeader *header = cfg->header;
MonoExceptionClause *clause;
MonoClass *exclass;
- int i;
if (!(cfg->opt & MONO_OPT_EXCEPTION))
return NULL;
@@ -51,7 +50,7 @@ mono_branch_optimize_exception_target (MonoCompile *cfg, MonoBasicBlock *bb, con
exclass = mono_class_load_from_name (mono_get_corlib (), "System", exname);
/* search for the handler */
- for (i = 0; i < header->num_clauses; ++i) {
+ for (guint i = 0; i < header->num_clauses; ++i) {
clause = &header->clauses [i];
if (MONO_OFFSET_IN_CLAUSE (clause, bb->real_offset)) {
if (clause->flags == MONO_EXCEPTION_CLAUSE_NONE && clause->data.catch_class && mono_class_is_assignable_from_internal (clause->data.catch_class, exclass)) {
diff --git a/src/mono/mono/mini/driver.c b/src/mono/mono/mini/driver.c
index 9c1480b76a9..34c6609652a 100644
--- a/src/mono/mono/mini/driver.c
+++ b/src/mono/mono/mini/driver.c
@@ -470,7 +470,6 @@ mini_regression_step (MonoImage *image, int verbose, int *total_run, int *total,
int result, expected, failed, cfailed, run, code_size;
double elapsed, comp_time, start_time;
char *n;
- int i;
mono_set_defaults (verbose, opt_flags);
n = mono_opt_descr (opt_flags);
@@ -489,7 +488,7 @@ mini_regression_step (MonoImage *image, int verbose, int *total_run, int *total,
g_timer_start (timer);
if (mini_stats_fd)
fprintf (mini_stats_fd, "[");
- for (i = 0; i < mono_image_get_table_rows (image, MONO_TABLE_METHOD); ++i) {
+ for (guint32 i = 0; i < table_info_get_rows (&image->tables [MONO_TABLE_METHOD]); ++i) {
ERROR_DECL (error);
MonoMethod *method = mono_get_method_checked (image, MONO_TOKEN_METHOD_DEF | (i + 1), NULL, NULL, error);
if (!method) {
@@ -589,7 +588,6 @@ mini_regression_step (MonoImage *image, int verbose, int *total_run, int *total,
static int
mini_regression (MonoImage *image, int verbose, int *total_run)
{
- guint32 i, opt;
MonoMethod *method;
char *n;
GTimer *timer = g_timer_new ();
@@ -603,7 +601,7 @@ mini_regression (MonoImage *image, int verbose, int *total_run)
fprintf (mini_stats_fd, "$stattitle = \'Mono Benchmark Results (various optimizations)\';\n");
fprintf (mini_stats_fd, "$graph->set_legend(qw(");
- for (opt = 0; opt < G_N_ELEMENTS (opt_sets); opt++) {
+ for (guint32 opt = 0; opt < G_N_ELEMENTS (opt_sets); opt++) {
guint32 opt_flags = opt_sets [opt];
n = mono_opt_descr (opt_flags);
if (!n [0])
@@ -621,7 +619,7 @@ mini_regression (MonoImage *image, int verbose, int *total_run)
}
/* load the metadata */
- for (i = 0; i < mono_image_get_table_rows (image, MONO_TABLE_METHOD); ++i) {
+ for (guint32 i = 0; i < table_info_get_rows (&image->tables [MONO_TABLE_METHOD]); ++i) {
ERROR_DECL (error);
method = mono_get_method_checked (image, MONO_TOKEN_METHOD_DEF | (i + 1), NULL, NULL, error);
if (!method) {
@@ -664,7 +662,7 @@ mini_regression (MonoImage *image, int verbose, int *total_run)
return total;
}
} else {
- for (opt = 0; opt < G_N_ELEMENTS (opt_sets); ++opt) {
+ for (guint32 opt = 0; opt < G_N_ELEMENTS (opt_sets); ++opt) {
/* aot-tests.cs need OPT_INTRINS enabled */
if (!strcmp ("aot-tests", image->assembly_name))
if (!(opt_sets [opt] & MONO_OPT_INTRINS))
@@ -723,7 +721,6 @@ interp_regression_step (MonoImage *image, int verbose, int *total_run, int *tota
{
int result, expected, failed, cfailed, run;
double elapsed, transform_time;
- int i;
MonoObject *result_obj;
int local_skip_index = 0;
@@ -742,7 +739,7 @@ interp_regression_step (MonoImage *image, int verbose, int *total_run, int *tota
mini_get_interp_callbacks ()->invalidate_transformed ();
g_timer_start (timer);
- for (i = 0; i < mono_image_get_table_rows (image, MONO_TABLE_METHOD); ++i) {
+ for (guint32 i = 0; i < table_info_get_rows (&image->tables [MONO_TABLE_METHOD]); ++i) {
ERROR_DECL (error);
MonoMethod *method = mono_get_method_checked (image, MONO_TOKEN_METHOD_DEF | (i + 1), NULL, NULL, error);
if (!method) {
@@ -803,11 +800,10 @@ interp_regression (MonoImage *image, int verbose, int *total_run)
{
MonoMethod *method;
GTimer *timer = g_timer_new ();
- guint32 i;
int total;
/* load the metadata */
- for (i = 0; i < mono_image_get_table_rows (image, MONO_TABLE_METHOD); ++i) {
+ for (guint32 i = 0; i < table_info_get_rows (&image->tables [MONO_TABLE_METHOD]); ++i) {
ERROR_DECL (error);
method = mono_get_method_checked (image, MONO_TOKEN_METHOD_DEF | (i + 1), NULL, NULL, error);
if (!method) {
@@ -1206,9 +1202,9 @@ compile_all_methods_thread_main_inner (CompileAllThreadArgs *args)
MonoImage *image = mono_assembly_get_image_internal (ass);
MonoMethod *method;
MonoCompile *cfg;
- int i, count = 0, fail_count = 0;
+ int count = 0, fail_count = 0;
- for (i = 0; i < mono_image_get_table_rows (image, MONO_TABLE_METHOD); ++i) {
+ for (guint32 i = 0; i < table_info_get_rows (&image->tables [MONO_TABLE_METHOD]); ++i) {
ERROR_DECL (error);
guint32 token = MONO_TOKEN_METHOD_DEF | (i + 1);
MonoMethodSignature *sig;
@@ -3023,7 +3019,6 @@ merge_parsed_options (GPtrArray *parsed_options, int *ref_argc, char **ref_argv
int new_argc = parsed_options->len + argc;
char **new_argv = g_new (char *, new_argc + 1);
guint i;
- guint j;
new_argv [0] = argv [0];
@@ -3034,10 +3029,10 @@ merge_parsed_options (GPtrArray *parsed_options, int *ref_argc, char **ref_argv
new_argv [i+1] = (char *)g_ptr_array_index (parsed_options, i);
i++;
}
- for (j = 1; j < argc; j++)
+ for (int j = 1; j < argc; j++)
new_argv [i++] = argv [j];
if (!prepend){
- for (j = 0; j < parsed_options->len; j++)
+ for (guint j = 0; j < parsed_options->len; j++)
new_argv [i++] = (char *)g_ptr_array_index (parsed_options, j);
}
new_argv [i] = NULL;
diff --git a/src/mono/mono/mini/exceptions-amd64.c b/src/mono/mono/mini/exceptions-amd64.c
index 50a7cfd6a13..bf190ce9d91 100644
--- a/src/mono/mono/mini/exceptions-amd64.c
+++ b/src/mono/mono/mini/exceptions-amd64.c
@@ -1584,7 +1584,7 @@ mono_arch_unwindinfo_find_rt_func_in_table (const gpointer code, gsize code_size
g_assert_checked (found_entry->end_range >= begin_range && found_entry->end_range >= end_range);
g_assert_checked (found_entry->rt_funcs != NULL);
- for (int i = 0; i < found_entry->rt_funcs_current_count; ++i) {
+ for (DWORD i = 0; i < found_entry->rt_funcs_current_count; ++i) {
PRUNTIME_FUNCTION current_rt_func = (PRUNTIME_FUNCTION)(&found_entry->rt_funcs [i]);
// Is this our RT function entry?
@@ -1621,7 +1621,7 @@ validate_rt_funcs_in_table_no_lock (DynamicFunctionTableEntry *entry)
PRUNTIME_FUNCTION current_rt_func = NULL;
PRUNTIME_FUNCTION previous_rt_func = NULL;
- for (int i = 0; i < entry->rt_funcs_current_count; ++i) {
+ for (DWORD i = 0; i < entry->rt_funcs_current_count; ++i) {
current_rt_func = &(entry->rt_funcs [i]);
g_assert_checked (current_rt_func->BeginAddress < current_rt_func->EndAddress);
diff --git a/src/mono/mono/mini/graph.c b/src/mono/mono/mini/graph.c
index b48afe7c11b..025664e6cbe 100644
--- a/src/mono/mono/mini/graph.c
+++ b/src/mono/mono/mini/graph.c
@@ -46,7 +46,7 @@ static void
dtree_emit_one_loop_level (MonoCompile *cfg, FILE *fp, MonoBasicBlock *h)
{
MonoBasicBlock *bb;
- int i, level = 0;
+ gint8 level = 0;
if (h) {
level = h->nesting;
@@ -54,7 +54,7 @@ dtree_emit_one_loop_level (MonoCompile *cfg, FILE *fp, MonoBasicBlock *h)
fprintf (fp, "label=\"loop_%d\"\n", h->block_num);
}
- for (i = 1; i < cfg->num_bblocks; ++i) {
+ for (guint i = 1; i < cfg->num_bblocks; ++i) {
bb = cfg->bblocks [i];
if (!h || (g_list_find (h->loop_blocks, bb) && bb != h)) {
diff --git a/src/mono/mono/mini/helpers.c b/src/mono/mono/mini/helpers.c
index dd801c1da96..ca7df28c76d 100644
--- a/src/mono/mono/mini/helpers.c
+++ b/src/mono/mono/mini/helpers.c
@@ -91,7 +91,7 @@ void
mono_blockset_print (MonoCompile *cfg, MonoBitSet *set, const char *name, guint idom)
{
#ifndef DISABLE_LOGGING
- int i;
+ guint i;
if (name)
g_print ("%s:", name);
diff --git a/src/mono/mono/mini/ir-emit.h b/src/mono/mono/mini/ir-emit.h
index 02958a45810..421ee543bb1 100644
--- a/src/mono/mono/mini/ir-emit.h
+++ b/src/mono/mono/mini/ir-emit.h
@@ -969,7 +969,7 @@ mini_emit_bounds_check_offset (MonoCompile *cfg, int array_reg, int array_length
if (!(cfg->opt & MONO_OPT_ABCREM)) {
MONO_EMIT_NULL_CHECK (cfg, array_reg, FALSE);
if (COMPILE_LLVM (cfg))
- MONO_EMIT_DEFAULT_BOUNDS_CHECK ((cfg), (array_reg), (array_length_offset), (index_reg), TRUE, ex_name);
+ MONO_EMIT_DEFAULT_BOUNDS_CHECK ((cfg), (array_reg), GINT_TO_UINT(array_length_offset), (index_reg), TRUE, ex_name);
else
MONO_ARCH_EMIT_BOUNDS_CHECK ((cfg), (array_reg), (array_length_offset), (index_reg), ex_name);
} else {
diff --git a/src/mono/mono/mini/linear-scan.c b/src/mono/mono/mini/linear-scan.c
index f3679d3b1de..36841852ad4 100644
--- a/src/mono/mono/mini/linear-scan.c
+++ b/src/mono/mono/mini/linear-scan.c
@@ -206,7 +206,7 @@ mono_linear_scan (MonoCompile *cfg, GList *vars, GList *regs, regmask_t *used_ma
vmv = (MonoMethodVar *)l->data;
if (vmv->reg >= 0) {
- if ((gains [vmv->reg] > mono_arch_regalloc_cost (cfg, vmv)) && (cfg->varinfo [vmv->idx]->opcode != OP_REGVAR)) {
+ if ((GINT_TO_UINT32(gains [vmv->reg]) > mono_arch_regalloc_cost (cfg, vmv)) && (cfg->varinfo [vmv->idx]->opcode != OP_REGVAR)) {
if (cfg->verbose_level > 2) {
printf ("ALLOCATED R%d(%d) TO HREG %d COST %d\n", cfg->varinfo [vmv->idx]->dreg, vmv->idx, vmv->reg, vmv->spill_costs);
}
@@ -482,7 +482,7 @@ mono_linear_scan2 (MonoCompile *cfg, GList *vars, GList *regs, regmask_t *used_m
/* During allocation, vmv->reg is an index into the regs list */
vmv->reg = GPOINTER_TO_INT (g_list_nth_data (regs, vmv->reg));
- if ((gains [reg_index] > regalloc_cost (cfg, vmv)) && (cfg->varinfo [vmv->idx]->opcode != OP_REGVAR)) {
+ if ((GINT_TO_UINT32(gains [reg_index]) > regalloc_cost (cfg, vmv)) && (cfg->varinfo [vmv->idx]->opcode != OP_REGVAR)) {
if (cfg->verbose_level > 2)
printf ("REGVAR R%d G%d C%d %s\n", cfg->varinfo [vmv->idx]->dreg, gains [reg_index], regalloc_cost (cfg, vmv), mono_arch_regname (vmv->reg));
cfg->varinfo [vmv->idx]->opcode = OP_REGVAR;
diff --git a/src/mono/mono/mini/lldb.c b/src/mono/mono/mini/lldb.c
index 8eb06c42a28..8d2a3be09e6 100644
--- a/src/mono/mono/mini/lldb.c
+++ b/src/mono/mono/mini/lldb.c
@@ -416,7 +416,7 @@ mono_lldb_save_method_info (MonoCompile *cfg)
Buffer tmpbuf;
Buffer *buf = &tmpbuf;
MonoDebugMethodInfo *minfo;
- int i, j, n_il_offsets;
+ int n_il_offsets;
int *source_files;
GPtrArray *source_file_list;
MonoSymSeqPoint *sym_seq_points;
@@ -466,17 +466,17 @@ mono_lldb_save_method_info (MonoCompile *cfg)
if (minfo && seq_points) {
mono_debug_get_seq_points (minfo, NULL, &source_file_list, &source_files, &sym_seq_points, &n_il_offsets);
buffer_add_int (buf, source_file_list->len);
- for (i = 0; i < source_file_list->len; ++i) {
+ for (guint i = 0; i < source_file_list->len; ++i) {
MonoDebugSourceInfo *sinfo = (MonoDebugSourceInfo *)g_ptr_array_index (source_file_list, i);
buffer_add_string (buf, sinfo->source_file);
- for (j = 0; j < 16; ++j)
+ for (guint j = 0; j < 16; ++j)
buffer_add_byte (buf, sinfo->hash [j]);
}
// The sym seq points are ordered by il offset, need to order them by address
int skipped = 0;
locs = g_new0 (FullSeqPoint, n_il_offsets);
- for (i = 0; i < n_il_offsets; ++i) {
+ for (int i = 0; i < n_il_offsets; ++i) {
locs [i].sp = sym_seq_points [i];
// FIXME: O(n^2)
@@ -492,7 +492,7 @@ mono_lldb_save_method_info (MonoCompile *cfg)
n_il_offsets -= skipped;
buffer_add_int (buf, n_il_offsets);
- for (i = 0; i < n_il_offsets; ++i) {
+ for (int i = 0; i < n_il_offsets; ++i) {
MonoSymSeqPoint *sp = &locs [i].sp;
//printf ("%s %x %d %d\n", cfg->method->name, locs [i].native_offset, sp->il_offset, sp->line);
diff --git a/src/mono/mono/mini/mini-amd64-gsharedvt.c b/src/mono/mono/mini/mini-amd64-gsharedvt.c
index b2a202195ca..0aa2f155900 100644
--- a/src/mono/mono/mini/mini-amd64-gsharedvt.c
+++ b/src/mono/mono/mini/mini-amd64-gsharedvt.c
@@ -264,7 +264,6 @@ mono_arch_get_gsharedvt_call_info (MonoMemoryManager *mem_manager, gpointer addr
GSharedVtCallInfo *info;
CallInfo *caller_cinfo, *callee_cinfo;
MonoMethodSignature *caller_sig, *callee_sig;
- int aindex, i;
gboolean var_ret = FALSE;
CallInfo *cinfo, *gcinfo;
MonoMethodSignature *sig;
@@ -318,7 +317,7 @@ mono_arch_get_gsharedvt_call_info (MonoMemoryManager *mem_manager, gpointer addr
*/
map = g_ptr_array_new ();
- for (aindex = 0; aindex < cinfo->nargs; ++aindex) {
+ for (int aindex = 0; aindex < cinfo->nargs; ++aindex) {
ArgInfo *src_info = &caller_cinfo->args [aindex];
ArgInfo *dst_info = &callee_cinfo->args [aindex];
int *src = NULL, *dst = NULL;
@@ -398,7 +397,7 @@ mono_arch_get_gsharedvt_call_info (MonoMemoryManager *mem_manager, gpointer addr
nslots = MIN (nsrc, ndst);
DEBUG_AMD64_GSHAREDVT_PRINT ("nsrc %d ndst %d\n", nsrc, ndst);
- for (i = 0; i < nslots; ++i)
+ for (int i = 0; i < nslots; ++i)
add_to_map (map, src [i], dst [i]);
g_free (src);
@@ -431,7 +430,7 @@ mono_arch_get_gsharedvt_call_info (MonoMemoryManager *mem_manager, gpointer addr
#ifdef DEBUG_AMD64_GSHAREDVT
printf ("final map:\n");
- for (i = 0; i < map->len; i += 2) {
+ for (guint i = 0; i < map->len; i += 2) {
printf ("\t[%d] src %x dst %x\n ",
i / 2,
GPOINTER_TO_UINT (g_ptr_array_index (map, i)),
@@ -441,7 +440,7 @@ mono_arch_get_gsharedvt_call_info (MonoMemoryManager *mem_manager, gpointer addr
info->vcall_offset = vcall_offset;
info->map_count = map->len / 2;
- for (i = 0; i < map->len; ++i)
+ for (guint i = 0; i < map->len; ++i)
info->map [i] = GPOINTER_TO_UINT (g_ptr_array_index (map, i));
g_ptr_array_free (map, TRUE);
diff --git a/src/mono/mono/mini/mini-profiler.c b/src/mono/mono/mini/mini-profiler.c
index 4be892fc8d1..9f28d9c9e8f 100644
--- a/src/mono/mono/mini/mini-profiler.c
+++ b/src/mono/mono/mini/mini-profiler.c
@@ -41,7 +41,7 @@ emit_fill_call_ctx (MonoCompile *cfg, MonoInst *method, MonoInst *ret)
MONO_ADD_INS (cfg->cbb, args_alloc);
MONO_EMIT_NEW_STORE_MEMBASE (cfg, OP_STORE_MEMBASE_REG, alloc->dreg, MONO_STRUCT_OFFSET (MonoProfilerCallContext, args), args_alloc->dreg);
- for (int i = 0; i < sig->hasthis + sig->param_count; ++i) {
+ for (guint i = 0; i < sig->hasthis + sig->param_count; ++i) {
NEW_VARLOADA (cfg, ins, cfg->args [i], cfg->args [i]->inst_vtype);
MONO_ADD_INS (cfg->cbb, ins);
diff --git a/src/mono/mono/mini/mini-runtime.c b/src/mono/mono/mini/mini-runtime.c
index a4f782a980a..e87480ee3c4 100644
--- a/src/mono/mono/mini/mini-runtime.c
+++ b/src/mono/mono/mini/mini-runtime.c
@@ -1867,13 +1867,12 @@ void
mini_init_gsctx (MonoMemPool *mp, MonoGenericContext *context, MonoGenericSharingContext *gsctx)
{
MonoGenericInst *inst;
- int i;
memset (gsctx, 0, sizeof (MonoGenericSharingContext));
if (context && context->class_inst) {
inst = context->class_inst;
- for (i = 0; i < inst->type_argc; ++i) {
+ for (guint i = 0; i < inst->type_argc; ++i) {
MonoType *type = inst->type_argv [i];
if (mini_is_gsharedvt_gparam (type))
@@ -1883,7 +1882,7 @@ mini_init_gsctx (MonoMemPool *mp, MonoGenericContext *context, MonoGenericSharin
if (context && context->method_inst) {
inst = context->method_inst;
- for (i = 0; i < inst->type_argc; ++i) {
+ for (guint i = 0; i < inst->type_argc; ++i) {
MonoType *type = inst->type_argv [i];
if (mini_is_gsharedvt_gparam (type))
@@ -2253,8 +2252,7 @@ unlock_compilation_data (void)
static JitCompilationEntry*
find_method (MonoMethod *method)
{
- int i;
- for (i = 0; i < compilation_data.in_flight_methods->len; ++i){
+ for (guint i = 0; i < compilation_data.in_flight_methods->len; ++i){
JitCompilationEntry *e = (JitCompilationEntry*)compilation_data.in_flight_methods->pdata [i];
if (e->method == method)
return e;
@@ -5157,7 +5155,7 @@ mono_precompile_assembly (MonoAssembly *ass, void *user_data)
GHashTable *assemblies = (GHashTable*)user_data;
MonoImage *image = mono_assembly_get_image_internal (ass);
MonoMethod *method, *invoke;
- int i, count = 0;
+ int count = 0;
if (g_hash_table_lookup (assemblies, ass))
return;
@@ -5167,7 +5165,7 @@ mono_precompile_assembly (MonoAssembly *ass, void *user_data)
if (mini_verbose > 0)
printf ("PRECOMPILE: %s.\n", mono_image_get_filename (image));
- for (i = 0; i < mono_image_get_table_rows (image, MONO_TABLE_METHOD); ++i) {
+ for (guint32 i = 0; i < table_info_get_rows (&image->tables [MONO_TABLE_METHOD]); ++i) {
ERROR_DECL (error);
method = mono_get_method_checked (image, MONO_TOKEN_METHOD_DEF | (i + 1), NULL, NULL, error);
@@ -5199,7 +5197,7 @@ mono_precompile_assembly (MonoAssembly *ass, void *user_data)
}
/* Load and precompile referenced assemblies as well */
- for (i = 0; i < mono_image_get_table_rows (image, MONO_TABLE_ASSEMBLYREF); ++i) {
+ for (guint32 i = 0; i < table_info_get_rows (&image->tables [MONO_TABLE_ASSEMBLYREF]); ++i) {
mono_assembly_load_reference (image, i);
if (image->references [i])
mono_precompile_assembly (image->references [i], assemblies);
diff --git a/src/mono/mono/mini/mini.c b/src/mono/mono/mini/mini.c
index 1dbb295ae38..67c90ddac59 100644
--- a/src/mono/mono/mini/mini.c
+++ b/src/mono/mono/mini/mini.c
@@ -4405,7 +4405,7 @@ mini_class_is_system_array (MonoClass *klass)
*
* query pagesize used to determine if an implicit NRE can be used
*/
-int
+guint
mono_target_pagesize (void)
{
/* We could query the system's pagesize via mono_pagesize (), however there
diff --git a/src/mono/mono/mini/mini.h b/src/mono/mono/mini/mini.h
index cfe3d929ac9..72c4623667f 100644
--- a/src/mono/mono/mini/mini.h
+++ b/src/mono/mono/mini/mini.h
@@ -1287,8 +1287,8 @@ typedef enum {
#define vreg_is_volatile(cfg, vreg) (G_UNLIKELY (get_vreg_to_inst ((cfg), (vreg)) && (get_vreg_to_inst ((cfg), (vreg))->flags & (MONO_INST_VOLATILE|MONO_INST_INDIRECT))))
-#define vreg_is_ref(cfg, vreg) ((vreg) < (cfg)->vreg_is_ref_len ? (cfg)->vreg_is_ref [(vreg)] : 0)
-#define vreg_is_mp(cfg, vreg) ((vreg) < (cfg)->vreg_is_mp_len ? (cfg)->vreg_is_mp [(vreg)] : 0)
+#define vreg_is_ref(cfg, vreg) (GINT_TO_UINT32(vreg) < (cfg)->vreg_is_ref_len ? (cfg)->vreg_is_ref [(vreg)] : 0)
+#define vreg_is_mp(cfg, vreg) (GINT_TO_UINT32(vreg) < (cfg)->vreg_is_mp_len ? (cfg)->vreg_is_mp [(vreg)] : 0)
/*
* Control Flow Graph and compilation unit information
@@ -2208,7 +2208,7 @@ MonoInst* mono_emit_jit_icall_id (MonoCompile *cfg, MonoJitICallId jit_icall_id,
MonoInst* mono_emit_jit_icall_by_info (MonoCompile *cfg, int il_offset, MonoJitICallInfo *info, MonoInst **args);
MonoInst* mono_emit_method_call (MonoCompile *cfg, MonoMethod *method, MonoInst **args, MonoInst *this_ins);
gboolean mini_should_insert_breakpoint (MonoMethod *method);
-int mono_target_pagesize (void);
+guint mono_target_pagesize (void);
gboolean mini_class_is_system_array (MonoClass *klass);
diff --git a/src/mono/mono/mini/monovm.c b/src/mono/mono/mini/monovm.c
index 83916e8af5c..144594276f2 100644
--- a/src/mono/mono/mini/monovm.c
+++ b/src/mono/mono/mini/monovm.c
@@ -113,7 +113,7 @@ mono_core_preload_hook (MonoAssemblyLoadContext *alc, MonoAssemblyName *aname, c
size_t basename_len;
basename_len = strlen (basename);
- for (int i = 0; i < a->assembly_count; ++i) {
+ for (guint32 i = 0; i < a->assembly_count; ++i) {
if (basename_len == a->basename_lens [i] && !g_strncasecmp (basename, a->basenames [i], a->basename_lens [i])) {
MonoAssemblyOpenRequest req;
mono_assembly_request_prepare_open (&req, default_alc);
diff --git a/src/mono/mono/mini/seq-points.c b/src/mono/mono/mini/seq-points.c
index b7b34e956cb..b998c6c86d9 100644
--- a/src/mono/mono/mini/seq-points.c
+++ b/src/mono/mono/mini/seq-points.c
@@ -104,7 +104,7 @@ mono_save_seq_point_info (MonoCompile *cfg, MonoJitInfo *jinfo)
MonoBasicBlock *bb;
GSList *bb_seq_points, *l;
MonoInst *last;
- int i, seq_info_size;
+ int seq_info_size;
GSList **next = NULL;
SeqPoint* seq_points;
GByteArray* array;
@@ -115,7 +115,7 @@ mono_save_seq_point_info (MonoCompile *cfg, MonoJitInfo *jinfo)
seq_points = g_new0 (SeqPoint, cfg->seq_points->len);
- for (i = 0; i < cfg->seq_points->len; ++i) {
+ for (guint i = 0; i < cfg->seq_points->len; ++i) {
SeqPoint *sp = &seq_points [i];
MonoInst *ins = (MonoInst *)g_ptr_array_index (cfg->seq_points, i);
sp->il_offset = GTMREG_TO_INT (ins->inst_imm);
@@ -185,7 +185,7 @@ mono_save_seq_point_info (MonoCompile *cfg, MonoJitInfo *jinfo)
if (cfg->verbose_level > 2) {
printf ("\nSEQ POINT MAP: \n");
- for (i = 0; i < cfg->seq_points->len; ++i) {
+ for (guint i = 0; i < cfg->seq_points->len; ++i) {
SeqPoint *sp = &seq_points [i];
if (!next [i])
@@ -207,7 +207,7 @@ mono_save_seq_point_info (MonoCompile *cfg, MonoJitInfo *jinfo)
SeqPoint zero_seq_point = {0};
SeqPoint* last_seq_point = &zero_seq_point;
- for (i = 0; i < cfg->seq_points->len; ++i) {
+ for (guint i = 0; i < cfg->seq_points->len; ++i) {
SeqPoint *sp = &seq_points [i];
GSList* next_list = NULL;
diff --git a/src/mono/mono/mini/unwind.c b/src/mono/mono/mini/unwind.c
index 320330d56a0..409799b9a1f 100644
--- a/src/mono/mono/mini/unwind.c
+++ b/src/mono/mono/mini/unwind.c
@@ -393,7 +393,7 @@ guint8*
mono_unwind_ops_encode_full (GSList *unwind_ops, guint32 *out_len, gboolean enable_extensions)
{
MonoUnwindOp *op;
- int loc = 0;
+ guint32 loc = 0;
guint8 buf [4096];
guint8 *p, *res;
diff --git a/src/mono/mono/profiler/aot.c b/src/mono/mono/profiler/aot.c
index 45bed109354..44d157e2b3d 100644
--- a/src/mono/mono/profiler/aot.c
+++ b/src/mono/mono/profiler/aot.c
@@ -115,7 +115,7 @@ match_option (const char *arg, const char *opt_name, const char **rval)
if (!end)
return !strcmp (arg, opt_name);
- if (strncmp (arg, opt_name, strlen (opt_name)) || (end - arg) > strlen (opt_name) + 1)
+ if (strncmp (arg, opt_name, strlen (opt_name)) || (end - arg) > GSIZE_TO_SSIZE(strlen (opt_name)) + 1)
return FALSE;
*rval = end + 1;
return TRUE;
@@ -526,12 +526,12 @@ add_type (MonoProfiler *prof, MonoType *type)
static int
add_ginst (MonoProfiler *prof, MonoGenericInst *inst)
{
- int i, id;
+ int id;
int *ids;
// FIXME: Cache
ids = g_malloc0 (inst->type_argc * sizeof (int));
- for (i = 0; i < inst->type_argc; ++i) {
+ for (guint i = 0; i < inst->type_argc; ++i) {
MonoType *t = inst->type_argv [i];
ids [i] = add_type (prof, t);
if (ids [i] == -1) {
@@ -542,7 +542,7 @@ add_ginst (MonoProfiler *prof, MonoGenericInst *inst)
id = prof->id ++;
emit_record (prof, AOTPROF_RECORD_GINST, id);
emit_int32 (prof, inst->type_argc);
- for (i = 0; i < inst->type_argc; ++i)
+ for (guint i = 0; i < inst->type_argc; ++i)
emit_int32 (prof, ids [i]);
g_free (ids);
@@ -631,7 +631,6 @@ prof_save (MonoProfiler *prof, FILE* file)
if (already_shutdown)
return;
- int mindex;
char magic [32];
prof->buf_len = 4096;
@@ -645,7 +644,7 @@ prof_save (MonoProfiler *prof, FILE* file)
GHashTable *all_methods = g_hash_table_new (NULL, NULL);
mono_os_mutex_lock (&prof->mutex);
- for (mindex = 0; mindex < prof->methods->len; ++mindex) {
+ for (guint mindex = 0; mindex < prof->methods->len; ++mindex) {
MonoMethod *m = (MonoMethod*)g_ptr_array_index (prof->methods, mindex);
if (!mono_method_get_token (m))
diff --git a/src/mono/mono/utils/lock-free-alloc.c b/src/mono/mono/utils/lock-free-alloc.c
index 90b7e8d7f79..e90731ca86f 100644
--- a/src/mono/mono/utils/lock-free-alloc.c
+++ b/src/mono/mono/utils/lock-free-alloc.c
@@ -526,11 +526,11 @@ mono_lock_free_free (gpointer ptr, size_t block_size)
static void
descriptor_check_consistency (Descriptor *desc, gboolean print)
{
- int count = desc->anchor.data.count;
- int max_count = LOCK_FREE_ALLOC_SB_USABLE_SIZE (desc->block_size) / desc->slot_size;
+ guint32 count = desc->anchor.data.count;
+ guint32 max_count = LOCK_FREE_ALLOC_SB_USABLE_SIZE (desc->block_size) / desc->slot_size;
gboolean* linked = g_newa (gboolean, max_count);
- int i, last;
- unsigned int index;
+ int last;
+ guint32 index;
#ifndef DESC_AVAIL_DUMMY
Descriptor *avail;
@@ -564,12 +564,12 @@ descriptor_check_consistency (Descriptor *desc, gboolean print)
g_assert_OR_PRINT (FALSE, "invalid state\n");
}
- for (i = 0; i < max_count; ++i)
+ for (guint32 i = 0; i < max_count; ++i)
linked [i] = FALSE;
index = desc->anchor.data.avail;
last = -1;
- for (i = 0; i < count; ++i) {
+ for (guint32 i = 0; i < count; ++i) {
gpointer addr = (char*)desc->sb + index * desc->slot_size;
g_assert_OR_PRINT (index >= 0 && index < max_count,
"index %d for %dth available slot, linked from %d, not in range [0 .. %d)\n",
diff --git a/src/mono/mono/utils/mono-flight-recorder.c b/src/mono/mono/utils/mono-flight-recorder.c
index ab14f4fe578..00e07a58b8b 100644
--- a/src/mono/mono/utils/mono-flight-recorder.c
+++ b/src/mono/mono/utils/mono-flight-recorder.c
@@ -35,7 +35,7 @@ mono_flight_recorder_iter_init (MonoFlightRecorder *recorder, MonoFlightRecorder
if (recorder->cursor == MONO_FLIGHT_RECORDER_SENTINEL) {
iter->lowest_index = MONO_FLIGHT_RECORDER_SENTINEL;
iter->highest_index = MONO_FLIGHT_RECORDER_SENTINEL;
- } else if (recorder->cursor >= recorder->max_count) {
+ } else if (GINTPTR_TO_SIZE(recorder->cursor) >= recorder->max_count) {
// Ring buffer has wrapped around
// So the item *after* the highest index is the lowest index
iter->highest_index = (recorder->cursor + 1) % recorder->max_count;
@@ -62,14 +62,14 @@ mono_flight_recorder_iter_next (MonoFlightRecorderIter *iter, MonoFlightRecorder
return FALSE;
g_assert (iter->lowest_index >= 0);
- g_assert (iter->lowest_index < iter->recorder->max_count);
+ g_assert (GINTPTR_TO_SIZE(iter->lowest_index) < iter->recorder->max_count);
// Reference to the variably-sized logging payload
memcpy (payload, (gpointer *) &iter->recorder->items [iter->lowest_index]->payload, iter->recorder->payload_size);
memcpy (header, (gpointer *) &iter->recorder->items [iter->lowest_index]->header, sizeof (MonoFlightRecorderHeader));
iter->lowest_index++;
- if (iter->lowest_index >= iter->recorder->max_count)
+ if (GINTPTR_TO_SIZE(iter->lowest_index) >= iter->recorder->max_count)
iter->lowest_index = iter->lowest_index % iter->recorder->max_count;
return TRUE;
diff --git a/src/mono/mono/utils/mono-poll.c b/src/mono/mono/utils/mono-poll.c
index 20091c34e6d..316f36147a5 100644
--- a/src/mono/mono/utils/mono-poll.c
+++ b/src/mono/mono/utils/mono-poll.c
@@ -62,7 +62,7 @@ int
mono_poll (mono_pollfd *ufds, unsigned int nfds, int timeout)
{
struct timeval tv, *tvptr;
- int i, fd, events, affected, count;
+ int fd, events, affected, count;
fd_set rfds, wfds, efds;
int nexc = 0;
int maxfd = 0;
@@ -79,7 +79,7 @@ mono_poll (mono_pollfd *ufds, unsigned int nfds, int timeout)
FD_ZERO (&wfds);
FD_ZERO (&efds);
- for (i = 0; i < nfds; i++) {
+ for (unsigned int i = 0; i < nfds; i++) {
ufds [i].revents = 0;
fd = ufds [i].fd;
if (fd < 0)
@@ -133,7 +133,7 @@ mono_poll (mono_pollfd *ufds, unsigned int nfds, int timeout)
}
count = 0;
- for (i = 0; i < nfds && affected > 0; i++) {
+ for (unsigned int i = 0; i < nfds && affected > 0; i++) {
fd = ufds [i].fd;
if (fd < 0)
continue;
diff --git a/src/mono/mono/utils/monobitset.h b/src/mono/mono/utils/monobitset.h
index b91bb7eafe9..c73cdd38a5e 100644
--- a/src/mono/mono/utils/monobitset.h
+++ b/src/mono/mono/utils/monobitset.h
@@ -34,11 +34,11 @@ enum {
do \
{ \
MonoBitSet *__set = (set); \
- for (int __i = 0; __i < __set->size / MONO_BITSET_BITS_PER_CHUNK; __i++) { \
+ for (gsize __i = 0; __i < __set->size / MONO_BITSET_BITS_PER_CHUNK; __i++) { \
if (__set->data [__i]) { \
- for (int __j = 0; __j < MONO_BITSET_BITS_PER_CHUNK; __j++) { \
+ for (gsize __j = 0; __j < MONO_BITSET_BITS_PER_CHUNK; __j++) { \
if (__set->data [__i] & ((gsize) 1 << __j)) { \
- guint idx = __j + __i * MONO_BITSET_BITS_PER_CHUNK; \
+ gsize idx = __j + __i * MONO_BITSET_BITS_PER_CHUNK; \
__VA_ARGS__; \
} \
} \
diff --git a/src/native/public/mono/metadata/details/image-functions.h b/src/native/public/mono/metadata/details/image-functions.h
index 6866bf39ec0..b8575333822 100644
--- a/src/native/public/mono/metadata/details/image-functions.h
+++ b/src/native/public/mono/metadata/details/image-functions.h
@@ -42,8 +42,8 @@ MONO_API_FUNCTION(mono_bool, mono_image_is_dynamic, (MonoImage *image))
MONO_API_FUNCTION(char*, mono_image_rva_map, (MonoImage *image, uint32_t rva))
MONO_API_FUNCTION(const MonoTableInfo *, mono_image_get_table_info, (MonoImage *image, int table_id))
-MONO_API_FUNCTION(int, mono_image_get_table_rows, (MonoImage *image, int table_id))
-MONO_API_FUNCTION(int, mono_table_info_get_rows, (const MonoTableInfo *table))
+MONO_API_FUNCTION(MONO_RT_EXTERNAL_ONLY int, mono_image_get_table_rows, (MonoImage *image, int table_id))
+MONO_API_FUNCTION(MONO_RT_EXTERNAL_ONLY int, mono_table_info_get_rows, (const MonoTableInfo *table))
/* This actually returns a MonoPEResourceDataEntry *, but declaring it
* causes an include file loop.