You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@harmony.apache.org by gs...@apache.org on 2006/11/03 12:23:41 UTC

svn commit: r470757 - in /incubator/harmony/enhanced/drlvm/trunk/vm/vmcore: include/version_svn_tag.h src/init/vm_init.cpp src/jit/dll_jit.cpp

Author: gshimansky
Date: Fri Nov  3 03:23:33 2006
New Revision: 470757

URL: http://svn.apache.org/viewvc?view=rev&rev=470757
Log:
Applied HARMONY-1839 [drlvm] VM crashes if it couldn't load execution engine library

Tests passed on win32 and ubuntu


Modified:
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp
    incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/dll_jit.cpp

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h?view=diff&rev=470757&r1=470756&r2=470757
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/include/version_svn_tag.h Fri Nov  3 03:23:33 2006
@@ -18,6 +18,6 @@
 #ifndef _VERSION_SVN_TAG_
 #define _VERSION_SVN_TAG_
 
-#define VERSION_SVN_TAG  "470475"
+#define VERSION_SVN_TAG  "470723"
 
 #endif // _VERSION_SVN_TAG_

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp?view=diff&rev=470757&r1=470756&r2=470757
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/init/vm_init.cpp Fri Nov  3 03:23:33 2006
@@ -821,7 +821,11 @@
 JIT_Handle vm_load_jit(const char* file_name, apr_dso_handle_t** handle) {
     //if (vm_is_a_jit_dll(file_name)) {
         Dll_JIT* jit = new Dll_JIT(file_name);
-        handle[0]=jit->get_lib_handle();
+        *handle = jit->get_lib_handle();
+        if(!*handle) {
+            delete jit;
+            return NULL;
+        }
         vm_add_jit(jit);
         return (JIT_Handle)jit;
         

Modified: incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/dll_jit.cpp
URL: http://svn.apache.org/viewvc/incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/dll_jit.cpp?view=diff&rev=470757&r1=470756&r2=470757
==============================================================================
--- incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/dll_jit.cpp (original)
+++ incubator/harmony/enhanced/drlvm/trunk/vm/vmcore/src/jit/dll_jit.cpp Fri Nov  3 03:23:33 2006
@@ -53,12 +53,15 @@
 _get_bc_location_for_native(NULL),
 _get_native_location_for_bc(NULL),
 _get_local_var(NULL),
-_set_local_var(NULL)
+_set_local_var(NULL),
+jit_dll_filename(NULL),
+lib_handle(NULL)
 {
     apr_status_t stat;
     char buf[1024];
     memset((void *) &jit_flags, 0, sizeof(JIT_Flags));
     apr_pool_create(&pool, 0);
+    assert(pool);
     apr_dso_handle_t *handle;
     if ((stat = apr_dso_load(&handle, dll_filename, pool)) != APR_SUCCESS)
     {