40 class AOTLoader {
41 private:
42 #if INCLUDE_AOT
43 static GrowableArray<AOTCodeHeap*>* _heaps;
44 static GrowableArray<AOTLib*>* _libraries;
45 #endif
46 static void load_library(const char* name, bool exit_on_error);
47
48 public:
49 #if INCLUDE_AOT
50 static GrowableArray<AOTCodeHeap*>* heaps();
51 static GrowableArray<AOTLib*>* libraries();
52 static int heaps_count();
53 static int libraries_count();
54 static void add_heap(AOTCodeHeap *heap);
55 static void add_library(AOTLib *lib);
56 #endif
57 static void initialize() NOT_AOT({ FLAG_SET_ERGO(bool, UseAOT, false); });
58
59 static void universe_init() NOT_AOT_RETURN;
60 static void set_narrow_klass_shift() NOT_AOT_RETURN;
61 static bool contains(address p) NOT_AOT({ return false; });
62 static void load_for_klass(InstanceKlass* ik, Thread* thread) NOT_AOT_RETURN;
63 static bool find_klass(InstanceKlass* ik) NOT_AOT({ return false; });
64 static uint64_t get_saved_fingerprint(InstanceKlass* ik) NOT_AOT({ return 0; });
65 static void oops_do(OopClosure* f) NOT_AOT_RETURN;
66 static void metadata_do(void f(Metadata*)) NOT_AOT_RETURN;
67
68 NOT_PRODUCT( static void print_statistics() NOT_AOT_RETURN; )
69
70 #ifdef HOTSWAP
71 // Flushing and deoptimization in case of evolution
72 static void flush_evol_dependents_on(InstanceKlass* dependee) NOT_AOT_RETURN;
73 #endif // HOTSWAP
74
75 static bool reconcile_dynamic_invoke(InstanceKlass* holder, int index, Method* adapter_method, Klass *appendix_klass) NOT_AOT({ return true; });
76 };
77
78 #endif // SHARE_VM_AOT_AOTLOADER_HPP
|
40 class AOTLoader {
41 private:
42 #if INCLUDE_AOT
43 static GrowableArray<AOTCodeHeap*>* _heaps;
44 static GrowableArray<AOTLib*>* _libraries;
45 #endif
46 static void load_library(const char* name, bool exit_on_error);
47
48 public:
49 #if INCLUDE_AOT
50 static GrowableArray<AOTCodeHeap*>* heaps();
51 static GrowableArray<AOTLib*>* libraries();
52 static int heaps_count();
53 static int libraries_count();
54 static void add_heap(AOTCodeHeap *heap);
55 static void add_library(AOTLib *lib);
56 #endif
57 static void initialize() NOT_AOT({ FLAG_SET_ERGO(bool, UseAOT, false); });
58
59 static void universe_init() NOT_AOT_RETURN;
60 static void set_narrow_oop_shift() NOT_AOT_RETURN;
61 static void set_narrow_klass_shift() NOT_AOT_RETURN;
62 static bool contains(address p) NOT_AOT({ return false; });
63 static void load_for_klass(InstanceKlass* ik, Thread* thread) NOT_AOT_RETURN;
64 static bool find_klass(InstanceKlass* ik) NOT_AOT({ return false; });
65 static uint64_t get_saved_fingerprint(InstanceKlass* ik) NOT_AOT({ return 0; });
66 static void oops_do(OopClosure* f) NOT_AOT_RETURN;
67 static void metadata_do(void f(Metadata*)) NOT_AOT_RETURN;
68
69 NOT_PRODUCT( static void print_statistics() NOT_AOT_RETURN; )
70
71 #ifdef HOTSWAP
72 // Flushing and deoptimization in case of evolution
73 static void flush_evol_dependents_on(InstanceKlass* dependee) NOT_AOT_RETURN;
74 #endif // HOTSWAP
75
76 static bool reconcile_dynamic_invoke(InstanceKlass* holder, int index, Method* adapter_method, Klass *appendix_klass) NOT_AOT({ return true; });
77 };
78
79 #endif // SHARE_VM_AOT_AOTLOADER_HPP
|