Print this page
rev 2143 : 6839872: remove implementation inheritance from JSR 292 APIs
Summary: Move all JSR 292 classes into the java.dyn package.
Reviewed-by:

Split Close
Expand all
Collapse all
          --- old/src/share/vm/oops/methodOop.cpp
          +++ new/src/share/vm/oops/methodOop.cpp
↓ open down ↓ 834 lines elided ↑ open up ↑
 835  835    // caching this method should be just fine
 836  836    return false;
 837  837  }
 838  838  
 839  839  bool methodOopDesc::is_method_handle_invoke_name(vmSymbols::SID name_sid) {
 840  840    switch (name_sid) {
 841  841    case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeExact_name):
 842  842    case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeGeneric_name):
 843  843      return true;
 844  844    }
 845      -  if (AllowTransitionalJSR292
      845 +  if ((AllowTransitionalJSR292 || AllowInvokeForInvokeGeneric)
 846  846        && name_sid == vmSymbols::VM_SYMBOL_ENUM_NAME(invoke_name))
 847  847      return true;
 848  848    return false;
 849  849  }
 850  850  
 851  851  // Constant pool structure for invoke methods:
 852  852  enum {
 853  853    _imcp_invoke_name = 1,        // utf8: 'invokeExact' or 'invokeGeneric'
 854  854    _imcp_invoke_signature,       // utf8: (variable Symbol*)
 855  855    _imcp_method_type_value,      // string: (variable java/dyn/MethodType, sic)
↓ open down ↓ 251 lines elided ↑ open up ↑
1107 1107    case vmSymbols::VM_SYMBOL_ENUM_NAME(java_dyn_MethodHandle):
1108 1108      if (is_static() || !is_native())  break;
1109 1109      switch (name_id) {
1110 1110      case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeGeneric_name):
1111 1111        id = vmIntrinsics::_invokeGeneric;
1112 1112        break;
1113 1113      case vmSymbols::VM_SYMBOL_ENUM_NAME(invokeExact_name):
1114 1114        id = vmIntrinsics::_invokeExact;
1115 1115        break;
1116 1116      case vmSymbols::VM_SYMBOL_ENUM_NAME(invoke_name):
1117      -      if (AllowTransitionalJSR292)  id = vmIntrinsics::_invokeExact;
     1117 +      if (AllowInvokeForInvokeGeneric)   id = vmIntrinsics::_invokeGeneric;
     1118 +      else if (AllowTransitionalJSR292)  id = vmIntrinsics::_invokeExact;
1118 1119        break;
1119 1120      }
1120 1121      break;
1121 1122    case vmSymbols::VM_SYMBOL_ENUM_NAME(java_dyn_InvokeDynamic):
1122 1123      if (!is_static() || !is_native())  break;
1123 1124      id = vmIntrinsics::_invokeDynamic;
1124 1125      break;
1125 1126    }
1126 1127  
1127 1128    if (id != vmIntrinsics::_none) {
↓ open down ↓ 463 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX