summaryrefslogtreecommitdiffstats
path: root/compiler/utils/assembler.h
diff options
context:
space:
mode:
authorNicolas Geoffray <ngeoffray@google.com>2014-03-19 10:34:11 +0000
committerNicolas Geoffray <ngeoffray@google.com>2014-03-31 09:44:40 +0100
commit8ccc3f5d06fd217cdaabd37e743adab2031d3720 (patch)
treeec8c904baafb4d9b9bfd582245e2d780bcdfaade /compiler/utils/assembler.h
parentad174d1b54bf2fa477bec71a0ca93595f54b8fe9 (diff)
downloadandroid_art-8ccc3f5d06fd217cdaabd37e743adab2031d3720.tar.gz
android_art-8ccc3f5d06fd217cdaabd37e743adab2031d3720.tar.bz2
android_art-8ccc3f5d06fd217cdaabd37e743adab2031d3720.zip
Add support for invoke-static in optimizing compiler.
Support is limited to calls without parameters and returning void. For simplicity, we currently follow the Quick ABI. Change-Id: I54805161141b7eac5959f1cae0dc138dd0b2e8a5
Diffstat (limited to 'compiler/utils/assembler.h')
-rw-r--r--compiler/utils/assembler.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/compiler/utils/assembler.h b/compiler/utils/assembler.h
index cd4fc12e33..3dc5b5dd7a 100644
--- a/compiler/utils/assembler.h
+++ b/compiler/utils/assembler.h
@@ -48,6 +48,23 @@ namespace x86 {
class X86Assembler;
}
+class ExternalLabel {
+ public:
+ ExternalLabel(const char* name, uword address)
+ : name_(name), address_(address) {
+ DCHECK(name != nullptr);
+ }
+
+ const char* name() const { return name_; }
+ uword address() const {
+ return address_;
+ }
+
+ private:
+ const char* name_;
+ const uword address_;
+};
+
class Label {
public:
Label() : position_(0) {}