< prev index next >
src/hotspot/share/oops/klass.hpp
Print this page
rev 59635 : [mq]: cds_lambda
*** 174,184 ****
#if INCLUDE_CDS
// Flags of the current shared class.
u2 _shared_class_flags;
enum {
! _has_raw_archived_mirror = 1
};
#endif
// The _archived_mirror is set at CDS dump time pointing to the cached mirror
// in the open archive heap region when archiving java object is supported.
--- 174,185 ----
#if INCLUDE_CDS
// Flags of the current shared class.
u2 _shared_class_flags;
enum {
! _has_raw_archived_mirror = 1,
! _archived_lambda_proxy_is_available = 2
};
#endif
// The _archived_mirror is set at CDS dump time pointing to the cached mirror
// in the open archive heap region when archiving java object is supported.
*** 291,300 ****
--- 292,302 ----
InstanceKlass* superklass() const;
void append_to_sibling_list(); // add newly created receiver to superklass' subklass list
void set_next_link(Klass* k) { _next_link = k; }
Klass* next_link() const { return _next_link; } // The next klass defined by the class loader.
+ Klass** next_link_addr() { return &_next_link; }
// class loader data
ClassLoaderData* class_loader_data() const { return _class_loader_data; }
void set_class_loader_data(ClassLoaderData* loader_data) { _class_loader_data = loader_data; }
*** 315,324 ****
--- 317,337 ----
bool has_raw_archived_mirror() const {
CDS_ONLY(return (_shared_class_flags & _has_raw_archived_mirror) != 0;)
NOT_CDS(return false;)
}
+ void set_lambda_proxy_is_available() {
+ CDS_ONLY(_shared_class_flags |= _archived_lambda_proxy_is_available;)
+ }
+ void clear_lambda_proxy_is_available() {
+ CDS_ONLY(_shared_class_flags &= ~_archived_lambda_proxy_is_available;)
+ }
+ bool lambda_proxy_is_available() const {
+ CDS_ONLY(return (_shared_class_flags & _archived_lambda_proxy_is_available) != 0;)
+ NOT_CDS(return false;)
+ }
+
// Obtain the module or package for this class
virtual ModuleEntry* module() const = 0;
virtual PackageEntry* package() const = 0;
protected: // internal accessors
< prev index next >