< prev index next >

src/hotspot/share/ci/ciStreams.cpp

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

@@ -189,10 +190,20 @@
    VM_ENTRY_MARK;
    constantPoolHandle cpool(THREAD, _method->get_Method()->constants());
    return CURRENT_ENV->get_klass_by_index(cpool, get_klass_index(), will_link, _holder);
  }
  
+ // ------------------------------------------------------------------
+ // 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.

@@ -258,11 +269,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, "wrong bc");
+          cur_bc() == Bytecodes::_putstatic ||
+          cur_bc() == Bytecodes::_withfield, "wrong bc");
    return get_index_u2_cpcache();
  }
  
  
  // ------------------------------------------------------------------
< prev index next >