src/share/vm/prims/methodHandles.cpp

changeset 3434
15d394228cfa
parent 3255
44ce519bc3d1
child 3928
56c4f88474b3
     1.1 --- a/src/share/vm/prims/methodHandles.cpp	Wed Jan 18 16:18:31 2012 +0100
     1.2 +++ b/src/share/vm/prims/methodHandles.cpp	Thu Jan 19 13:00:11 2012 -0800
     1.3 @@ -194,9 +194,6 @@
     1.4  // MethodHandles::generate_adapters
     1.5  //
     1.6  void MethodHandles::generate_adapters() {
     1.7 -#ifdef TARGET_ARCH_NYI_6939861
     1.8 -  if (FLAG_IS_DEFAULT(UseRicochetFrames))  UseRicochetFrames = false;
     1.9 -#endif
    1.10    if (!EnableInvokeDynamic || SystemDictionary::MethodHandle_klass() == NULL)  return;
    1.11  
    1.12    assert(_adapter_code == NULL, "generate only once");
    1.13 @@ -230,18 +227,6 @@
    1.14  }
    1.15  
    1.16  
    1.17 -#ifdef TARGET_ARCH_NYI_6939861
    1.18 -// these defs belong in methodHandles_<arch>.cpp
    1.19 -frame MethodHandles::ricochet_frame_sender(const frame& fr, RegisterMap *map) {
    1.20 -  ShouldNotCallThis();
    1.21 -  return fr;
    1.22 -}
    1.23 -void MethodHandles::ricochet_frame_oops_do(const frame& fr, OopClosure* f, const RegisterMap* reg_map) {
    1.24 -  ShouldNotCallThis();
    1.25 -}
    1.26 -#endif //TARGET_ARCH_NYI_6939861
    1.27 -
    1.28 -
    1.29  //------------------------------------------------------------------------------
    1.30  // MethodHandles::ek_supported
    1.31  //
    1.32 @@ -251,28 +236,11 @@
    1.33    case _adapter_unused_13:
    1.34      return false;  // not defined yet
    1.35    case _adapter_prim_to_ref:
    1.36 -    return UseRicochetFrames && conv_op_supported(java_lang_invoke_AdapterMethodHandle::OP_PRIM_TO_REF);
    1.37 +    return conv_op_supported(java_lang_invoke_AdapterMethodHandle::OP_PRIM_TO_REF);
    1.38    case _adapter_collect_args:
    1.39 -    return UseRicochetFrames && conv_op_supported(java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS);
    1.40 +    return conv_op_supported(java_lang_invoke_AdapterMethodHandle::OP_COLLECT_ARGS);
    1.41    case _adapter_fold_args:
    1.42 -    return UseRicochetFrames && conv_op_supported(java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS);
    1.43 -  case _adapter_opt_return_any:
    1.44 -    return UseRicochetFrames;
    1.45 -#ifdef TARGET_ARCH_NYI_6939861
    1.46 -  // ports before 6939861 supported only three kinds of spread ops
    1.47 -  case _adapter_spread_args:
    1.48 -    // restrict spreads to three kinds:
    1.49 -    switch (ek) {
    1.50 -    case _adapter_opt_spread_0:
    1.51 -    case _adapter_opt_spread_1:
    1.52 -    case _adapter_opt_spread_more:
    1.53 -      break;
    1.54 -    default:
    1.55 -      return false;
    1.56 -      break;
    1.57 -    }
    1.58 -    break;
    1.59 -#endif //TARGET_ARCH_NYI_6939861
    1.60 +    return conv_op_supported(java_lang_invoke_AdapterMethodHandle::OP_FOLD_ARGS);
    1.61    }
    1.62    return true;
    1.63  }
    1.64 @@ -1988,9 +1956,6 @@
    1.65      case _adapter_prim_to_ref:    // boxer MH to use
    1.66      case _adapter_collect_args:   // method handle which collects the args
    1.67      case _adapter_fold_args:      // method handle which collects the args
    1.68 -      if (!UseRicochetFrames) {
    1.69 -        { err = "box/collect/fold operators are not supported"; break; }
    1.70 -      }
    1.71        if (!java_lang_invoke_MethodHandle::is_instance(argument()))
    1.72          { err = "MethodHandle adapter argument required"; break; }
    1.73        arg_mtype = Handle(THREAD, java_lang_invoke_MethodHandle::type(argument()));
    1.74 @@ -2370,7 +2335,6 @@
    1.75  
    1.76    case _adapter_prim_to_ref:
    1.77      {
    1.78 -      assert(UseRicochetFrames, "else don't come here");
    1.79        // vminfo will be the location to insert the return value
    1.80        vminfo = argslot;
    1.81        ek_opt = _adapter_opt_collect_ref;
    1.82 @@ -2436,20 +2400,6 @@
    1.83  
    1.84    case _adapter_spread_args:
    1.85      {
    1.86 -#ifdef TARGET_ARCH_NYI_6939861
    1.87 -      // ports before 6939861 supported only three kinds of spread ops
    1.88 -      if (!UseRicochetFrames) {
    1.89 -        int array_size   = slots_pushed + 1;
    1.90 -        assert(array_size >= 0, "");
    1.91 -        vminfo = array_size;
    1.92 -        switch (array_size) {
    1.93 -        case 0:   ek_opt = _adapter_opt_spread_0;       break;
    1.94 -        case 1:   ek_opt = _adapter_opt_spread_1;       break;
    1.95 -        default:  ek_opt = _adapter_opt_spread_more;    break;
    1.96 -        }
    1.97 -        break;
    1.98 -      }
    1.99 -#endif //TARGET_ARCH_NYI_6939861
   1.100        // vminfo will be the required length of the array
   1.101        int array_size = (slots_pushed + 1) / (type2size[dest] == 2 ? 2 : 1);
   1.102        vminfo = array_size;
   1.103 @@ -2494,7 +2444,6 @@
   1.104  
   1.105    case _adapter_collect_args:
   1.106      {
   1.107 -      assert(UseRicochetFrames, "else don't come here");
   1.108        int elem_slots = argument_slot_count(java_lang_invoke_MethodHandle::type(argument()));
   1.109        // vminfo will be the location to insert the return value
   1.110        vminfo = argslot;
   1.111 @@ -2563,7 +2512,6 @@
   1.112  
   1.113    case _adapter_fold_args:
   1.114      {
   1.115 -      assert(UseRicochetFrames, "else don't come here");
   1.116        int elem_slots = argument_slot_count(java_lang_invoke_MethodHandle::type(argument()));
   1.117        // vminfo will be the location to insert the return value
   1.118        vminfo = argslot + elem_slots;

mercurial