/* src/vm/hook.hpp - hook points inside the VM
- Copyright (C) 2009
+ Copyright (C) 2009, 2011
CACAOVM - Verein zur Foerderung der freien virtuellen Maschine CACAO
This file is part of CACAO.
#define _HOOK_HPP
#include "config.h"
+#include "vm/globals.hpp"
#if defined(ENABLE_OPAGENT)
#include "vm/jit/oprofile-agent.hpp"
*/
namespace Hook {
void breakpoint (Breakpoint *bp);
- void class_linked (classinfo *c);
+ bool class_linked (classinfo *c);
void class_loaded (classinfo *c);
void jit_generated (methodinfo *m, codeinfo *code);
void jit_recycled (methodinfo *m, codeinfo *code);
void vm_init ();
void vm_preinit ();
void vm_shutdown ();
+
+ // Non-inline functions
+ bool class_linked_dynoffsets(classinfo *c);
}
#endif
}
-inline void Hook::class_linked(classinfo *c)
+inline bool Hook::class_linked(classinfo *c)
{
- /* nop */
+ if (c == class_java_lang_String)
+ linker_initialize_deferred_strings();
+
+ return class_linked_dynoffsets(c);
}
inline void Hook::class_loaded(classinfo *c)