hotspot Udiff src/share/vm/jvmci/jvmciCompilerToVM.cpp (original) (raw)

< prev index next >

Print this page


@@ -78,11 +78,11 @@

oop CompilerToVM::get_jvmci_type(KlassHandle klass, TRAPS) { if (klass() != NULL) { JavaValue result(T_OBJECT); JavaCallArguments args;

} return NULL;


@@ -202,20 +202,21 @@

#undef SET_TRIGFUNC }

objArrayHandle CompilerToVM::initialize_intrinsics(TRAPS) {

#define SID_ENUM(n) vmSymbols::VM_SYMBOL_ENUM_NAME(n) #define VM_SYMBOL_TO_STRING(s)
java_lang_String::create_from_symbol(vmSymbols::symbol_at(SID_ENUM(s)), CHECK_(objArrayHandle())) #define VM_INTRINSIC_INFO(id, kls, name, sig, ignore_fcode) { \


@@ -248,12 +249,13 @@ VMField::klass()->initialize(CHECK_NULL); VMFlag::klass()->initialize(CHECK_NULL); VMIntrinsicMethod::klass()->initialize(CHECK_NULL);

int len = JVMCIVMStructs::localHotSpotVMStructs_count();


@@ -288,54 +290,59 @@ } vmFields->obj_at_put(i, vmFieldObj()); }

len = JVMCIVMStructs::localHotSpotVMTypes_count();

int ints_len = JVMCIVMStructs::localHotSpotVMIntConstants_count(); int longs_len = JVMCIVMStructs::localHotSpotVMLongConstants_count(); len = ints_len + longs_len;

len = JVMCIVMStructs::localHotSpotVMAddresses_count();

// The last entry is the null entry. len = (int) Flag::numFlags - 1;


@@ -604,25 +611,23 @@ return CompilerOracle::should_inline(method) || method->force_inline(); C2V_END

C2V_VMENTRY(jobject, lookupType, (JNIEnv*, jobject, jstring jname, jclass accessing_class, jboolean resolve)) ResourceMark rm;


@@ -654,12 +659,12 @@ resolved_klass = Universe::typeArrayKlassObj(t); resolved_klass = TypeArrayKlass::cast(resolved_klass)->array_klass(fd.dimension(), CHECK_0); } } }

C2V_VMENTRY(jobject, resolveConstantInPool, (JNIEnv*, jobject, jobject jvmci_constant_pool, jint index)) constantPoolHandle cp = CompilerToVM::asConstantPool(jvmci_constant_pool); oop result = cp->resolve_constant_at(index, CHECK_NULL);


@@ -695,12 +700,12 @@ C2V_END

C2V_VMENTRY(jobject, resolveTypeInPool, (JNIEnv*, jobject, jobject jvmci_constant_pool, jint index)) constantPoolHandle cp = CompilerToVM::asConstantPool(jvmci_constant_pool); Klass* resolved_klass = cp->klass_at(index, CHECK_NULL);

C2V_VMENTRY(jobject, lookupKlassInPool, (JNIEnv*, jobject, jobject jvmci_constant_pool, jint index, jbyte opcode)) constantPoolHandle cp = CompilerToVM::asConstantPool(jvmci_constant_pool); KlassHandle loading_klass(cp->pool_holder());


@@ -710,11 +715,12 @@ if (klass.is_null()) { symbol = cp->klass_name_at(index); } Handle result; if (!klass.is_null()) {

} else { result = java_lang_String::create_from_symbol(symbol, CHECK_NULL); } return JNIHandles::make_local(THREAD, result()); C2V_END


@@ -836,15 +842,15 @@ C2V_END

C2V_VMENTRY(jint, installCode, (JNIEnv *jniEnv, jobject, jobject target, jobject compiled_code, jobject installed_code, jobject speculation_log)) ResourceMark rm; HandleMark hm;


@@ -898,13 +904,13 @@ C2V_VMENTRY(jint, getMetadata, (JNIEnv *jniEnv, jobject, jobject target, jobject compiled_code, jobject metadata)) ResourceMark rm; HandleMark hm; - Handle target_handle = JNIHandles::resolve(target); - Handle compiled_code_handle = JNIHandles::resolve(compiled_code); - Handle metadata_handle = JNIHandles::resolve(metadata); + Handle target_handle(THREAD, JNIHandles::resolve(target)); + Handle compiled_code_handle(THREAD, JNIHandles::resolve(compiled_code)); + Handle metadata_handle(THREAD, JNIHandles::resolve(metadata)); CodeMetadata code_metadata; CodeBlob cb = NULL; CodeInstaller installer(true / immutable PIC compilation */);

@@ -912,52 +918,53 @@ if (result != JVMCIEnv::ok) { return result; }

if (code_metadata.get_nr_pc_desc() > 0) {

if (code_metadata.get_scopes_size() > 0) {

RelocBuffer* reloc_buffer = code_metadata.get_reloc_buffer();

AOTOopRecorder* recorder = code_metadata.get_oop_recorder();

int nr_meta_strings = recorder->nr_meta_strings();


@@ -1132,11 +1139,11 @@ } C2V_END

C2V_VMENTRY(void, invalidateInstalledCode, (JNIEnv*, jobject, jobject installed_code))

C2V_VMENTRY(jlongArray, collectCounters, (JNIEnv*, jobject)) typeArrayOop arrayOop = oopFactory::new_longArray(JVMCICounterSize, CHECK_NULL);


@@ -1187,11 +1194,11 @@

C2V_VMENTRY(jobject, getNextStackFrame, (JNIEnv*, jobject compilerToVM, jobject hs_frame, jobjectArray methods, jint initialSkip)) ResourceMark rm;

if (!thread->has_last_Java_frame()) return NULL;


@@ -1246,11 +1253,12 @@ if (scope != NULL && scope->objects() != NULL) { bool realloc_failures = Deoptimization::realloc_objects(thread, fst.current(), scope->objects(), THREAD); Deoptimization::reassign_fields(fst.current(), fst.register_map(), scope->objects(), realloc_failures, false);

           GrowableArray<ScopeValue*>* local_values = scope->locals();

@@ -1287,11 +1295,12 @@ HotSpotStackFrameReference::set_compilerToVM(result, JNIHandles::resolve(compilerToVM)); HotSpotStackFrameReference::set_stackPointer(result, (jlong) fst.current()->sp()); HotSpotStackFrameReference::set_frameNumber(result, frame_number);

     // initialize the locals array

@@ -1339,11 +1348,11 @@ cp_cache_entry->set_method_handle(cp, callInfo); } C2V_END

C2V_VMENTRY(jobject, getSignaturePolymorphicHolders, (JNIEnv*, jobject))


@@ -1446,11 +1455,11 @@

// all locals are materialized by now HotSpotStackFrameReference::set_localIsVirtual(hs_frame, NULL);

// update the locals array


@@ -1547,11 +1556,11 @@ } return size + Deoptimization::last_frame_adjust(0, callee_locals) * BytesPerWord; C2V_END

C2V_VMENTRY(void, compileToBytecode, (JNIEnv*, jobject, jobject lambda_form_handle))

< prev index next >