< prev index next >
src/hotspot/share/classfile/javaClasses.hpp
Print this page
rev 58565 : 8238358: Implementation of JEP 371: Hidden Classes
Reviewed-by: duke
Contributed-by: mandy.chung@oracle.com, lois.foltan@oracle.com, david.holmes@oracle.com, harold.seigel@oracle.com, serguei.spitsyn@oracle.com, alex.buckley@oracle.com, jamsheed.c.m@oracle.com
rev 58568 : [mq]: hidden-class-4
@@ -1,7 +1,7 @@
/*
- * Copyright (c) 1997, 2019, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020, Oracle and/or its affiliates. All rights reserved.
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* This code is free software; you can redistribute it and/or modify it
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation.
@@ -261,10 +261,11 @@
static int _class_loader_offset;
static int _module_offset;
static int _component_mirror_offset;
static int _name_offset;
static int _source_file_offset;
+ static int _classData_offset;
static bool offsets_computed;
static int classRedefinedCount_offset;
static GrowableArray<Klass*>* _fixup_mirror_list;
@@ -272,19 +273,20 @@
static void set_init_lock(oop java_class, oop init_lock);
static void set_protection_domain(oop java_class, oop protection_domain);
static void set_class_loader(oop java_class, oop class_loader);
static void set_component_mirror(oop java_class, oop comp_mirror);
- static void initialize_mirror_fields(Klass* k, Handle mirror, Handle protection_domain, TRAPS);
+ static void initialize_mirror_fields(Klass* k, Handle mirror, Handle protection_domain,
+ Handle classData, TRAPS);
static void set_mirror_module_field(Klass* K, Handle mirror, Handle module, TRAPS);
public:
static void allocate_fixup_lists();
static void compute_offsets();
// Instance creation
static void create_mirror(Klass* k, Handle class_loader, Handle module,
- Handle protection_domain, TRAPS);
+ Handle protection_domain, Handle classData, TRAPS);
static void fixup_mirror(Klass* k, TRAPS);
static oop create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS);
static void update_archived_primitive_mirror_native_pointers(oop archived_mirror) NOT_CDS_JAVA_HEAP_RETURN;
static void update_archived_mirror_native_pointers(oop archived_mirror) NOT_CDS_JAVA_HEAP_RETURN;
@@ -328,10 +330,12 @@
static oop protection_domain(oop java_class);
static oop init_lock(oop java_class);
static oop component_mirror(oop java_class);
static objArrayOop signers(oop java_class);
static void set_signers(oop java_class, objArrayOop signers);
+ static oop class_data(oop java_class);
+ static void set_class_data(oop java_class, oop classData);
static oop class_loader(oop java_class);
static void set_module(oop java_class, oop module);
static oop module(oop java_class);
@@ -1149,11 +1153,15 @@
MN_CALLER_SENSITIVE = 0x00100000, // @CallerSensitive annotation detected
MN_REFERENCE_KIND_SHIFT = 24, // refKind
MN_REFERENCE_KIND_MASK = 0x0F000000 >> MN_REFERENCE_KIND_SHIFT,
// The SEARCH_* bits are not for MN.flags but for the matchFlags argument of MHN.getMembers:
MN_SEARCH_SUPERCLASSES = 0x00100000, // walk super classes
- MN_SEARCH_INTERFACES = 0x00200000 // walk implemented interfaces
+ MN_SEARCH_INTERFACES = 0x00200000, // walk implemented interfaces
+ MN_NESTMATE_CLASS = 0x00000001,
+ MN_HIDDEN_CLASS = 0x00000002,
+ MN_STRONG_LOADER_LINK = 0x00000004,
+ MN_ACCESS_VM_ANNOTATIONS = 0x00000008
};
// Accessors for code generation:
static int clazz_offset_in_bytes() { return _clazz_offset; }
static int type_offset_in_bytes() { return _type_offset; }
< prev index next >