From 1c5a0860a3c8d278c6f440d9e749e33d9942bfe7 Mon Sep 17 00:00:00 2001 From: Martin Quinson Date: Mon, 1 Aug 2016 19:21:16 +0200 Subject: [PATCH] fix java builds --- src/bindings/java/JavaContext.cpp | 8 ++++---- src/bindings/java/JavaContext.hpp | 12 ++++++------ src/bindings/java/jmsg.cpp | 13 ++++++------- src/bindings/java/jmsg_process.cpp | 8 ++++---- src/kernel/context/Context.hpp | 2 +- 5 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/bindings/java/JavaContext.cpp b/src/bindings/java/JavaContext.cpp index 9f4441e6db..d97796ef2a 100644 --- a/src/bindings/java/JavaContext.cpp +++ b/src/bindings/java/JavaContext.cpp @@ -23,9 +23,10 @@ extern JavaVM *__java_vm; XBT_LOG_NEW_DEFAULT_CATEGORY(jmsg, "MSG for Java(TM)"); namespace simgrid { -namespace java { +namespace kernel { +namespace context { -simgrid::simix::ContextFactory* java_factory() +ContextFactory* java_factory() { XBT_INFO("Using regular java threads."); return new JavaContextFactory(); @@ -164,5 +165,4 @@ void JavaContext::resume() xbt_os_sem_acquire(this->end); } -} -} +}}} // namespace simgrid::kernel::context diff --git a/src/bindings/java/JavaContext.hpp b/src/bindings/java/JavaContext.hpp index 9a07ff8d7e..aa9094a3e7 100644 --- a/src/bindings/java/JavaContext.hpp +++ b/src/bindings/java/JavaContext.hpp @@ -21,12 +21,13 @@ #include "jmsg_process.h" namespace simgrid { -namespace java { +namespace kernel { +namespace context { class JavaContext; class JavacontextFactory; -class JavaContext : public simgrid::simix::Context { +class JavaContext : public simgrid::kernel::context::Context { public: // The java process instance bound with the msg process structure: jobject jprocess = nullptr; @@ -50,7 +51,7 @@ private: static void* wrapper(void *data); }; -class JavaContextFactory : public simgrid::simix::ContextFactory { +class JavaContextFactory : public simgrid::kernel::context::ContextFactory { public: JavaContextFactory(); ~JavaContextFactory() override; @@ -60,10 +61,9 @@ public: void run_all() override; }; -XBT_PRIVATE simgrid::simix::ContextFactory* java_factory(); +XBT_PRIVATE simgrid::kernel::context::ContextFactory* java_factory(); XBT_PRIVATE void java_main_jprocess(jobject process); -} -} +}}} // namespace simgrid::kernel::context #endif /* !_XBT_CONTEXT_JAVA_H */ diff --git a/src/bindings/java/jmsg.cpp b/src/bindings/java/jmsg.cpp index f970603595..724fdc2b17 100644 --- a/src/bindings/java/jmsg.cpp +++ b/src/bindings/java/jmsg.cpp @@ -107,7 +107,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Msg_init(JNIEnv * env, jclass cls, j env->GetJavaVM(&__java_vm); - simgrid::simix::factory_initializer = &simgrid::java::java_factory; + simgrid::kernel::context::factory_initializer = &simgrid::kernel::context::java_factory; jthrowable exc = env->ExceptionOccurred(); if (exc) { env->ExceptionClear(); @@ -284,7 +284,7 @@ static void run_jprocess(JNIEnv *env, jobject jprocess) static int java_main(int argc, char *argv[]) { JNIEnv *env = get_current_thread_env(); - simgrid::java::JavaContext* context = static_cast(SIMIX_context_self()); + simgrid::kernel::context::JavaContext* context = static_cast(SIMIX_context_self()); //Change the "." in class name for "/". xbt_str_subst(argv[0],'.','/',0); @@ -323,13 +323,14 @@ static int java_main(int argc, char *argv[]) } namespace simgrid { -namespace java { +namespace kernel { +namespace context { /** Run the Java org.simgrid.msg.Process */ void java_main_jprocess(jobject jprocess) { JNIEnv *env = get_current_thread_env(); - simgrid::java::JavaContext* context = static_cast(SIMIX_context_self()); + simgrid::kernel::context::JavaContext* context = static_cast(SIMIX_context_self()); context->jprocess = jprocess; smx_process_t process = SIMIX_process_self(); jprocess_bind(context->jprocess, process, env); @@ -340,6 +341,4 @@ void java_main_jprocess(jobject jprocess) else run_jprocess(env, context->jprocess); } - -} -} +}}} diff --git a/src/bindings/java/jmsg_process.cpp b/src/bindings/java/jmsg_process.cpp index c6d0e7fda1..374f714d01 100644 --- a/src/bindings/java/jmsg_process.cpp +++ b/src/bindings/java/jmsg_process.cpp @@ -34,7 +34,7 @@ Java_org_simgrid_msg_Process_exit(JNIEnv *env, jobject jprocess) { jobject native_to_java_process(msg_process_t process) { - simgrid::java::JavaContext* context = (simgrid::java::JavaContext*) MSG_process_get_smx_ctx(process); + simgrid::kernel::context::JavaContext* context = (simgrid::kernel::context::JavaContext*) MSG_process_get_smx_ctx(process); return context->jprocess; } @@ -51,7 +51,7 @@ void jprocess_delete_global_ref(jobject jprocess, JNIEnv * env) void jprocess_join(jobject jprocess, JNIEnv * env) { msg_process_t process = jprocess_to_native_process(jprocess,env); - simgrid::java::JavaContext* context = (simgrid::java::JavaContext*) MSG_process_get_smx_ctx(process); + simgrid::kernel::context::JavaContext* context = (simgrid::kernel::context::JavaContext*) MSG_process_get_smx_ctx(process); xbt_os_thread_join(context->thread,nullptr); } @@ -148,7 +148,7 @@ JNIEXPORT void JNICALL Java_org_simgrid_msg_Process_create(JNIEnv * env, jobject // This is the jprocess passed as environment. // It would be simplet if we could use a closure. jobject jprocess = (jobject) MSG_process_get_data(process); - simgrid::java::java_main_jprocess(jprocess); + simgrid::kernel::context::java_main_jprocess(jprocess); return 0; }, jprocess, host, @@ -392,4 +392,4 @@ JNIEXPORT jint JNICALL Java_org_simgrid_msg_Process_getCount(JNIEnv * env, jclas return (jint) MSG_process_get_number(); } -} +} // extern C diff --git a/src/kernel/context/Context.hpp b/src/kernel/context/Context.hpp index a604581f0c..bd4b09517b 100644 --- a/src/kernel/context/Context.hpp +++ b/src/kernel/context/Context.hpp @@ -184,7 +184,7 @@ XBT_PUBLIC_DATA(char sigsegv_stack[SIGSTKSZ]); /** @brief Executes all the processes to run (in parallel if possible). */ XBT_PRIVATE void SIMIX_context_runall(void); /** @brief returns the current running context */ -XBT_PRIVATE smx_context_t SIMIX_context_self(void); +XBT_PUBLIC(smx_context_t) SIMIX_context_self(void); // public because it's used in simgrid-java XBT_PRIVATE void *SIMIX_context_stack_new(void); XBT_PRIVATE void SIMIX_context_stack_delete(void *stack); -- 2.20.1