8231610: Relocate the CDS archive if it cannot be mapped to the requested address

Reviewed-by: jiangli, coleenp, ccheung
This commit is contained in:
Ioi Lam 2019-11-13 16:36:54 -08:00
parent cdba535853
commit 5678f98a9e
36 changed files with 1880 additions and 717 deletions

View file

@ -329,6 +329,8 @@ class InstanceKlass: public Klass {
friend class SystemDictionary;
static bool _disable_method_binary_search;
public:
u2 loader_type() {
return _misc_flags & loader_type_bits();
@ -564,6 +566,14 @@ public:
bool find_local_field_from_offset(int offset, bool is_static, fieldDescriptor* fd) const;
bool find_field_from_offset(int offset, bool is_static, fieldDescriptor* fd) const;
private:
static int quick_search(const Array<Method*>* methods, const Symbol* name);
public:
static void disable_method_binary_search() {
_disable_method_binary_search = true;
}
// find a local method (returns NULL if not found)
Method* find_method(const Symbol* name, const Symbol* signature) const;
static Method* find_method(const Array<Method*>* methods,