< prev index next >

src/hotspot/share/ci/ciStreams.cpp

Print this page
*** 171,10 ***
--- 171,11 ---
    case Bytecodes::_checkcast:
    case Bytecodes::_instanceof:
    case Bytecodes::_anewarray:
    case Bytecodes::_multianewarray:
    case Bytecodes::_new:
+   case Bytecodes::_aconst_init:
    case Bytecodes::_newarray:
      return get_index_u2();
    default:
      ShouldNotReachHere();
      return 0;

*** 205,10 ***
--- 206,20 ---
      klass = CURRENT_ENV->get_unloaded_klass(_holder, klass->name());
    }
    return klass;
  }
  
+ // ------------------------------------------------------------------
+ // ciBytecodeStream::is_inline_klass
+ //
+ // Check if the klass is an inline klass.
+ bool ciBytecodeStream::has_Q_signature() const {
+   VM_ENTRY_MARK;
+   constantPoolHandle cpool(THREAD, _method->get_Method()->constants());
+   return CURRENT_ENV->has_Q_signature(cpool, get_klass_index());
+ }
+ 
  // ------------------------------------------------------------------
  // ciBytecodeStream::get_constant_raw_index
  //
  // If this bytecode is one of the ldc variants, get the index of the
  // referenced constant.

*** 295,11 ***
  // index of the referenced field.
  int ciBytecodeStream::get_field_index() {
    assert(cur_bc() == Bytecodes::_getfield ||
           cur_bc() == Bytecodes::_putfield ||
           cur_bc() == Bytecodes::_getstatic ||
!          cur_bc() == Bytecodes::_putstatic, "wrong bc");
    return get_index_u2();
  }
  
  
  // ------------------------------------------------------------------
--- 306,12 ---
  // index of the referenced field.
  int ciBytecodeStream::get_field_index() {
    assert(cur_bc() == Bytecodes::_getfield ||
           cur_bc() == Bytecodes::_putfield ||
           cur_bc() == Bytecodes::_getstatic ||
!          cur_bc() == Bytecodes::_putstatic ||
+          cur_bc() == Bytecodes::_withfield, "wrong bc");
    return get_index_u2();
  }
  
  
  // ------------------------------------------------------------------
< prev index next >