Merged with michi branch at rev 1684fe51cf3d.
[cacao.git] / src / vm / jit / trace.cpp
index 91a36557323fa150643bce6d55e14576d0fed7b9..f6dd77abae0d6f6d036637b0940cdd7beefb8adc 100644 (file)
 #include "arch.h"
 #include "md-abi.h"
 
-#include "mm/memory.h"
+#include "mm/memory.hpp"
 
 #include "native/llni.h"
 
 #include "threads/thread.hpp"
 
-#include "toolbox/logging.h"
+#include "toolbox/logging.hpp"
 
+#include "vm/array.hpp"
 #include "vm/global.h"
 #include "vm/globals.hpp"
 #include "vm/javaobjects.hpp"
@@ -569,9 +570,11 @@ void trace_exception_builtin(java_handle_t* h)
                logtextlen += utf_bytes(jlt.get_vftbl()->clazz->name);
 
                if (jls.get_handle()) {
+                       CharArray ca(jls.get_value());
                        // FIXME This is not handle capable!
+                       uint16_t* ptr = (uint16_t*) ca.get_raw_data_ptr();
                        logtextlen += strlen(": ") +
-                               u2_utflength(jls.get_value()->data + jls.get_offset(), jls.get_count());
+                               u2_utflength(ptr + jls.get_offset(), jls.get_count());
                }
        } 
        else {