< prev index next >

src/hotspot/share/jvmci/jvmciCompilerToVM.cpp

Print this page

        

*** 434,444 **** Handle protection_domain(THREAD, accessing_klass->protection_domain()); if (resolve) { resolved_klass = SystemDictionary::resolve_or_null(class_name, class_loader, protection_domain, CHECK_0); } else { ! if (class_name->char_at(0) == 'L' && class_name->char_at(class_name->utf8_length()-1) == ';') { // This is a name from a signature. Strip off the trimmings. // Call recursive to keep scope of strippedsym. TempNewSymbol strippedsym = SymbolTable::new_symbol(class_name->as_utf8()+1, class_name->utf8_length()-2, --- 434,444 ---- Handle protection_domain(THREAD, accessing_klass->protection_domain()); if (resolve) { resolved_klass = SystemDictionary::resolve_or_null(class_name, class_loader, protection_domain, CHECK_0); } else { ! if ((class_name->char_at(0) == 'L' || class_name->char_at(0) == 'Q' ) && class_name->char_at(class_name->utf8_length()-1) == ';') { // This is a name from a signature. Strip off the trimmings. // Call recursive to keep scope of strippedsym. TempNewSymbol strippedsym = SymbolTable::new_symbol(class_name->as_utf8()+1, class_name->utf8_length()-2,
*** 877,887 **** jca.set_alternative_target(nm); JavaCalls::call(&result, mh, &jca, CHECK_NULL); if (jap.get_ret_type() == T_VOID) { return NULL; ! } else if (jap.get_ret_type() == T_OBJECT || jap.get_ret_type() == T_ARRAY) { return JNIHandles::make_local(THREAD, (oop) result.get_jobject()); } else { jvalue *value = (jvalue *) result.get_value_addr(); // Narrow the value down if required (Important on big endian machines) switch (jap.get_ret_type()) { --- 877,888 ---- jca.set_alternative_target(nm); JavaCalls::call(&result, mh, &jca, CHECK_NULL); if (jap.get_ret_type() == T_VOID) { return NULL; ! } else if (jap.get_ret_type() == T_OBJECT || jap.get_ret_type() == T_ARRAY ! || jap.get_ret_type() == T_VALUETYPE) { return JNIHandles::make_local(THREAD, (oop) result.get_jobject()); } else { jvalue *value = (jvalue *) result.get_value_addr(); // Narrow the value down if required (Important on big endian machines) switch (jap.get_ret_type()) {
*** 1081,1091 **** 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"); typeArrayOop array_oop = oopFactory::new_boolArray(local_values->length(), CHECK_NULL); --- 1082,1092 ---- 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, CHECK_NULL); realloc_called = true; GrowableArray<ScopeValue*>* local_values = scope->locals(); assert(local_values != NULL, "NULL locals"); typeArrayOop array_oop = oopFactory::new_boolArray(local_values->length(), CHECK_NULL);
*** 1338,1348 **** // 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); GrowableArray<ScopeValue*>* scopeLocals = cvf->scope()->locals(); --- 1339,1349 ---- // 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, THREAD); for (int frame_index = 0; frame_index < virtualFrames->length(); frame_index++) { compiledVFrame* cvf = virtualFrames->at(frame_index); GrowableArray<ScopeValue*>* scopeLocals = cvf->scope()->locals();
< prev index next >