src/hotspot/share/classfile/javaClasses.hpp
changeset 49329 04ed29f9ef33
parent 49041 44122f767467
child 49348 fde3feaaa4ed
equal deleted inserted replaced
49328:6a86f0deb479 49329:04ed29f9ef33
    69     CODER_LATIN1 =  0,
    69     CODER_LATIN1 =  0,
    70     CODER_UTF16  =  1
    70     CODER_UTF16  =  1
    71   };
    71   };
    72 
    72 
    73   static void compute_offsets();
    73   static void compute_offsets();
       
    74   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
    74 
    75 
    75   // Instance creation
    76   // Instance creation
    76   static Handle create_from_unicode(jchar* unicode, int len, TRAPS);
    77   static Handle create_from_unicode(jchar* unicode, int len, TRAPS);
    77   static oop    create_oop_from_unicode(jchar* unicode, int len, TRAPS);
    78   static oop    create_oop_from_unicode(jchar* unicode, int len, TRAPS);
    78   static Handle create_from_str(const char* utf8_str, TRAPS);
    79   static Handle create_from_str(const char* utf8_str, TRAPS);
   220   static void create_mirror(Klass* k, Handle class_loader, Handle module,
   221   static void create_mirror(Klass* k, Handle class_loader, Handle module,
   221                             Handle protection_domain, TRAPS);
   222                             Handle protection_domain, TRAPS);
   222   static void fixup_mirror(Klass* k, TRAPS);
   223   static void fixup_mirror(Klass* k, TRAPS);
   223   static oop  create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS);
   224   static oop  create_basic_type_mirror(const char* basic_type_name, BasicType type, TRAPS);
   224 
   225 
       
   226   // Archiving
       
   227   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   228   static void archive_basic_type_mirrors(TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
       
   229   static oop  archive_mirror(Klass* k, TRAPS) NOT_CDS_JAVA_HEAP_RETURN_(NULL);
       
   230   static oop  process_archived_mirror(Klass* k, oop mirror, oop archived_mirror, Thread *THREAD)
       
   231                                       NOT_CDS_JAVA_HEAP_RETURN_(NULL);
       
   232   static void restore_archived_mirror(Klass *k, Handle mirror, Handle class_loader, Handle module,
       
   233                                       Handle protection_domain, TRAPS) NOT_CDS_JAVA_HEAP_RETURN;
       
   234 
   225   static void fixup_module_field(Klass* k, Handle module);
   235   static void fixup_module_field(Klass* k, Handle module);
   226 
   236 
   227   // Conversion
   237   // Conversion
   228   static Klass* as_Klass(oop java_class);
   238   static Klass* as_Klass(oop java_class);
   229   static void set_klass(oop java_class, Klass* klass);
   239   static void set_klass(oop java_class, Klass* klass);
   304   static int _park_event_offset ;
   314   static int _park_event_offset ;
   305 
   315 
   306   static void compute_offsets();
   316   static void compute_offsets();
   307 
   317 
   308  public:
   318  public:
       
   319   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   320 
   309   // Instance creation
   321   // Instance creation
   310   static oop create();
   322   static oop create();
   311   // Returns the JavaThread associated with the thread obj
   323   // Returns the JavaThread associated with the thread obj
   312   static JavaThread* thread(oop java_thread);
   324   static JavaThread* thread(oop java_thread);
   313   // Set JavaThread for instance
   325   // Set JavaThread for instance
   404   static int _ngroups_offset;
   416   static int _ngroups_offset;
   405 
   417 
   406   static void compute_offsets();
   418   static void compute_offsets();
   407 
   419 
   408  public:
   420  public:
       
   421   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   422 
   409   // parent ThreadGroup
   423   // parent ThreadGroup
   410   static oop  parent(oop java_thread_group);
   424   static oop  parent(oop java_thread_group);
   411   // name
   425   // name
   412   static const char* name(oop java_thread_group);
   426   static const char* name(oop java_thread_group);
   413   // ("name as oop" accessor is not necessary)
   427   // ("name as oop" accessor is not necessary)
   483   static Symbol* detail_message(oop throwable);
   497   static Symbol* detail_message(oop throwable);
   484   static void print_stack_element(outputStream *st, const methodHandle& method, int bci);
   498   static void print_stack_element(outputStream *st, const methodHandle& method, int bci);
   485   static void print_stack_usage(Handle stream);
   499   static void print_stack_usage(Handle stream);
   486 
   500 
   487   static void compute_offsets();
   501   static void compute_offsets();
       
   502   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
   488 
   503 
   489   // Allocate space for backtrace (created but stack trace not filled in)
   504   // Allocate space for backtrace (created but stack trace not filled in)
   490   static void allocate_backtrace(Handle throwable, TRAPS);
   505   static void allocate_backtrace(Handle throwable, TRAPS);
   491   // Fill in current stack trace for throwable with preallocated backtrace (no GC)
   506   // Fill in current stack trace for throwable with preallocated backtrace (no GC)
   492   static void fill_in_stack_trace_of_preallocated_backtrace(Handle throwable);
   507   static void fill_in_stack_trace_of_preallocated_backtrace(Handle throwable);
   513   static int override_offset;
   528   static int override_offset;
   514 
   529 
   515   static void compute_offsets();
   530   static void compute_offsets();
   516 
   531 
   517  public:
   532  public:
       
   533   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   534 
   518   // Accessors
   535   // Accessors
   519   static jboolean override(oop reflect);
   536   static jboolean override(oop reflect);
   520   static void set_override(oop reflect, jboolean value);
   537   static void set_override(oop reflect, jboolean value);
   521 
   538 
   522   // Debugging
   539   // Debugging
   544   static int type_annotations_offset;
   561   static int type_annotations_offset;
   545 
   562 
   546   static void compute_offsets();
   563   static void compute_offsets();
   547 
   564 
   548  public:
   565  public:
       
   566   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   567 
   549   // Allocation
   568   // Allocation
   550   static Handle create(TRAPS);
   569   static Handle create(TRAPS);
   551 
   570 
   552   // Accessors
   571   // Accessors
   553   static oop clazz(oop reflect);
   572   static oop clazz(oop reflect);
   613   static int type_annotations_offset;
   632   static int type_annotations_offset;
   614 
   633 
   615   static void compute_offsets();
   634   static void compute_offsets();
   616 
   635 
   617  public:
   636  public:
       
   637   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   638 
   618   // Allocation
   639   // Allocation
   619   static Handle create(TRAPS);
   640   static Handle create(TRAPS);
   620 
   641 
   621   // Accessors
   642   // Accessors
   622   static oop clazz(oop reflect);
   643   static oop clazz(oop reflect);
   671   static int type_annotations_offset;
   692   static int type_annotations_offset;
   672 
   693 
   673   static void compute_offsets();
   694   static void compute_offsets();
   674 
   695 
   675  public:
   696  public:
       
   697   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   698 
   676   // Allocation
   699   // Allocation
   677   static Handle create(TRAPS);
   700   static Handle create(TRAPS);
   678 
   701 
   679   // Accessors
   702   // Accessors
   680   static oop clazz(oop reflect);
   703   static oop clazz(oop reflect);
   726   static int executable_offset;
   749   static int executable_offset;
   727 
   750 
   728   static void compute_offsets();
   751   static void compute_offsets();
   729 
   752 
   730  public:
   753  public:
       
   754   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   755 
   731   // Allocation
   756   // Allocation
   732   static Handle create(TRAPS);
   757   static Handle create(TRAPS);
   733 
   758 
   734   // Accessors
   759   // Accessors
   735   static oop name(oop field);
   760   static oop name(oop field);
   756     static int name_offset;
   781     static int name_offset;
   757     static int _module_entry_offset;
   782     static int _module_entry_offset;
   758     static void compute_offsets();
   783     static void compute_offsets();
   759 
   784 
   760   public:
   785   public:
       
   786     static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   787 
   761     // Allocation
   788     // Allocation
   762     static Handle create(Handle loader, Handle module_name, TRAPS);
   789     static Handle create(Handle loader, Handle module_name, TRAPS);
   763 
   790 
   764     // Testers
   791     // Testers
   765     static bool is_instance(oop obj);
   792     static bool is_instance(oop obj);
   785   static int _oop_offset;
   812   static int _oop_offset;
   786 
   813 
   787   static void compute_offsets();
   814   static void compute_offsets();
   788 
   815 
   789  public:
   816  public:
       
   817   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   818 
   790   // Allocation
   819   // Allocation
   791   static Handle create(TRAPS);
   820   static Handle create(TRAPS);
   792 
   821 
   793   // Accessors
   822   // Accessors
   794   static void set_cp(oop reflect, ConstantPool* value);
   823   static void set_cp(oop reflect, ConstantPool* value);
   807  private:
   836  private:
   808   static int _base_offset;
   837   static int _base_offset;
   809   static void compute_offsets();
   838   static void compute_offsets();
   810 
   839 
   811  public:
   840  public:
       
   841   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   842 
   812   static int base_offset() {
   843   static int base_offset() {
   813     return _base_offset;
   844     return _base_offset;
   814   }
   845   }
   815 
   846 
   816   // Debugging
   847   // Debugging
   908   // Accessors for statics
   939   // Accessors for statics
   909   static jlong clock();
   940   static jlong clock();
   910   static void set_clock(jlong value);
   941   static void set_clock(jlong value);
   911 
   942 
   912   static void compute_offsets();
   943   static void compute_offsets();
       
   944   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
   913 };
   945 };
   914 
   946 
   915 // Interface to java.lang.invoke.MethodHandle objects
   947 // Interface to java.lang.invoke.MethodHandle objects
   916 
   948 
   917 class MethodHandleEntry;
   949 class MethodHandleEntry;
   924   static int _form_offset;               // the LambdaForm of this MH
   956   static int _form_offset;               // the LambdaForm of this MH
   925 
   957 
   926   static void compute_offsets();
   958   static void compute_offsets();
   927 
   959 
   928  public:
   960  public:
       
   961   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   962 
   929   // Accessors
   963   // Accessors
   930   static oop            type(oop mh);
   964   static oop            type(oop mh);
   931   static void       set_type(oop mh, oop mtype);
   965   static void       set_type(oop mh, oop mtype);
   932 
   966 
   933   static oop            form(oop mh);
   967   static oop            form(oop mh);
   953   static int _member_offset;               // the MemberName of this DMH
   987   static int _member_offset;               // the MemberName of this DMH
   954 
   988 
   955   static void compute_offsets();
   989   static void compute_offsets();
   956 
   990 
   957  public:
   991  public:
       
   992   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
   993 
   958   // Accessors
   994   // Accessors
   959   static oop  member(oop mh);
   995   static oop  member(oop mh);
   960 
   996 
   961   // Testers
   997   // Testers
   962   static bool is_subclass(Klass* klass) {
   998   static bool is_subclass(Klass* klass) {
   978   static int _vmentry_offset;  // type is MemberName
  1014   static int _vmentry_offset;  // type is MemberName
   979 
  1015 
   980   static void compute_offsets();
  1016   static void compute_offsets();
   981 
  1017 
   982  public:
  1018  public:
       
  1019   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
  1020 
   983   // Accessors
  1021   // Accessors
   984   static oop            vmentry(oop lform);
  1022   static oop            vmentry(oop lform);
   985   static void       set_vmentry(oop lform, oop invoker);
  1023   static void       set_vmentry(oop lform, oop invoker);
   986 
  1024 
   987   // Testers
  1025   // Testers
  1009   static int _vmtarget_offset;
  1047   static int _vmtarget_offset;
  1010   static int _vmholder_offset;
  1048   static int _vmholder_offset;
  1011 
  1049 
  1012   static void compute_offsets();
  1050   static void compute_offsets();
  1013  public:
  1051  public:
       
  1052   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
       
  1053 
  1014   static int vmtarget_offset_in_bytes() { return _vmtarget_offset; }
  1054   static int vmtarget_offset_in_bytes() { return _vmtarget_offset; }
  1015 
  1055 
  1016   static Method* vmtarget(oop resolved_method);
  1056   static Method* vmtarget(oop resolved_method);
  1017   static void set_vmtarget(oop resolved_method, Method* method);
  1057   static void set_vmtarget(oop resolved_method, Method* method);
  1018 
  1058 
  1046   static int _vmindex_offset;
  1086   static int _vmindex_offset;
  1047 
  1087 
  1048   static void compute_offsets();
  1088   static void compute_offsets();
  1049 
  1089 
  1050  public:
  1090  public:
       
  1091   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
  1051   // Accessors
  1092   // Accessors
  1052   static oop            clazz(oop mname);
  1093   static oop            clazz(oop mname);
  1053   static void       set_clazz(oop mname, oop clazz);
  1094   static void       set_clazz(oop mname, oop clazz);
  1054 
  1095 
  1055   static oop            type(oop mname);
  1096   static oop            type(oop mname);
  1110   static int _ptypes_offset;
  1151   static int _ptypes_offset;
  1111 
  1152 
  1112   static void compute_offsets();
  1153   static void compute_offsets();
  1113 
  1154 
  1114  public:
  1155  public:
       
  1156   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
  1115   // Accessors
  1157   // Accessors
  1116   static oop            rtype(oop mt);
  1158   static oop            rtype(oop mt);
  1117   static objArrayOop    ptypes(oop mt);
  1159   static objArrayOop    ptypes(oop mt);
  1118 
  1160 
  1119   static oop            ptype(oop mt, int index);
  1161   static oop            ptype(oop mt, int index);
  1145   static int _context_offset;
  1187   static int _context_offset;
  1146 
  1188 
  1147   static void compute_offsets();
  1189   static void compute_offsets();
  1148 
  1190 
  1149 public:
  1191 public:
       
  1192   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
  1150   // Accessors
  1193   // Accessors
  1151   static oop              target(          oop site);
  1194   static oop              target(          oop site);
  1152   static void         set_target(          oop site, oop target);
  1195   static void         set_target(          oop site, oop target);
  1153   static void         set_target_volatile( oop site, oop target);
  1196   static void         set_target_volatile( oop site, oop target);
  1154 
  1197 
  1178   static int _vmdependencies_offset;
  1221   static int _vmdependencies_offset;
  1179 
  1222 
  1180   static void compute_offsets();
  1223   static void compute_offsets();
  1181 
  1224 
  1182 public:
  1225 public:
       
  1226   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
  1183   // Accessors
  1227   // Accessors
  1184   static DependencyContext vmdependencies(oop context);
  1228   static DependencyContext vmdependencies(oop context);
  1185 
  1229 
  1186   // Testers
  1230   // Testers
  1187   static bool is_subclass(Klass* klass) {
  1231   static bool is_subclass(Klass* klass) {
  1201   static int _isPrivileged_offset;
  1245   static int _isPrivileged_offset;
  1202   static int _isAuthorized_offset;
  1246   static int _isAuthorized_offset;
  1203 
  1247 
  1204   static void compute_offsets();
  1248   static void compute_offsets();
  1205  public:
  1249  public:
       
  1250   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
  1206   static oop create(objArrayHandle context, bool isPrivileged, Handle privileged_context, TRAPS);
  1251   static oop create(objArrayHandle context, bool isPrivileged, Handle privileged_context, TRAPS);
  1207 
  1252 
  1208   static bool is_authorized(Handle context);
  1253   static bool is_authorized(Handle context);
  1209 
  1254 
  1210   // Debugging/initialization
  1255   // Debugging/initialization
  1226   static int name_offset;
  1271   static int name_offset;
  1227   static int unnamedModule_offset;
  1272   static int unnamedModule_offset;
  1228 
  1273 
  1229  public:
  1274  public:
  1230   static void compute_offsets();
  1275   static void compute_offsets();
       
  1276   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
  1231 
  1277 
  1232   static ClassLoaderData* loader_data(oop loader);
  1278   static ClassLoaderData* loader_data(oop loader);
  1233   static ClassLoaderData* cmpxchg_loader_data(ClassLoaderData* new_data, oop loader, ClassLoaderData* expected_data);
  1279   static ClassLoaderData* cmpxchg_loader_data(ClassLoaderData* new_data, oop loader, ClassLoaderData* expected_data);
  1234 
  1280 
  1235   static oop parent(oop loader);
  1281   static oop parent(oop loader);
  1277   static int err_offset_in_bytes();
  1323   static int err_offset_in_bytes();
  1278 
  1324 
  1279   static bool has_security_manager();
  1325   static bool has_security_manager();
  1280 
  1326 
  1281   static void compute_offsets();
  1327   static void compute_offsets();
       
  1328   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
  1282 
  1329 
  1283   // Debugging
  1330   // Debugging
  1284   friend class JavaClasses;
  1331   friend class JavaClasses;
  1285 };
  1332 };
  1286 
  1333 
  1314 
  1361 
  1315   static void fill_in(Handle element, InstanceKlass* holder, const methodHandle& method,
  1362   static void fill_in(Handle element, InstanceKlass* holder, const methodHandle& method,
  1316                       int version, int bci, Symbol* name, TRAPS);
  1363                       int version, int bci, Symbol* name, TRAPS);
  1317 
  1364 
  1318   static void compute_offsets();
  1365   static void compute_offsets();
       
  1366   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
  1319 
  1367 
  1320   // Debugging
  1368   // Debugging
  1321   friend class JavaClasses;
  1369   friend class JavaClasses;
  1322 };
  1370 };
  1323 
  1371 
  1357   static void set_bci(oop info, int value);
  1405   static void set_bci(oop info, int value);
  1358 
  1406 
  1359   static void set_version(oop info, short value);
  1407   static void set_version(oop info, short value);
  1360 
  1408 
  1361   static void compute_offsets();
  1409   static void compute_offsets();
       
  1410   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
  1362 
  1411 
  1363   static void to_stack_trace_element(Handle stackFrame, Handle stack_trace_element, TRAPS);
  1412   static void to_stack_trace_element(Handle stackFrame, Handle stack_trace_element, TRAPS);
  1364 
  1413 
  1365   // Debugging
  1414   // Debugging
  1366   friend class JavaClasses;
  1415   friend class JavaClasses;
  1378   static void set_locals(oop info, oop value);
  1427   static void set_locals(oop info, oop value);
  1379   static void set_operands(oop info, oop value);
  1428   static void set_operands(oop info, oop value);
  1380   static void set_mode(oop info, int value);
  1429   static void set_mode(oop info, int value);
  1381 
  1430 
  1382   static void compute_offsets();
  1431   static void compute_offsets();
       
  1432   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
  1383 
  1433 
  1384   // Debugging
  1434   // Debugging
  1385   friend class JavaClasses;
  1435   friend class JavaClasses;
  1386 };
  1436 };
  1387 
  1437 
  1402   static void set_packages(oop obj, oop val);
  1452   static void set_packages(oop obj, oop val);
  1403   static void set_packageEnabled(oop obj, oop val);
  1453   static void set_packageEnabled(oop obj, oop val);
  1404   static void set_deflt(oop obj, bool val);
  1454   static void set_deflt(oop obj, bool val);
  1405 
  1455 
  1406   static void compute_offsets();
  1456   static void compute_offsets();
       
  1457   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
  1407 
  1458 
  1408   // Debugging
  1459   // Debugging
  1409   friend class JavaClasses;
  1460   friend class JavaClasses;
  1410 };
  1461 };
  1411 
  1462 
  1415   static int _limit_offset;
  1466   static int _limit_offset;
  1416 
  1467 
  1417  public:
  1468  public:
  1418   static int  limit_offset();
  1469   static int  limit_offset();
  1419   static void compute_offsets();
  1470   static void compute_offsets();
       
  1471   static void serialize(SerializeClosure* f) NOT_CDS_RETURN;
  1420 };
  1472 };
  1421 
  1473 
  1422 class java_util_concurrent_locks_AbstractOwnableSynchronizer : AllStatic {
  1474 class java_util_concurrent_locks_AbstractOwnableSynchronizer : AllStatic {
  1423  private:
  1475  private:
  1424   static int  _owner_offset;
  1476   static int  _owner_offset;