diff options
| author | 2013-01-04 15:14:08 -0800 | |
|---|---|---|
| committer | 2013-01-04 15:31:42 -0800 | |
| commit | fffdb023275613612a22ec62b3421ffe4d2b73fe (patch) | |
| tree | eb24cffd6ad7a50a11e9b3c3bcad3688865192e7 /src/compiler/frontend.cc | |
| parent | c8253caa7045a7683666725a6d8aeba96a8f9c7a (diff) | |
Add memory barrier for final instance fields.
Change-Id: I1a02f0f75e974f4c84d61254da05480c20ff881c
Diffstat (limited to 'src/compiler/frontend.cc')
| -rw-r--r-- | src/compiler/frontend.cc | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/src/compiler/frontend.cc b/src/compiler/frontend.cc index 9d30b6ad0b..e6f29ef465 100644 --- a/src/compiler/frontend.cc +++ b/src/compiler/frontend.cc @@ -773,8 +773,8 @@ static CompiledMethod* CompileMethod(Compiler& compiler, const CompilerBackend compiler_backend, const DexFile::CodeItem* code_item, uint32_t access_flags, InvokeType invoke_type, - uint32_t method_idx, jobject class_loader, - const DexFile& dex_file, + uint32_t class_def_idx, uint32_t method_idx, + jobject class_loader, const DexFile& dex_file, LLVMInfo* llvm_info) { VLOG(compiler) << "Compiling " << PrettyMethod(method_idx, dex_file) << "..."; @@ -792,6 +792,7 @@ static CompiledMethod* CompileMethod(Compiler& compiler, cu->compiler = &compiler; cu->class_linker = class_linker; cu->dex_file = &dex_file; + cu->class_def_idx = class_def_idx; cu->method_idx = method_idx; cu->code_item = code_item; cu->access_flags = access_flags; @@ -1219,12 +1220,12 @@ CompiledMethod* CompileOneMethod(Compiler& compiler, const CompilerBackend backend, const DexFile::CodeItem* code_item, uint32_t access_flags, InvokeType invoke_type, - uint32_t method_idx, jobject class_loader, + uint32_t class_def_idx, uint32_t method_idx, jobject class_loader, const DexFile& dex_file, LLVMInfo* llvm_info) { - return CompileMethod(compiler, backend, code_item, access_flags, invoke_type, method_idx, class_loader, - dex_file, llvm_info); + return CompileMethod(compiler, backend, code_item, access_flags, invoke_type, class_def_idx, + method_idx, class_loader, dex_file, llvm_info); } } // namespace art @@ -1233,11 +1234,12 @@ extern "C" art::CompiledMethod* ArtQuickCompileMethod(art::Compiler& compiler, const art::DexFile::CodeItem* code_item, uint32_t access_flags, art::InvokeType invoke_type, - uint32_t method_idx, jobject class_loader, + uint32_t class_def_idx, uint32_t method_idx, jobject class_loader, const art::DexFile& dex_file) { // TODO: check method fingerprint here to determine appropriate backend type. Until then, use build default art::CompilerBackend backend = compiler.GetCompilerBackend(); return art::CompileOneMethod(compiler, backend, code_item, access_flags, invoke_type, - method_idx, class_loader, dex_file, NULL /* use thread llvm_info */); + class_def_idx, method_idx, class_loader, dex_file, + NULL /* use thread llvm_info */); } |