< 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 >