* configure.ac: New switch for disabling -O2 (--disable-optimizations).
[cacao.git] / src / native / native.cpp
index bc47238e881de7587ce3fe5a815a7cfa93748e92..5515218363e8f88cbeac21682ac5d3dd05734205 100644 (file)
@@ -47,6 +47,7 @@
 #include "vm/exceptions.hpp"
 #include "vm/global.h"
 #include "vm/globals.hpp"
+#include "vm/hook.hpp"
 #include "vm/loader.hpp"
 #include "vm/options.h"
 #include "vm/os.hpp"
@@ -452,6 +453,9 @@ void* NativeMethods::resolve_method(methodinfo* m)
                exceptions_throw_unsatisfiedlinkerror(m->name);
        }
 
+       // Hook point just after method resolving finished.
+       Hook::native_resolved(m, symbol, &symbol);
+
        return symbol;
 }
 
@@ -500,12 +504,8 @@ void* NativeLibrary::open()
                if (opt_verbosejni)
                        printf("failed ]\n");
 
-               if (opt_verbose) {
-                       log_start();
-                       log_print("NativeLibrary::open: os::dlopen failed: ");
-                       log_print(os::dlerror());
-                       log_finish();
-               }
+               if (opt_PrintWarnings)
+                       log_println("NativeLibrary::open: os::dlopen failed: %s", os::dlerror());
 
                return NULL;
        }
@@ -540,12 +540,8 @@ void NativeLibrary::close()
                if (opt_verbosejni)
                        printf("failed ]\n");
 
-               if (opt_verbose) {
-                       log_start();
-                       log_print("NativeLibrary::close: os::dlclose failed: ");
-                       log_print(os::dlerror());
-                       log_finish();
-               }
+               if (opt_PrintWarnings)
+                       log_println("NativeLibrary::close: os::dlclose failed: %s", os::dlerror());
        }
 
        if (opt_verbosejni)