< prev index next >

src/hotspot/share/jvmci/jvmciCompilerToVM.cpp

Print this page

        

*** 451,463 **** methodHandle method = JVMCIENV->asMethod(jvmci_method); Klass* holder = JVMCIENV->asKlass(jvmci_type); if (holder->is_interface()) { JVMCI_THROW_MSG_NULL(InternalError, err_msg("Interface %s should be handled in Java code", holder->external_name())); } - if (method->can_be_statically_bound()) { - JVMCI_THROW_MSG_NULL(InternalError, err_msg("Effectively static method %s.%s should be handled in Java code", method->method_holder()->external_name(), method->external_name())); - } methodHandle ucm; { MutexLocker locker(Compile_lock); ucm = Dependencies::find_unique_concrete_method(holder, method()); --- 451,460 ----
*** 922,939 **** if (table_size > 0) { handler->copy_bytes_to((address) HotSpotJVMCI::resolve(exceptionArray)->byte_at_addr(0)); } HotSpotJVMCI::HotSpotMetaData::set_exceptionBytes(JVMCIENV, metadata_handle, exceptionArray); - ImplicitExceptionTable* implicit = code_metadata.get_implicit_exception_table(); - int implicit_table_size = implicit->size_in_bytes(); - JVMCIPrimitiveArray implicitExceptionArray = JVMCIENV->new_byteArray(implicit_table_size, JVMCI_CHECK_(JVMCI::cache_full)); - if (implicit_table_size > 0) { - implicit->copy_bytes_to((address) HotSpotJVMCI::resolve(implicitExceptionArray)->byte_at_addr(0), implicit_table_size); - } - HotSpotJVMCI::HotSpotMetaData::set_implicitExceptionBytes(JVMCIENV, metadata_handle, implicitExceptionArray); - return result; #else JVMCI_THROW_MSG_0(InternalError, "unimplemented"); #endif C2V_END --- 919,928 ----
*** 1122,1140 **** JVMCIENV->copy_longs_from(temp_array, array, 0, JVMCICounterSize); } return (jlongArray) JVMCIENV->get_jobject(array); C2V_END ! C2V_VMENTRY_0(jint, getCountersSize, (JNIEnv* env, jobject)) ! return (jint) JVMCICounterSize; ! C2V_END ! ! C2V_VMENTRY_0(jboolean, setCountersSize, (JNIEnv* env, jobject, jint new_size)) ! return JavaThread::resize_all_jvmci_counters(new_size); ! C2V_END ! ! C2V_VMENTRY_0(jint, allocateCompileId, (JNIEnv* env, jobject, jobject jvmci_method, int entry_bci)) HandleMark hm; if (jvmci_method == NULL) { JVMCI_THROW_0(NullPointerException); } Method* method = JVMCIENV->asMethod(jvmci_method); --- 1111,1121 ---- JVMCIENV->copy_longs_from(temp_array, array, 0, JVMCICounterSize); } return (jlongArray) JVMCIENV->get_jobject(array); C2V_END ! C2V_VMENTRY_0(int, allocateCompileId, (JNIEnv* env, jobject, jobject jvmci_method, int entry_bci)) HandleMark hm; if (jvmci_method == NULL) { JVMCI_THROW_0(NullPointerException); } Method* method = JVMCIENV->asMethod(jvmci_method);
*** 1230,1240 **** if (sv->value().is_null()) { objects->append(sv); } } } ! bool realloc_failures = Deoptimization::realloc_objects(thread, fst.current(), fst.register_map(), objects, CHECK_NULL); Deoptimization::reassign_fields(fst.current(), fst.register_map(), objects, realloc_failures, false); realloc_called = true; GrowableArray<ScopeValue*>* local_values = scope->locals(); assert(local_values != NULL, "NULL locals"); --- 1211,1221 ---- if (sv->value().is_null()) { objects->append(sv); } } } ! bool realloc_failures = Deoptimization::realloc_objects(thread, fst.current(), objects, CHECK_NULL); Deoptimization::reassign_fields(fst.current(), fst.register_map(), objects, realloc_failures, false); realloc_called = true; GrowableArray<ScopeValue*>* local_values = scope->locals(); assert(local_values != NULL, "NULL locals");
*** 1488,1498 **** if (objects == NULL) { // no objects to materialize return; } ! bool realloc_failures = Deoptimization::realloc_objects(thread, fstAfterDeopt.current(), fstAfterDeopt.register_map(), objects, CHECK); Deoptimization::reassign_fields(fstAfterDeopt.current(), fstAfterDeopt.register_map(), objects, realloc_failures, false); for (int frame_index = 0; frame_index < virtualFrames->length(); frame_index++) { compiledVFrame* cvf = virtualFrames->at(frame_index); --- 1469,1479 ---- if (objects == NULL) { // no objects to materialize return; } ! bool realloc_failures = Deoptimization::realloc_objects(thread, fstAfterDeopt.current(), objects, CHECK); Deoptimization::reassign_fields(fstAfterDeopt.current(), fstAfterDeopt.register_map(), objects, realloc_failures, false); for (int frame_index = 0; frame_index < virtualFrames->length(); frame_index++) { compiledVFrame* cvf = virtualFrames->at(frame_index);
*** 1632,1642 **** C2V_VMENTRY(void, flushDebugOutput, (JNIEnv* env, jobject)) tty->flush(); C2V_END ! C2V_VMENTRY_0(jint, methodDataProfileDataSize, (JNIEnv* env, jobject, jlong metaspace_method_data, jint position)) MethodData* mdo = JVMCIENV->asMethodData(metaspace_method_data); ProfileData* profile_data = mdo->data_at(position); if (mdo->is_valid(profile_data)) { return profile_data->size_in_bytes(); } --- 1613,1623 ---- C2V_VMENTRY(void, flushDebugOutput, (JNIEnv* env, jobject)) tty->flush(); C2V_END ! C2V_VMENTRY_0(int, methodDataProfileDataSize, (JNIEnv* env, jobject, jlong metaspace_method_data, jint position)) MethodData* mdo = JVMCIENV->asMethodData(metaspace_method_data); ProfileData* profile_data = mdo->data_at(position); if (mdo->is_valid(profile_data)) { return profile_data->size_in_bytes(); }
*** 1738,1748 **** InstanceKlass* k = InstanceKlass::cast(klass); k->initialize(CHECK); } C2V_END ! C2V_VMENTRY_0(jint, interpreterFrameSize, (JNIEnv* env, jobject, jobject bytecode_frame_handle)) if (bytecode_frame_handle == NULL) { JVMCI_THROW_0(NullPointerException); } JVMCIObject top_bytecode_frame = JVMCIENV->wrap(bytecode_frame_handle); --- 1719,1729 ---- InstanceKlass* k = InstanceKlass::cast(klass); k->initialize(CHECK); } C2V_END ! C2V_VMENTRY_0(int, interpreterFrameSize, (JNIEnv* env, jobject, jobject bytecode_frame_handle)) if (bytecode_frame_handle == NULL) { JVMCI_THROW_0(NullPointerException); } JVMCIObject top_bytecode_frame = JVMCIENV->wrap(bytecode_frame_handle);
*** 1786,1796 **** JVMCI_THROW_MSG(IllegalArgumentException, err_msg("Unexpected type: %s", lambda_form->klass()->external_name())) } C2V_END ! C2V_VMENTRY_0(jint, getIdentityHashCode, (JNIEnv* env, jobject, jobject object)) Handle obj = JVMCIENV->asConstant(JVMCIENV->wrap(object), JVMCI_CHECK_0); return obj->identity_hash(); C2V_END C2V_VMENTRY_0(jboolean, isInternedString, (JNIEnv* env, jobject, jobject object)) --- 1767,1777 ---- JVMCI_THROW_MSG(IllegalArgumentException, err_msg("Unexpected type: %s", lambda_form->klass()->external_name())) } C2V_END ! C2V_VMENTRY_0(int, getIdentityHashCode, (JNIEnv* env, jobject, jobject object)) Handle obj = JVMCIENV->asConstant(JVMCIENV->wrap(object), JVMCI_CHECK_0); return obj->identity_hash(); C2V_END C2V_VMENTRY_0(jboolean, isInternedString, (JNIEnv* env, jobject, jobject object))
*** 2568,2578 **** C2V_VMENTRY(void, releaseFailedSpeculations, (JNIEnv* env, jobject, jlong failed_speculations_address)) FailedSpeculation::free_failed_speculations((FailedSpeculation**)(address) failed_speculations_address); } ! C2V_VMENTRY_0(jboolean, addFailedSpeculation, (JNIEnv* env, jobject, jlong failed_speculations_address, jbyteArray speculation_obj)) JVMCIPrimitiveArray speculation_handle = JVMCIENV->wrap(speculation_obj); int speculation_len = JVMCIENV->get_length(speculation_handle); char* speculation = NEW_RESOURCE_ARRAY(char, speculation_len); JVMCIENV->copy_bytes_to(speculation_handle, (jbyte*) speculation, 0, speculation_len); return FailedSpeculation::add_failed_speculation(NULL, (FailedSpeculation**)(address) failed_speculations_address, (address) speculation, speculation_len); --- 2549,2559 ---- C2V_VMENTRY(void, releaseFailedSpeculations, (JNIEnv* env, jobject, jlong failed_speculations_address)) FailedSpeculation::free_failed_speculations((FailedSpeculation**)(address) failed_speculations_address); } ! C2V_VMENTRY_0(bool, addFailedSpeculation, (JNIEnv* env, jobject, jlong failed_speculations_address, jbyteArray speculation_obj)) JVMCIPrimitiveArray speculation_handle = JVMCIENV->wrap(speculation_obj); int speculation_len = JVMCIENV->get_length(speculation_handle); char* speculation = NEW_RESOURCE_ARRAY(char, speculation_len); JVMCIENV->copy_bytes_to(speculation_handle, (jbyte*) speculation, 0, speculation_len); return FailedSpeculation::add_failed_speculation(NULL, (FailedSpeculation**)(address) failed_speculations_address, (address) speculation, speculation_len);
*** 2661,2672 **** {CC "getLocalVariableTableLength", CC "(" HS_RESOLVED_METHOD ")I", FN_PTR(getLocalVariableTableLength)}, {CC "reprofile", CC "(" HS_RESOLVED_METHOD ")V", FN_PTR(reprofile)}, {CC "invalidateHotSpotNmethod", CC "(" HS_NMETHOD ")V", FN_PTR(invalidateHotSpotNmethod)}, {CC "readUncompressedOop", CC "(J)" OBJECTCONSTANT, FN_PTR(readUncompressedOop)}, {CC "collectCounters", CC "()[J", FN_PTR(collectCounters)}, - {CC "getCountersSize", CC "()I", FN_PTR(getCountersSize)}, - {CC "setCountersSize", CC "(I)Z", FN_PTR(setCountersSize)}, {CC "allocateCompileId", CC "(" HS_RESOLVED_METHOD "I)I", FN_PTR(allocateCompileId)}, {CC "isMature", CC "(" METASPACE_METHOD_DATA ")Z", FN_PTR(isMature)}, {CC "hasCompiledCodeForOSR", CC "(" HS_RESOLVED_METHOD "II)Z", FN_PTR(hasCompiledCodeForOSR)}, {CC "getSymbol", CC "(J)" STRING, FN_PTR(getSymbol)}, {CC "iterateFrames", CC "([" RESOLVED_METHOD "[" RESOLVED_METHOD "I" INSPECTED_FRAME_VISITOR ")" OBJECT, FN_PTR(iterateFrames)}, --- 2642,2651 ----
< prev index next >