hotspot/src/share/vm/classfile/javaClasses.hpp
changeset 5420 586d3988e72b
parent 4571 80b553bddc26
child 5547 f4b087cbb361
equal deleted inserted replaced
5419:f2e8cc8c12ea 5420:586d3988e72b
  1066 
  1066 
  1067 class java_dyn_CallSite: AllStatic {
  1067 class java_dyn_CallSite: AllStatic {
  1068   friend class JavaClasses;
  1068   friend class JavaClasses;
  1069 
  1069 
  1070 private:
  1070 private:
  1071   static int _type_offset;
       
  1072   static int _target_offset;
  1071   static int _target_offset;
  1073   static int _vmmethod_offset;
  1072   static int _caller_method_offset;
       
  1073   static int _caller_bci_offset;
  1074 
  1074 
  1075   static void compute_offsets();
  1075   static void compute_offsets();
  1076 
  1076 
  1077 public:
  1077 public:
  1078   // Accessors
  1078   // Accessors
  1079   static oop            type(oop site);
       
  1080 
       
  1081   static oop            target(oop site);
  1079   static oop            target(oop site);
  1082   static void       set_target(oop site, oop target);
  1080   static void       set_target(oop site, oop target);
  1083 
  1081 
  1084   static oop            vmmethod(oop site);
  1082   static oop            caller_method(oop site);
  1085   static void       set_vmmethod(oop site, oop ref);
  1083   static void       set_caller_method(oop site, oop ref);
       
  1084 
       
  1085   static jint           caller_bci(oop site);
       
  1086   static void       set_caller_bci(oop site, jint bci);
  1086 
  1087 
  1087   // Testers
  1088   // Testers
  1088   static bool is_subclass(klassOop klass) {
  1089   static bool is_subclass(klassOop klass) {
  1089     return Klass::cast(klass)->is_subclass_of(SystemDictionary::CallSite_klass());
  1090     return Klass::cast(klass)->is_subclass_of(SystemDictionary::CallSite_klass());
  1090   }
  1091   }
  1092     return obj != NULL && is_subclass(obj->klass());
  1093     return obj != NULL && is_subclass(obj->klass());
  1093   }
  1094   }
  1094 
  1095 
  1095   // Accessors for code generation:
  1096   // Accessors for code generation:
  1096   static int target_offset_in_bytes()           { return _target_offset; }
  1097   static int target_offset_in_bytes()           { return _target_offset; }
  1097   static int type_offset_in_bytes()             { return _type_offset; }
  1098   static int caller_method_offset_in_bytes()    { return _caller_method_offset; }
  1098   static int vmmethod_offset_in_bytes()         { return _vmmethod_offset; }
  1099   static int caller_bci_offset_in_bytes()       { return _caller_bci_offset; }
  1099 };
  1100 };
  1100 
  1101 
  1101 
  1102 
  1102 // Interface to java.security.AccessControlContext objects
  1103 // Interface to java.security.AccessControlContext objects
  1103 
  1104