Logo AND Algorithmique Numérique Distribuée

Public GIT Repository
Correctly cast pointers into uintptr_t to fit into the (stupid) LLP64 data model
authorMartin Quinson <martin.quinson@loria.fr>
Mon, 21 Sep 2015 07:21:49 +0000 (09:21 +0200)
committerMartin Quinson <martin.quinson@loria.fr>
Mon, 21 Sep 2015 07:30:29 +0000 (09:30 +0200)
src/bindings/java/jmsg_as.c
src/bindings/java/jmsg_comm.c
src/bindings/java/jmsg_host.c
src/bindings/java/jmsg_storage.c
src/bindings/java/jmsg_synchro.c
src/bindings/java/jmsg_task.c
src/msg/msg_gos.c
src/msg/msg_task.c
src/simix/smx_context_raw.c

index 599ea7a..85dbcb3 100644 (file)
@@ -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
index de3cf7b..061a528 100644 (file)
@@ -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;
index a64a831..4b82931 100644 (file)
@@ -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) {
index 8b24343..d3fd8db 100644 (file)
@@ -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) {
index fc43650..23d1fd2 100644 (file)
@@ -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);
 }
index b2ecd2e..b8048f0 100644 (file)
@@ -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);
index 7b0f6ee..fcafb21 100644 (file)
@@ -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,
index 5e78505..3db6204 100644 (file)
@@ -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));
index 0161c31..60fad15 100644 (file)
@@ -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);