diff options
| author | 2015-05-29 15:50:18 +0100 | |
|---|---|---|
| committer | 2015-06-15 15:13:28 +0100 | |
| commit | f38caa68cce551fb153dff37d01db518e58ed00f (patch) | |
| tree | 723612f20666f429b7c67321f0353d57425b1c63 /compiler/utils/arm/assembler_arm32.h | |
| parent | bd8c725e465cc7f44062745a6f2b73248f5159ed (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.h | 11 |
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, |