< prev index next >

src/hotspot/share/jvmci/jvmciEnv.cpp

Print this page
*** 353,12 ***
          // Clear and ignore any exceptions raised during printing
          CLEAR_PENDING_EXCEPTION;
          had_nested_exception = true;
        } else {
          oop pair = result.get_oop();
!         guarantee(pair->is_objArray(), "must be");
!         objArrayOop pair_arr = objArrayOop(pair);
          int len = pair_arr->length();
          guarantee(len == 2, "bad len is %d", len);
          if (to_string != nullptr) {
            to_string_obj = HotSpotJVMCI::wrap(pair_arr->obj_at(0));
          }
--- 353,12 ---
          // Clear and ignore any exceptions raised during printing
          CLEAR_PENDING_EXCEPTION;
          had_nested_exception = true;
        } else {
          oop pair = result.get_oop();
!         guarantee(pair->is_refArray(), "must be");
!         refArrayOop pair_arr = refArrayOop(pair);
          int len = pair_arr->length();
          guarantee(len == 2, "bad len is %d", len);
          if (to_string != nullptr) {
            to_string_obj = HotSpotJVMCI::wrap(pair_arr->obj_at(0));
          }

*** 676,13 ***
      JNIAccessMark jni(this);
      return jni()->GetArrayLength(get_jarray(array));
    }
  }
  
! JVMCIObject JVMCIEnv::get_object_at(JVMCIObjectArray array, int index) {
    if (is_hotspot()) {
!     oop result = HotSpotJVMCI::resolve(array)->obj_at(index);
      return wrap(result);
    } else {
      JNIAccessMark jni(this);
      jobject result = jni()->GetObjectArrayElement(get_jobjectArray(array), index);
      return wrap(result);
--- 676,14 ---
      JNIAccessMark jni(this);
      return jni()->GetArrayLength(get_jarray(array));
    }
  }
  
! JVMCIObject JVMCIEnv::get_object_at(JVMCIObjectArray array, int index, JVMCI_TRAPS) {
    if (is_hotspot()) {
!     JavaThread* THREAD = JavaThread::current(); // For exception macros.
+     oop result = HotSpotJVMCI::resolve(array)->obj_at(index, CHECK_({}));
      return wrap(result);
    } else {
      JNIAccessMark jni(this);
      jobject result = jni()->GetObjectArrayElement(get_jobjectArray(array), index);
      return wrap(result);

*** 1150,13 ***
      }
      return wrap(result);
    }
  }
  
! JVMCIObject JVMCIEnv::get_jvmci_primitive_type(BasicType type) {
    JVMCIObjectArray primitives = get_HotSpotResolvedPrimitiveType_primitives();
!   JVMCIObject result = get_object_at(primitives, type);
    return result;
  }
  
  JVMCIObject JVMCIEnv::new_StackTraceElement(const methodHandle& method, int bci, JVMCI_TRAPS) {
    JavaThread* THREAD = JavaThread::current(); // For exception macros.
--- 1151,13 ---
      }
      return wrap(result);
    }
  }
  
! JVMCIObject JVMCIEnv::get_jvmci_primitive_type(BasicType type, JVMCI_TRAPS) {
    JVMCIObjectArray primitives = get_HotSpotResolvedPrimitiveType_primitives();
!   JVMCIObject result = get_object_at(primitives, type, JVMCI_CHECK_({}));
    return result;
  }
  
  JVMCIObject JVMCIEnv::new_StackTraceElement(const methodHandle& method, int bci, JVMCI_TRAPS) {
    JavaThread* THREAD = JavaThread::current(); // For exception macros.
< prev index next >