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)
{