From 056d7756152bb3ced81dd57781be5028428ce2bd Mon Sep 17 00:00:00 2001 From: Nicolas Geoffray Date: Thu, 30 Nov 2017 09:12:13 +0000 Subject: Revert "Revert "Revert "JIT JNI stubs.""" Still seeing occasional failures on 667-jit-jni-stub Bug: 65574695 Bug: 69843562 This reverts commit e7441631a11e2e07ce863255a59ee4de29c6a56f. Change-Id: I3db751679ef7bdf31c933208aaffe4fac749a14b --- compiler/optimizing/optimizing_compiler.cc | 64 +----------------------------- 1 file changed, 1 insertion(+), 63 deletions(-) (limited to 'compiler/optimizing/optimizing_compiler.cc') diff --git a/compiler/optimizing/optimizing_compiler.cc b/compiler/optimizing/optimizing_compiler.cc index 73c72fc57a..a281c4a310 100644 --- a/compiler/optimizing/optimizing_compiler.cc +++ b/compiler/optimizing/optimizing_compiler.cc @@ -1196,69 +1196,7 @@ bool OptimizingCompiler::JitCompile(Thread* self, Runtime* runtime = Runtime::Current(); ArenaAllocator allocator(runtime->GetJitArenaPool()); - - if (UNLIKELY(method->IsNative())) { - JniCompiledMethod jni_compiled_method = ArtQuickJniCompileMethod( - GetCompilerDriver(), access_flags, method_idx, *dex_file); - ScopedNullHandle> roots; - ArenaSet> cha_single_implementation_list( - allocator.Adapter(kArenaAllocCHA)); - const void* code = code_cache->CommitCode( - self, - method, - /* stack_map_data */ nullptr, - /* method_info_data */ nullptr, - /* roots_data */ nullptr, - jni_compiled_method.GetFrameSize(), - jni_compiled_method.GetCoreSpillMask(), - jni_compiled_method.GetFpSpillMask(), - jni_compiled_method.GetCode().data(), - jni_compiled_method.GetCode().size(), - /* data_size */ 0u, - osr, - roots, - /* has_should_deoptimize_flag */ false, - cha_single_implementation_list); - if (code == nullptr) { - return false; - } - - const CompilerOptions& compiler_options = GetCompilerDriver()->GetCompilerOptions(); - if (compiler_options.GetGenerateDebugInfo()) { - const auto* method_header = reinterpret_cast(code); - const uintptr_t code_address = reinterpret_cast(method_header->GetCode()); - debug::MethodDebugInfo info = {}; - DCHECK(info.trampoline_name.empty()); - info.dex_file = dex_file; - info.class_def_index = class_def_idx; - info.dex_method_index = method_idx; - info.access_flags = access_flags; - info.code_item = code_item; - info.isa = jni_compiled_method.GetInstructionSet(); - info.deduped = false; - info.is_native_debuggable = compiler_options.GetNativeDebuggable(); - info.is_optimized = true; - info.is_code_address_text_relative = false; - info.code_address = code_address; - info.code_size = jni_compiled_method.GetCode().size(); - info.frame_size_in_bytes = method_header->GetFrameSizeInBytes(); - info.code_info = nullptr; - info.cfi = jni_compiled_method.GetCfi(); - std::vector elf_file = debug::WriteDebugElfFileForMethods( - GetCompilerDriver()->GetInstructionSet(), - GetCompilerDriver()->GetInstructionSetFeatures(), - ArrayRef(&info, 1)); - CreateJITCodeEntryForAddress(code_address, std::move(elf_file)); - } - - Runtime::Current()->GetJit()->AddMemoryUsage(method, allocator.BytesUsed()); - if (jit_logger != nullptr) { - jit_logger->WriteLog(code, jni_compiled_method.GetCode().size(), method); - } - return true; - } - - ArenaStack arena_stack(runtime->GetJitArenaPool()); + ArenaStack arena_stack(Runtime::Current()->GetJitArenaPool()); CodeVectorAllocator code_allocator(&allocator); VariableSizedHandleScope handles(self); -- cgit v1.2.3-59-g8ed1b