summaryrefslogtreecommitdiff
path: root/src/compiler/driver/compiler_driver.h
diff options
context:
space:
mode:
author Jeff Hao <jeffhao@google.com> 2013-06-03 14:49:28 -0700
committer Jeff Hao <jeffhao@google.com> 2013-06-07 14:43:24 -0700
commit0aba0ba155bef7346bde19e53581200b89ae8a7a (patch)
tree6590f8a50bde7c30b57f1bb0ae67c6d88cea8116 /src/compiler/driver/compiler_driver.h
parent515661b14b60ab9684efa1ab1d5124934406094e (diff)
Created compiled stubs in image.
Saves class linker from having to set code pointers when loading from an image. Added stubs for quick and portable resolution trampolines, and interpreter-to-interpreter and interpreter-to-quick entry points. Also added sizing stats output for oat writer. Change-Id: I3905fae81047742c23d1cf0ca001db798db971b1
Diffstat (limited to 'src/compiler/driver/compiler_driver.h')
-rw-r--r--src/compiler/driver/compiler_driver.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/compiler/driver/compiler_driver.h b/src/compiler/driver/compiler_driver.h
index 9fd3c81c21..4f77bdb7a7 100644
--- a/src/compiler/driver/compiler_driver.h
+++ b/src/compiler/driver/compiler_driver.h
@@ -98,6 +98,16 @@ class CompilerDriver {
CompilerTls* GetTls();
+ // Generate the trampolines that are invoked by unresolved direct methods.
+ const std::vector<uint8_t>* CreatePortableResolutionTrampoline() const
+ SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
+ const std::vector<uint8_t>* CreateQuickResolutionTrampoline() const
+ SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
+ const std::vector<uint8_t>* CreateInterpreterToInterpreterEntry() const
+ SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
+ const std::vector<uint8_t>* CreateInterpreterToQuickEntry() const
+ SHARED_LOCKS_REQUIRED(Locks::mutator_lock_);
+
// A class is uniquely located by its DexFile and the class_defs_ table index into that DexFile
typedef std::pair<const DexFile*, uint32_t> ClassReference;