--- old/src/share/vm/aot/aotLoader.hpp 2016-11-03 04:05:42.652225590 -0700 +++ new/src/share/vm/aot/aotLoader.hpp 2016-11-03 04:05:42.566221773 -0700 @@ -24,13 +24,16 @@ #ifndef SHARE_VM_AOT_AOTLOADER_HPP #define SHARE_VM_AOT_AOTLOADER_HPP +#include "runtime/globals_extension.hpp" -#include "classfile/classFileParser.hpp" -#include "memory/iterator.hpp" -#include "oops/metadata.hpp" -#if INCLUDE_AOT -#include "aot/aotCompiledMethod.hpp" -#endif +class AOTCodeHeap; +class CodeBlob; +template class GrowableArray; +class instanceKlassHandle; +class InstanceKlass; +class JavaThread; +class Metadata; +class OopClosure; class AOTLoader { private: @@ -41,29 +44,27 @@ public: #if INCLUDE_AOT - static GrowableArray* heaps() { return _heaps; } - static int heaps_count() { return heaps()->length(); } - static void add_heap(AOTCodeHeap *heap) { heaps()->append(heap); } + static GrowableArray* heaps(); + static int heaps_count(); + static void add_heap(AOTCodeHeap *heap); #endif static void initialize() NOT_AOT({ FLAG_SET_ERGO(bool, UseAOT, false); }); static void universe_init() NOT_AOT_RETURN; static void set_narrow_klass_shift() NOT_AOT_RETURN; static bool contains(address p) NOT_AOT({ return false; }); -#if INCLUDE_AOT - static AOTCompiledMethod* find_aot(address p); -#endif - static void load_for_klass(instanceKlassHandle kh, Thread* thread) NOT_AOT_RETURN; + static void load_for_klass(const instanceKlassHandle& kh, Thread* thread) NOT_AOT_RETURN; static bool find_klass(InstanceKlass* ik) NOT_AOT({ return false; }); static uint64_t get_saved_fingerprint(InstanceKlass* ik) NOT_AOT({ return 0; }); static void oops_do(OopClosure* f) NOT_AOT_RETURN; static void metadata_do(void f(Metadata*)) NOT_AOT_RETURN; + static address exception_begin(JavaThread* thread, CodeBlob* blob, address return_address) NOT_AOT({ return NULL; }); NOT_PRODUCT( static void print_statistics() NOT_AOT_RETURN; ) #ifdef HOTSWAP // Flushing and deoptimization in case of evolution - static void flush_evol_dependents_on(instanceKlassHandle dependee) NOT_AOT_RETURN; + static void flush_evol_dependents_on(const instanceKlassHandle& dependee) NOT_AOT_RETURN; #endif // HOTSWAP };