diff options
author | Jeff Hao <jeffhao@google.com> | 2014-03-12 11:05:25 -0700 |
---|---|---|
committer | Jeff Hao <jeffhao@google.com> | 2014-03-12 18:06:51 -0700 |
commit | 49161cef10a308aedada18e9aa742498d6e6c8c7 (patch) | |
tree | b5ea61ffc97dd043a00e8dd7746788d9d96b9dd0 /compiler/driver/compiler_driver.h | |
parent | ca46e2003360b44f4c043f6da87092592bc3d6d6 (diff) | |
download | art-49161cef10a308aedada18e9aa742498d6e6c8c7.zip art-49161cef10a308aedada18e9aa742498d6e6c8c7.tar.gz art-49161cef10a308aedada18e9aa742498d6e6c8c7.tar.bz2 |
Allow patching between dex files in the boot classpath.
Change-Id: I53f219a5382d0fcd580e96e50025fdad4fc399df
Diffstat (limited to 'compiler/driver/compiler_driver.h')
-rw-r--r-- | compiler/driver/compiler_driver.h | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/compiler/driver/compiler_driver.h b/compiler/driver/compiler_driver.h index 26210c9..e0f3a1a 100644 --- a/compiler/driver/compiler_driver.h +++ b/compiler/driver/compiler_driver.h @@ -323,6 +323,7 @@ class CompilerDriver { uint32_t referrer_method_idx, InvokeType referrer_invoke_type, uint32_t target_method_idx, + const DexFile* target_dex_file, InvokeType target_invoke_type, size_t literal_offset) LOCKS_EXCLUDED(compiled_methods_lock_); @@ -331,6 +332,7 @@ class CompilerDriver { uint32_t referrer_method_idx, InvokeType referrer_invoke_type, uint32_t target_method_idx, + const DexFile* target_dex_file, InvokeType target_invoke_type, size_t literal_offset, int32_t pc_relative_offset) @@ -340,6 +342,7 @@ class CompilerDriver { uint32_t referrer_method_idx, InvokeType referrer_invoke_type, uint32_t target_method_idx, + const DexFile* target_dex_file, InvokeType target_invoke_type, size_t literal_offset) LOCKS_EXCLUDED(compiled_methods_lock_); @@ -456,6 +459,9 @@ class CompilerDriver { uint32_t GetTargetMethodIdx() const { return target_method_idx_; } + const DexFile* GetTargetDexFile() const { + return target_dex_file_; + } InvokeType GetTargetInvokeType() const { return target_invoke_type_; } @@ -479,18 +485,21 @@ class CompilerDriver { uint32_t referrer_method_idx, InvokeType referrer_invoke_type, uint32_t target_method_idx, + const DexFile* target_dex_file, InvokeType target_invoke_type, size_t literal_offset) : PatchInformation(dex_file, referrer_class_def_idx, referrer_method_idx, literal_offset), referrer_invoke_type_(referrer_invoke_type), target_method_idx_(target_method_idx), + target_dex_file_(target_dex_file), target_invoke_type_(target_invoke_type) { } private: const InvokeType referrer_invoke_type_; const uint32_t target_method_idx_; + const DexFile* target_dex_file_; const InvokeType target_invoke_type_; friend class CompilerDriver; @@ -512,12 +521,13 @@ class CompilerDriver { uint32_t referrer_method_idx, InvokeType referrer_invoke_type, uint32_t target_method_idx, + const DexFile* target_dex_file, InvokeType target_invoke_type, size_t literal_offset, int32_t pc_relative_offset) : CallPatchInformation(dex_file, referrer_class_def_idx, - referrer_method_idx, referrer_invoke_type, - target_method_idx, target_invoke_type, literal_offset), + referrer_method_idx, referrer_invoke_type, target_method_idx, + target_dex_file, target_invoke_type, literal_offset), offset_(pc_relative_offset) { } |