< prev index next >

src/hotspot/share/jvmci/jvmciCompilerToVM.cpp

Print this page




 904 
 905   int nr_meta_refs = recorder->nr_meta_refs();
 906   JVMCIObjectArray metadataArray = JVMCIENV->new_Object_array(nr_meta_refs, JVMCI_CHECK_(JVMCI::cache_full));
 907   for (int i = 0; i < nr_meta_refs; ++i) {
 908     jobject element = recorder->meta_element(i);
 909     if (element == NULL) {
 910       return JVMCI::cache_full;
 911     }
 912     JVMCIENV->put_object_at(metadataArray, i, JVMCIENV->wrap(element));
 913   }
 914   HotSpotJVMCI::HotSpotMetaData::set_metadata(JVMCIENV, metadata_handle, metadataArray);
 915 
 916   ExceptionHandlerTable* handler = code_metadata.get_exception_table();
 917   int table_size = handler->size_in_bytes();
 918   JVMCIPrimitiveArray exceptionArray = JVMCIENV->new_byteArray(table_size, JVMCI_CHECK_(JVMCI::cache_full));
 919   if (table_size > 0) {
 920     handler->copy_bytes_to((address) HotSpotJVMCI::resolve(exceptionArray)->byte_at_addr(0));
 921   }
 922   HotSpotJVMCI::HotSpotMetaData::set_exceptionBytes(JVMCIENV, metadata_handle, exceptionArray);
 923 








 924   return result;
 925 #else
 926   JVMCI_THROW_MSG_0(InternalError, "unimplemented");
 927 #endif
 928 C2V_END
 929 
 930 C2V_VMENTRY(void, resetCompilationStatistics, (JNIEnv* env, jobject))
 931   JVMCICompiler* compiler = JVMCICompiler::instance(true, CHECK);
 932   CompilerStatistics* stats = compiler->stats();
 933   stats->_standard.reset();
 934   stats->_osr.reset();
 935 C2V_END
 936 
 937 C2V_VMENTRY_NULL(jobject, disassembleCodeBlob, (JNIEnv* env, jobject, jobject installedCode))
 938   HandleMark hm;
 939 
 940   if (installedCode == NULL) {
 941     JVMCI_THROW_MSG_NULL(NullPointerException, "installedCode is null");
 942   }
 943 




 904 
 905   int nr_meta_refs = recorder->nr_meta_refs();
 906   JVMCIObjectArray metadataArray = JVMCIENV->new_Object_array(nr_meta_refs, JVMCI_CHECK_(JVMCI::cache_full));
 907   for (int i = 0; i < nr_meta_refs; ++i) {
 908     jobject element = recorder->meta_element(i);
 909     if (element == NULL) {
 910       return JVMCI::cache_full;
 911     }
 912     JVMCIENV->put_object_at(metadataArray, i, JVMCIENV->wrap(element));
 913   }
 914   HotSpotJVMCI::HotSpotMetaData::set_metadata(JVMCIENV, metadata_handle, metadataArray);
 915 
 916   ExceptionHandlerTable* handler = code_metadata.get_exception_table();
 917   int table_size = handler->size_in_bytes();
 918   JVMCIPrimitiveArray exceptionArray = JVMCIENV->new_byteArray(table_size, JVMCI_CHECK_(JVMCI::cache_full));
 919   if (table_size > 0) {
 920     handler->copy_bytes_to((address) HotSpotJVMCI::resolve(exceptionArray)->byte_at_addr(0));
 921   }
 922   HotSpotJVMCI::HotSpotMetaData::set_exceptionBytes(JVMCIENV, metadata_handle, exceptionArray);
 923 
 924   ImplicitExceptionTable* implicit = code_metadata.get_implicit_exception_table();
 925   int implicit_table_size = implicit->size_in_bytes();
 926   JVMCIPrimitiveArray implicitExceptionArray = JVMCIENV->new_byteArray(implicit_table_size, JVMCI_CHECK_(JVMCI::cache_full));
 927   if (implicit_table_size > 0) {
 928     implicit->copy_bytes_to((address) HotSpotJVMCI::resolve(implicitExceptionArray)->byte_at_addr(0), implicit_table_size);
 929   }
 930   HotSpotJVMCI::HotSpotMetaData::set_implicitExceptionBytes(JVMCIENV, metadata_handle, implicitExceptionArray);
 931 
 932   return result;
 933 #else
 934   JVMCI_THROW_MSG_0(InternalError, "unimplemented");
 935 #endif
 936 C2V_END
 937 
 938 C2V_VMENTRY(void, resetCompilationStatistics, (JNIEnv* env, jobject))
 939   JVMCICompiler* compiler = JVMCICompiler::instance(true, CHECK);
 940   CompilerStatistics* stats = compiler->stats();
 941   stats->_standard.reset();
 942   stats->_osr.reset();
 943 C2V_END
 944 
 945 C2V_VMENTRY_NULL(jobject, disassembleCodeBlob, (JNIEnv* env, jobject, jobject installedCode))
 946   HandleMark hm;
 947 
 948   if (installedCode == NULL) {
 949     JVMCI_THROW_MSG_NULL(NullPointerException, "installedCode is null");
 950   }
 951 


< prev index next >