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