1471 friend class JavaClasses;
1472 };
1473
1474
1475 class java_nio_Buffer: AllStatic {
1476 private:
1477 static int _limit_offset;
1478
1479 public:
1480 static int limit_offset();
1481 static void compute_offsets();
1482 static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
1483 };
1484
1485 class java_util_concurrent_locks_AbstractOwnableSynchronizer : AllStatic {
1486 private:
1487 static int _owner_offset;
1488 public:
1489 static void compute_offsets();
1490 static oop get_owner_threadObj(oop obj);
1491 };
1492
1493 // Use to declare fields that need to be injected into Java classes
1494 // for the JVM to use. The name_index and signature_index are
1495 // declared in vmSymbols. The may_be_java flag is used to declare
1496 // fields that might already exist in Java but should be injected if
1497 // they don't. Otherwise the field is unconditionally injected and
1498 // the JVM uses the injected one. This is to ensure that name
1499 // collisions don't occur. In general may_be_java should be false
1500 // unless there's a good reason.
1501
1502 class InjectedField {
1503 public:
1504 const SystemDictionary::WKID klass_id;
1505 const vmSymbols::SID name_index;
1506 const vmSymbols::SID signature_index;
1507 const bool may_be_java;
1508
1509
1510 Klass* klass() const { return SystemDictionary::well_known_klass(klass_id); }
|
1471 friend class JavaClasses;
1472 };
1473
1474
1475 class java_nio_Buffer: AllStatic {
1476 private:
1477 static int _limit_offset;
1478
1479 public:
1480 static int limit_offset();
1481 static void compute_offsets();
1482 static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
1483 };
1484
1485 class java_util_concurrent_locks_AbstractOwnableSynchronizer : AllStatic {
1486 private:
1487 static int _owner_offset;
1488 public:
1489 static void compute_offsets();
1490 static oop get_owner_threadObj(oop obj);
1491 static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
1492 };
1493
1494 // Use to declare fields that need to be injected into Java classes
1495 // for the JVM to use. The name_index and signature_index are
1496 // declared in vmSymbols. The may_be_java flag is used to declare
1497 // fields that might already exist in Java but should be injected if
1498 // they don't. Otherwise the field is unconditionally injected and
1499 // the JVM uses the injected one. This is to ensure that name
1500 // collisions don't occur. In general may_be_java should be false
1501 // unless there's a good reason.
1502
1503 class InjectedField {
1504 public:
1505 const SystemDictionary::WKID klass_id;
1506 const vmSymbols::SID name_index;
1507 const vmSymbols::SID signature_index;
1508 const bool may_be_java;
1509
1510
1511 Klass* klass() const { return SystemDictionary::well_known_klass(klass_id); }
|