summaryrefslogtreecommitdiffstats
path: root/compiler/driver/compiler_driver.h
diff options
context:
space:
mode:
authorJeff Hao <jeffhao@google.com>2014-03-13 17:55:43 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2014-03-13 17:55:44 +0000
commit9545a446e99b22248099fe66f5f9431530c20851 (patch)
tree359962d0a6a50f0c73f969d5ad67305de397e8a4 /compiler/driver/compiler_driver.h
parent0d64958d157ff6a30cbbe79df14ee4c723d14754 (diff)
parent49161cef10a308aedada18e9aa742498d6e6c8c7 (diff)
downloadart-9545a446e99b22248099fe66f5f9431530c20851.zip
art-9545a446e99b22248099fe66f5f9431530c20851.tar.gz
art-9545a446e99b22248099fe66f5f9431530c20851.tar.bz2
Merge "Allow patching between dex files in the boot classpath."
Diffstat (limited to 'compiler/driver/compiler_driver.h')
-rw-r--r--compiler/driver/compiler_driver.h14
1 files changed, 12 insertions, 2 deletions
diff --git a/compiler/driver/compiler_driver.h b/compiler/driver/compiler_driver.h
index 71c431d..d88b2aa 100644
--- a/compiler/driver/compiler_driver.h
+++ b/compiler/driver/compiler_driver.h
@@ -316,6 +316,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_);
@@ -324,6 +325,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)
@@ -333,6 +335,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_);
@@ -449,6 +452,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_;
}
@@ -472,18 +478,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;
@@ -505,12 +514,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) {
}