From e0dd9bd2e74f1d0c276d623b627819930ca43948 Mon Sep 17 00:00:00 2001 From: Gilles Gouaillardet Date: Mon, 29 Jun 2015 09:50:37 +0900 Subject: [PATCH] Fix java bindings disaster that commit fixes : - open-mpi/ompi@224f97b00989c2c51e4582f79ee530f1a8008b4a - open-mpi/ompi@ade7de549c09cff11d17da05b5882c2adb23d162 - open-mpi/ompi@08363446735cec1c4ea1075c8a757101add70813 - open-mpi/ompi@7e0581c85395c2a2b6e607c94d9a1b9a775ff468 - open-mpi/ompi@d948a439937de2559b745daf7c415a22c5b26981 --- ompi/mpi/java/c/mpi_MPI.c | 2 +- ompi/mpi/java/c/mpi_Win.c | 13 ++++++------- ompi/mpi/java/java/Comm.java | 12 ------------ ompi/mpi/java/java/Win.java | 17 +++++++++-------- 4 files changed, 16 insertions(+), 28 deletions(-) diff --git a/ompi/mpi/java/c/mpi_MPI.c b/ompi/mpi/java/c/mpi_MPI.c index f0fe93eca3..fcdd4966b5 100644 --- a/ompi/mpi/java/c/mpi_MPI.c +++ b/ompi/mpi/java/c/mpi_MPI.c @@ -78,7 +78,7 @@ ompi_java_globals_t ompi_java = {0}; int ompi_mpi_java_eager = 65536; -opal_free_list_t ompi_java_buffers = {0}; +opal_free_list_t ompi_java_buffers = {{0}}; static void *libmpi = NULL; static void bufferConstructor(ompi_java_buffer_t *item) diff --git a/ompi/mpi/java/c/mpi_Win.c b/ompi/mpi/java/c/mpi_Win.c index fe045fb175..2c55359cce 100644 --- a/ompi/mpi/java/c/mpi_Win.c +++ b/ompi/mpi/java/c/mpi_Win.c @@ -43,7 +43,8 @@ JNIEXPORT jlong JNICALL Java_mpi_Win_createWin( return (jlong)win; } -JNIEXPORT jlong JNICALL Java_mpi_Win_create_dynamicWin( +JNIEXPORT jlong JNICALL Java_mpi_Win_createDynamicWin( + JNIEnv *env, jobject jthis, jlong info, jlong comm) { MPI_Win win; @@ -56,24 +57,22 @@ JNIEXPORT jlong JNICALL Java_mpi_Win_create_dynamicWin( } JNIEXPORT void JNICALL Java_mpi_Win_attach( - JNIEnv *env, jobject jthis, jobject jBase, + JNIEnv *env, jobject jthis, jlong win, jobject jBase, jint size) { void *base = (*env)->GetDirectBufferAddress(env, jBase); - MPI_Win win; - int rc = MPI_Win_attach(win, base, (MPI_Aint)size); + int rc = MPI_Win_attach((MPI_Win)win, base, (MPI_Aint)size); ompi_java_exceptionCheck(env, rc); } JNIEXPORT void JNICALL Java_mpi_Win_detach( - JNIEnv *env, jobject jthis, jobject jBase) + JNIEnv *env, jobject jthis, jlong win, jobject jBase) { void *base = (*env)->GetDirectBufferAddress(env, jBase); - MPI_Win win; - int rc = MPI_Win_detach(win, base); + int rc = MPI_Win_detach((MPI_Win)win, base); ompi_java_exceptionCheck(env, rc); } diff --git a/ompi/mpi/java/java/Comm.java b/ompi/mpi/java/java/Comm.java index 5124d69f5d..729ffdb985 100644 --- a/ompi/mpi/java/java/Comm.java +++ b/ompi/mpi/java/java/Comm.java @@ -233,18 +233,6 @@ public final boolean isNull() return handle == nullHandle; } -/** - * Java binding of {@code MPI_COMM_GET_INFO}. - * @throws MPIException - */ -public final Info getInfo() throws MPIException -{ - MPI.check(); - return getInfo(handle); -} - -private native void getInfo(long handle, long info) throws MPIException; - /** * Java binding of {@code MPI_COMM_SET_INFO}. * @param info info object diff --git a/ompi/mpi/java/java/Win.java b/ompi/mpi/java/java/Win.java index 793b99f984..f968618883 100644 --- a/ompi/mpi/java/java/Win.java +++ b/ompi/mpi/java/java/Win.java @@ -76,10 +76,10 @@ private native long createWin( public Win(Info info, Comm comm) throws MPIException { - handle = createWinDynamic(info.handle, comm.handle); + handle = createDynamicWin(info.handle, comm.handle); } -private native long createWinDynamic( +private native long createDynamicWin( long info, long comm) throws MPIException; @@ -99,7 +99,8 @@ private int getBaseType(Datatype orgType, Datatype targetType) /** * Java binding of {@code MPI_WIN_ATTACH}. - * @param assertion program assertion + * @param base initial address of window + * @param size size of window (buffer elements) */ public void attach(Buffer base, int size) throws MPIException { @@ -129,7 +130,7 @@ private native void attach(long win, Buffer base, int size) throws MPIException; /** * Java binding of {@code MPI_WIN_DETACH}. - * @param assertion program assertion + * @param base initial address of window */ public void detach(Buffer base) throws MPIException { @@ -475,10 +476,10 @@ private native long free(long win) throws MPIException; public Info getInfo() throws MPIException { MPI.check(); - return getInfo(handle); + return new Info(getInfo(handle)); } -private native Info getInfo(long win) +private native long getInfo(long win) throws MPIException; /** @@ -489,10 +490,10 @@ private native Info getInfo(long win) public void setInfo(Info info) throws MPIException { MPI.check(); - setInfo(handle, info); + setInfo(handle, info.handle); } -private native void setInfo(long win, Info info) +private native void setInfo(long win, long info) throws MPIException; } // Win