summaryrefslogtreecommitdiff
path: root/compiler/utils/arm/assembler_arm32.h
diff options
context:
space:
mode:
author Vladimir Marko <vmarko@google.com> 2015-05-29 15:50:18 +0100
committer Vladimir Marko <vmarko@google.com> 2015-06-15 15:13:28 +0100
commitf38caa68cce551fb153dff37d01db518e58ed00f (patch)
tree723612f20666f429b7c67321f0353d57425b1c63 /compiler/utils/arm/assembler_arm32.h
parentbd8c725e465cc7f44062745a6f2b73248f5159ed (diff)
ART: Implement literal pool for arm, fix branch fixup.
Change-Id: Iecc91418bb4ee1c957f42fefb737d0ee2ba960e7
Diffstat (limited to 'compiler/utils/arm/assembler_arm32.h')
-rw-r--r--compiler/utils/arm/assembler_arm32.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/compiler/utils/arm/assembler_arm32.h b/compiler/utils/arm/assembler_arm32.h
index 3164623fd9..1c38eec12c 100644
--- a/compiler/utils/arm/assembler_arm32.h
+++ b/compiler/utils/arm/assembler_arm32.h
@@ -238,7 +238,16 @@ class Arm32Assembler FINAL : public ArmAssembler {
// Memory barriers.
void dmb(DmbOptions flavor) OVERRIDE;
- // Macros.
+ // Get the final position of a label after local fixup based on the old position
+ // recorded before FinalizeCode().
+ uint32_t GetAdjustedPosition(uint32_t old_position) OVERRIDE;
+
+ Literal* NewLiteral(size_t size, const uint8_t* data) OVERRIDE;
+ void LoadLiteral(Register rt, Literal* literal) OVERRIDE;
+ void LoadLiteral(Register rt, Register rt2, Literal* literal) OVERRIDE;
+ void LoadLiteral(SRegister sd, Literal* literal) OVERRIDE;
+ void LoadLiteral(DRegister dd, Literal* literal) OVERRIDE;
+
// Add signed constant value to rd. May clobber IP.
void AddConstant(Register rd, int32_t value, Condition cond = AL) OVERRIDE;
void AddConstant(Register rd, Register rn, int32_t value,