src/share/vm/classfile/javaClasses.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 6893081 Sdiff src/share/vm/classfile

src/share/vm/classfile/javaClasses.hpp

Print this page
rev 1021 : 6858164: invokedynamic code needs some cleanup (post-6655638)
Note: The bug ID for this change set was erroneously used to call for review of 6815692.
Summary: Fix several crashers, remove needless paths for boxed-style bootstrap method call, refactor & simplify APIs for rewriter constantPoolOop, remove sun.dyn.CallSiteImpl
Reviewed-by: ?
rev 1023 : [mq]: meth.walker.patch
rev 1024 : imported patch indy-cleanup-6893081.patch


1067 class java_dyn_CallSite: AllStatic {
1068   friend class JavaClasses;
1069 
1070 private:
1071   static int _type_offset;
1072   static int _target_offset;
1073   static int _vmmethod_offset;
1074 
1075   static void compute_offsets();
1076 
1077 public:
1078   // Accessors
1079   static oop            type(oop site);
1080 
1081   static oop            target(oop site);
1082   static void       set_target(oop site, oop target);
1083 
1084   static oop            vmmethod(oop site);
1085   static void       set_vmmethod(oop site, oop ref);
1086 








1087   // Accessors for code generation:
1088   static int target_offset_in_bytes()           { return _target_offset; }
1089   static int type_offset_in_bytes()             { return _type_offset; }
1090   static int vmmethod_offset_in_bytes()         { return _vmmethod_offset; }
1091 };
1092 
1093 
1094 // Interface to java.security.AccessControlContext objects
1095 
1096 class java_security_AccessControlContext: AllStatic {
1097  private:
1098   // Note that for this class the layout changed between JDK1.2 and JDK1.3,
1099   // so we compute the offsets at startup rather than hard-wiring them.
1100   static int _context_offset;
1101   static int _privilegedContext_offset;
1102   static int _isPrivileged_offset;
1103 
1104   static void compute_offsets();
1105  public:
1106   static oop create(objArrayHandle context, bool isPrivileged, Handle privileged_context, TRAPS);




1067 class java_dyn_CallSite: AllStatic {
1068   friend class JavaClasses;
1069 
1070 private:
1071   static int _type_offset;
1072   static int _target_offset;
1073   static int _vmmethod_offset;
1074 
1075   static void compute_offsets();
1076 
1077 public:
1078   // Accessors
1079   static oop            type(oop site);
1080 
1081   static oop            target(oop site);
1082   static void       set_target(oop site, oop target);
1083 
1084   static oop            vmmethod(oop site);
1085   static void       set_vmmethod(oop site, oop ref);
1086 
1087   // Testers
1088   static bool is_subclass(klassOop klass) {
1089     return Klass::cast(klass)->is_subclass_of(SystemDictionary::CallSite_klass());
1090   }
1091   static bool is_instance(oop obj) {
1092     return obj != NULL && is_subclass(obj->klass());
1093   }
1094 
1095   // Accessors for code generation:
1096   static int target_offset_in_bytes()           { return _target_offset; }
1097   static int type_offset_in_bytes()             { return _type_offset; }
1098   static int vmmethod_offset_in_bytes()         { return _vmmethod_offset; }
1099 };
1100 
1101 
1102 // Interface to java.security.AccessControlContext objects
1103 
1104 class java_security_AccessControlContext: AllStatic {
1105  private:
1106   // Note that for this class the layout changed between JDK1.2 and JDK1.3,
1107   // so we compute the offsets at startup rather than hard-wiring them.
1108   static int _context_offset;
1109   static int _privilegedContext_offset;
1110   static int _isPrivileged_offset;
1111 
1112   static void compute_offsets();
1113  public:
1114   static oop create(objArrayHandle context, bool isPrivileged, Handle privileged_context, TRAPS);


src/share/vm/classfile/javaClasses.hpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File