< prev index next >

src/hotspot/share/classfile/systemDictionary.hpp

Print this page
rev 48545 : Value-based classes (vbc) / Oop value test via metadata ptr

@@ -1,7 +1,7 @@
 /*
- * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2018, 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.

@@ -462,10 +462,17 @@
   // The corresponding method to load the class must be called before calling them.
   static InstanceKlass* abstract_ownable_synchronizer_klass() { return check_klass(_abstract_ownable_synchronizer_klass); }
 
   static void load_abstract_ownable_synchronizer_klass(TRAPS);
 
+#if INCLUDE_VBC
+  static bool is_value_based_classname(Symbol* name) {
+    if (_value_based_classes == NULL) return false;
+    return _value_based_classes->find(name) >= 0;
+  }
+#endif
+
 protected:
   // Tells whether ClassLoader.loadClassInternal is present
   static bool has_loadClassInternal()       { return _has_loadClassInternal; }
 
   // Returns the class loader data to be used when looking up/updating the

@@ -702,8 +709,12 @@
   static oop  _java_system_loader;
   static oop  _java_platform_loader;
 
   static bool _has_loadClassInternal;
   static bool _has_checkPackageAccess;
+#if INCLUDE_VBC
+  // List of value-based classes
+  static GrowableArray<Symbol*>* _value_based_classes;
+#endif
 };
 
 #endif // SHARE_VM_CLASSFILE_SYSTEMDICTIONARY_HPP
< prev index next >