comparison src/share/vm/classfile/javaClasses.hpp @ 1507:cd5dbf694d45

6939134: JSR 292 adjustments to method handle invocation Summary: split MethodHandle.invoke into invokeExact and invokeGeneric; also clean up JVM-to-Java interfaces Reviewed-by: twisti
author jrose
date Sat, 01 May 2010 02:42:18 -0700
parents 4ce7240d622c
children c18cbe5936b8
comparison
equal deleted inserted replaced
1506:2338d41fbd81 1507:cd5dbf694d45
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