From 336c071af62d0d9e3b4a445cfb2a834287fe722f Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Mon, 21 Sep 2015 09:21:49 +0200 Subject: [PATCH] Correctly cast pointers into uintptr_t to fit into the (stupid) LLP64 data model --- src/bindings/java/jmsg_as.c | 4 ++-- src/bindings/java/jmsg_comm.c | 10 +++++----- src/bindings/java/jmsg_host.c | 4 ++-- src/bindings/java/jmsg_storage.c | 4 ++-- src/bindings/java/jmsg_synchro.c | 18 +++++++++--------- src/bindings/java/jmsg_task.c | 16 ++++++++-------- src/msg/msg_gos.c | 2 +- src/msg/msg_task.c | 4 ++-- src/simix/smx_context_raw.c | 4 ++-- 9 files changed, 33 insertions(+), 33 deletions(-) diff --git a/src/bindings/java/jmsg_as.c b/src/bindings/java/jmsg_as.c index 599ea7ad44..85dbcb35bf 100644 --- a/src/bindings/java/jmsg_as.c +++ b/src/bindings/java/jmsg_as.c @@ -34,11 +34,11 @@ void jas_unref(JNIEnv * env, jobject jas) { } void jas_bind(jobject jas, msg_as_t as, JNIEnv * env) { - (*env)->SetLongField(env, jas, jas_field_As_bind, (jlong) (long) (as)); + (*env)->SetLongField(env, jas, jas_field_As_bind, (jlong) (uintptr_t) (as)); } msg_as_t jas_get_native(JNIEnv * env, jobject jas) { - return (msg_as_t) (long) (*env)->GetLongField(env, jas, jas_field_As_bind); + return (msg_as_t) (uintptr_t) (*env)->GetLongField(env, jas, jas_field_As_bind); } JNIEXPORT void JNICALL diff --git a/src/bindings/java/jmsg_comm.c b/src/bindings/java/jmsg_comm.c index de3cf7b8e9..061a5289f1 100644 --- a/src/bindings/java/jmsg_comm.c +++ b/src/bindings/java/jmsg_comm.c @@ -20,7 +20,7 @@ static jfieldID jtask_field_Comm_task; static jfieldID jcomm_field_Comm_taskBind; void jcomm_bind_task(JNIEnv *env, jobject jcomm) { - msg_comm_t comm = (msg_comm_t) (long) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind); + msg_comm_t comm = (msg_comm_t) (uintptr_t) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind); //test if we are receiving or sending a task. jboolean jreceiving = (*env)->GetBooleanField(env, jcomm, jcomm_field_Comm_receiving); if (jreceiving == JNI_TRUE) { @@ -66,17 +66,17 @@ Java_org_simgrid_msg_Comm_nativeFinalize(JNIEnv *env, jobject jcomm) { msg_comm_t comm; msg_task_t *task_received; - task_received = (msg_task_t*) (long) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_taskBind); + task_received = (msg_task_t*) (uintptr_t) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_taskBind); xbt_free(task_received); - comm = (msg_comm_t) (long) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind); + comm = (msg_comm_t) (uintptr_t) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind); MSG_comm_destroy(comm); } JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_Comm_test(JNIEnv *env, jobject jcomm) { msg_comm_t comm; - comm = (msg_comm_t) (long) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind); + comm = (msg_comm_t) (uintptr_t) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind); jboolean finished = (*env)->GetBooleanField(env, jcomm, jcomm_field_Comm_finished); if (finished == JNI_TRUE) { @@ -102,7 +102,7 @@ Java_org_simgrid_msg_Comm_test(JNIEnv *env, jobject jcomm) { } JNIEXPORT void JNICALL Java_org_simgrid_msg_Comm_waitCompletion(JNIEnv *env, jobject jcomm, jdouble timeout) { - msg_comm_t comm = (msg_comm_t) (long) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind); + msg_comm_t comm = (msg_comm_t) (uintptr_t) (*env)->GetLongField(env, jcomm, jcomm_field_Comm_bind); if (!comm) { jxbt_throw_native(env,bprintf("comm is null")); return; diff --git a/src/bindings/java/jmsg_host.c b/src/bindings/java/jmsg_host.c index a64a8313b3..4b829310be 100644 --- a/src/bindings/java/jmsg_host.c +++ b/src/bindings/java/jmsg_host.c @@ -34,11 +34,11 @@ void jhost_unref(JNIEnv * env, jobject jhost) { } void jhost_bind(jobject jhost, msg_host_t host, JNIEnv * env) { - (*env)->SetLongField(env, jhost, jhost_field_Host_bind, (jlong) (long) (host)); + (*env)->SetLongField(env, jhost, jhost_field_Host_bind, (jlong) (uintptr_t) (host)); } msg_host_t jhost_get_native(JNIEnv * env, jobject jhost) { - return (msg_host_t) (long) (*env)->GetLongField(env, jhost, jhost_field_Host_bind); + return (msg_host_t) (uintptr_t) (*env)->GetLongField(env, jhost, jhost_field_Host_bind); } const char *jhost_get_name(jobject jhost, JNIEnv * env) { diff --git a/src/bindings/java/jmsg_storage.c b/src/bindings/java/jmsg_storage.c index 8b243432f6..d3fd8db936 100644 --- a/src/bindings/java/jmsg_storage.c +++ b/src/bindings/java/jmsg_storage.c @@ -24,7 +24,7 @@ jobject jstorage_new_instance(JNIEnv * env) { } msg_storage_t jstorage_get_native(JNIEnv * env, jobject jstorage) { - return (msg_storage_t) (long) (*env)->GetLongField(env, jstorage, jstorage_field_Storage_bind); + return (msg_storage_t) (uintptr_t) (*env)->GetLongField(env, jstorage, jstorage_field_Storage_bind); } JNIEXPORT void JNICALL @@ -39,7 +39,7 @@ Java_org_simgrid_msg_Storage_nativeInit(JNIEnv *env, jclass cls) { } void jstorage_bind(jobject jstorage, msg_storage_t storage, JNIEnv * env) { - (*env)->SetLongField(env, jstorage, jstorage_field_Storage_bind, (jlong) (long) (storage)); + (*env)->SetLongField(env, jstorage, jstorage_field_Storage_bind, (jlong) (uintptr_t) (storage)); } jobject jstorage_ref(JNIEnv * env, jobject jstorage) { diff --git a/src/bindings/java/jmsg_synchro.c b/src/bindings/java/jmsg_synchro.c index fc43650be1..23d1fd29b2 100644 --- a/src/bindings/java/jmsg_synchro.c +++ b/src/bindings/java/jmsg_synchro.c @@ -26,14 +26,14 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Mutex_init(JNIEnv * env, jobject obj) { xbt_mutex_t mutex = xbt_mutex_init(); - (*env)->SetLongField(env, obj, jsyncro_field_Mutex_bind, (jlong) (long) (mutex)); + (*env)->SetLongField(env, obj, jsyncro_field_Mutex_bind, (jlong) (uintptr_t) (mutex)); } JNIEXPORT void JNICALL Java_org_simgrid_msg_Mutex_acquire(JNIEnv * env, jobject obj) { xbt_mutex_t mutex; - mutex = (xbt_mutex_t) (long) (*env)->GetLongField(env, obj, jsyncro_field_Mutex_bind); + mutex = (xbt_mutex_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Mutex_bind); xbt_ex_t e; TRY { xbt_mutex_acquire(mutex); @@ -47,7 +47,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Mutex_release(JNIEnv * env, jobject obj) { xbt_mutex_t mutex; - mutex = (xbt_mutex_t) (long) (*env)->GetLongField(env, obj, jsyncro_field_Mutex_bind); + mutex = (xbt_mutex_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Mutex_bind); xbt_mutex_release(mutex); } @@ -55,7 +55,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Mutex_nativeFinalize(JNIEnv * env, jobject obj) { xbt_mutex_t mutex; - mutex = (xbt_mutex_t) (long) (*env)->GetLongField(env, obj, jsyncro_field_Mutex_bind); + mutex = (xbt_mutex_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Mutex_bind); xbt_mutex_destroy(mutex); } @@ -72,7 +72,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Semaphore_init(JNIEnv * env, jobject obj, jint capacity) { msg_sem_t sem = MSG_sem_init((int) capacity); - (*env)->SetLongField(env, obj, jsyncro_field_Semaphore_bind, (jlong) (long) (sem)); + (*env)->SetLongField(env, obj, jsyncro_field_Semaphore_bind, (jlong) (uintptr_t) (sem)); } @@ -80,7 +80,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Semaphore_acquire(JNIEnv * env, jobject obj, jdouble timeout) { msg_sem_t sem; - sem = (msg_sem_t) (long) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind); + sem = (msg_sem_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind); msg_error_t res = MSG_sem_acquire_timeout(sem, (double) timeout); if (res != MSG_OK) { jmsg_throw_status(env, res); @@ -91,14 +91,14 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Semaphore_release(JNIEnv * env, jobject obj) { msg_sem_t sem; - sem = (msg_sem_t) (long) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind); + sem = (msg_sem_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind); MSG_sem_release(sem); } JNIEXPORT jboolean JNICALL Java_org_simgrid_msg_Semaphore_wouldBlock(JNIEnv * env, jobject obj) { msg_sem_t sem; - sem = (msg_sem_t) (long) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind); + sem = (msg_sem_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind); int res = MSG_sem_would_block(sem); return (jboolean) res; } @@ -107,6 +107,6 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Semaphore_nativeFinalize(JNIEnv * env, jobject obj) { msg_sem_t sem; - sem = (msg_sem_t) (long) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind); + sem = (msg_sem_t) (uintptr_t) (*env)->GetLongField(env, obj, jsyncro_field_Semaphore_bind); MSG_sem_destroy(sem); } diff --git a/src/bindings/java/jmsg_task.c b/src/bindings/java/jmsg_task.c index b2ecd2ed86..b8048f0681 100644 --- a/src/bindings/java/jmsg_task.c +++ b/src/bindings/java/jmsg_task.c @@ -482,8 +482,8 @@ Java_org_simgrid_msg_Task_irecv(JNIEnv * env, jclass cls, jstring jmailbox) { comm = MSG_task_irecv(task,mailbox); - (*env)->SetLongField(env, jcomm, jtask_field_Comm_bind, (jlong) (long)(comm)); - (*env)->SetLongField(env, jcomm, jtask_field_Comm_taskBind, (jlong) (long)(task)); + (*env)->SetLongField(env, jcomm, jtask_field_Comm_bind, (jlong) (uintptr_t)(comm)); + (*env)->SetLongField(env, jcomm, jtask_field_Comm_taskBind, (jlong) (uintptr_t)(task)); (*env)->SetBooleanField(env, jcomm, jtask_field_Comm_receiving, JNI_TRUE); (*env)->ReleaseStringUTFChars(env, jmailbox, mailbox); @@ -564,8 +564,8 @@ Java_org_simgrid_msg_Task_irecvBounded(JNIEnv * env, jclass cls, comm = MSG_task_irecv_bounded(task,mailbox, (double) rate); - (*env)->SetLongField(env, jcomm, jtask_field_Comm_bind, (jlong) (long)(comm)); - (*env)->SetLongField(env, jcomm, jtask_field_Comm_taskBind, (jlong) (long)(task)); + (*env)->SetLongField(env, jcomm, jtask_field_Comm_bind, (jlong) (uintptr_t)(comm)); + (*env)->SetLongField(env, jcomm, jtask_field_Comm_taskBind, (jlong) (uintptr_t)(task)); (*env)->SetBooleanField(env, jcomm, jtask_field_Comm_receiving, JNI_TRUE); (*env)->ReleaseStringUTFChars(env, jmailbox, mailbox); @@ -603,8 +603,8 @@ Java_org_simgrid_msg_Task_isend(JNIEnv *env, jobject jtask, jstring jmailbox) { MSG_task_set_data(task, (void *) (*env)->NewGlobalRef(env, jtask)); comm = MSG_task_isend(task,mailbox); - (*env)->SetLongField(env, jcomm, jtask_field_Comm_bind, (jlong) (long)(comm)); - (*env)->SetLongField(env, jcomm, jtask_field_Comm_taskBind, (jlong) (long)(NULL)); + (*env)->SetLongField(env, jcomm, jtask_field_Comm_bind, (jlong) (uintptr_t)(comm)); + (*env)->SetLongField(env, jcomm, jtask_field_Comm_taskBind, (jlong) (uintptr_t)(NULL)); (*env)->SetBooleanField(env, jcomm, jtask_field_Comm_receiving, JNI_FALSE); (*env)->ReleaseStringUTFChars(env, jmailbox, mailbox); @@ -642,8 +642,8 @@ Java_org_simgrid_msg_Task_isendBounded(JNIEnv *env, jobject jtask, jstring jmail MSG_task_set_data(task, (void *) (*env)->NewGlobalRef(env, jtask)); comm = MSG_task_isend_bounded(task,mailbox,maxrate); - (*env)->SetLongField(env, jcomm, jtask_field_Comm_bind, (jlong) (long)(comm)); - (*env)->SetLongField(env, jcomm, jtask_field_Comm_taskBind, (jlong) (long)(NULL)); + (*env)->SetLongField(env, jcomm, jtask_field_Comm_bind, (jlong) (uintptr_t)(comm)); + (*env)->SetLongField(env, jcomm, jtask_field_Comm_taskBind, (jlong) (uintptr_t)(NULL)); (*env)->SetBooleanField(env, jcomm, jtask_field_Comm_receiving, JNI_FALSE); (*env)->ReleaseStringUTFChars(env, jmailbox, mailbox); diff --git a/src/msg/msg_gos.c b/src/msg/msg_gos.c index 7b0f6ee130..fcafb21976 100644 --- a/src/msg/msg_gos.c +++ b/src/msg/msg_gos.c @@ -81,7 +81,7 @@ msg_error_t MSG_parallel_task_execute(msg_task_t task) 1.0, -1.0); XBT_DEBUG("Parallel execution action created: %p", simdata->compute); } else { - unsigned long affinity_mask = (unsigned long) xbt_dict_get_or_null_ext(simdata->affinity_mask_db, (char *) p_simdata->m_host, sizeof(msg_host_t)); + unsigned long affinity_mask = (unsigned long)(uintptr_t) xbt_dict_get_or_null_ext(simdata->affinity_mask_db, (char *) p_simdata->m_host, sizeof(msg_host_t)); XBT_DEBUG("execute %s@%s with affinity(0x%04lx)", MSG_task_get_name(task), MSG_host_get_name(p_simdata->m_host), affinity_mask); simdata->compute = simcall_process_execute(task->name, diff --git a/src/msg/msg_task.c b/src/msg/msg_task.c index 5e78505d64..3db6204fbd 100644 --- a/src/msg/msg_task.c +++ b/src/msg/msg_task.c @@ -489,7 +489,7 @@ void MSG_task_set_affinity(msg_task_t task, msg_host_t host, unsigned long mask) xbt_dict_remove_ext(task->simdata->affinity_mask_db, (char *) host, sizeof(host)); } } else - xbt_dict_set_ext(task->simdata->affinity_mask_db, (char *) host, sizeof(host), (void *) mask, NULL); + xbt_dict_set_ext(task->simdata->affinity_mask_db, (char *) host, sizeof(host), (void *)(uintptr_t) mask, NULL); /* We set affinity data of this task. If the task is being executed, we * actually change the affinity setting of the task. Otherwise, this change @@ -513,7 +513,7 @@ void MSG_task_set_affinity(msg_task_t task, msg_host_t host, unsigned long mask) /* task is being executed on this host. so change the affinity now */ { /* check it works. remove me if it works. */ - xbt_assert((unsigned long) xbt_dict_get_or_null_ext(task->simdata->affinity_mask_db, (char *) host, sizeof(msg_host_t)) == mask); + xbt_assert((unsigned long)(uintptr_t) xbt_dict_get_or_null_ext(task->simdata->affinity_mask_db, (char *) host, sizeof(msg_host_t)) == mask); } XBT_INFO("set affinity(0x%04lx@%s) for %s", mask, MSG_host_get_name(host), MSG_task_get_name(task)); diff --git a/src/simix/smx_context_raw.c b/src/simix/smx_context_raw.c index 0161c318d8..60fad1596b 100644 --- a/src/simix/smx_context_raw.c +++ b/src/simix/smx_context_raw.c @@ -552,7 +552,7 @@ static void smx_ctx_raw_suspend_parallel(smx_context_t context) XBT_DEBUG("No more processes to run"); unsigned long worker_id = - (unsigned long) xbt_os_thread_get_specific(raw_worker_id_key); + (unsigned long)(uintptr_t) xbt_os_thread_get_specific(raw_worker_id_key); next_context = (smx_context_t)raw_workers_context[worker_id]; XBT_DEBUG("Restoring worker stack %lu (working threads = %lu)", @@ -574,7 +574,7 @@ static void smx_ctx_raw_resume_parallel(smx_process_t first_process) { #ifdef CONTEXT_THREADS unsigned long worker_id = __sync_fetch_and_add(&raw_threads_working, 1); - xbt_os_thread_set_specific(raw_worker_id_key, (void*) worker_id); + xbt_os_thread_set_specific(raw_worker_id_key, (void*)(uintptr_t) worker_id); smx_ctx_raw_t worker_context = (smx_ctx_raw_t)SIMIX_context_self(); raw_workers_context[worker_id] = worker_context; XBT_DEBUG("Saving worker stack %lu", worker_id); -- 2.20.1