summaryrefslogtreecommitdiff
path: root/compiler/utils/assembler.h
diff options
context:
space:
mode:
author Andreas Gampe <agampe@google.com> 2015-10-19 21:31:53 -0700
committer Andreas Gampe <agampe@google.com> 2015-10-30 11:15:26 -0700
commit7cffc3b0004d32faffc552c0a59286f369b21504 (patch)
treee3838b8ba2a782ed91ef8faa381362b7a686a32a /compiler/utils/assembler.h
parent9e1b56f0e77aa5b6c72374b86d0cef58484ddcaa (diff)
ART: Arm32 packed-switch jump tables
Add jump table support to the thumb2 assembler. Jump tables are a collection of labels for the case targets, and an anchor label denoting the position of the jump. Use the jump table support to implement packed-switch support for arm32. Add tests for BindTrackedLabel and JumpTable to the thumb2 assembler test. Bug: 24092914 Change-Id: I5c84f193dfebf9e07f48678efc8bd151bb1410dd
Diffstat (limited to 'compiler/utils/assembler.h')
-rw-r--r--compiler/utils/assembler.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/compiler/utils/assembler.h b/compiler/utils/assembler.h
index d97a2a40b2..dfe6babb25 100644
--- a/compiler/utils/assembler.h
+++ b/compiler/utils/assembler.h
@@ -227,6 +227,8 @@ class AssemblerBuffer {
// Returns the position in the instruction stream.
int GetPosition() { return cursor_ - contents_; }
+ void ExtendCapacity(size_t min_capacity = 0u);
+
private:
// The limit is set to kMinimumGap bytes before the end of the data area.
// This leaves enough space for the longest possible instruction and allows
@@ -261,8 +263,6 @@ class AssemblerBuffer {
return data + capacity - kMinimumGap;
}
- void ExtendCapacity(size_t min_capacity = 0u);
-
friend class AssemblerFixup;
};