From 85b62f23fc6dfffe2ddd3ddfa74611666c9ff41d Mon Sep 17 00:00:00 2001 From: Andreas Gampe Date: Wed, 9 Sep 2015 13:15:38 -0700 Subject: ART: Refactor intrinsics slow-paths Refactor slow paths so that there is a default implementation for common cases (only arm64 with vixl is special). Write a generic intrinsic slow-path that can be reused for the specific architectures. Move helper functions into CodeGenerator so that they are accessible. Change-Id: Ibd788dce432601c6a9f7e6f13eab31f28dcb8550 --- compiler/utils/arm/assembler_arm.h | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'compiler/utils/arm/assembler_arm.h') diff --git a/compiler/utils/arm/assembler_arm.h b/compiler/utils/arm/assembler_arm.h index a4d1837748..967b191d32 100644 --- a/compiler/utils/arm/assembler_arm.h +++ b/compiler/utils/arm/assembler_arm.h @@ -834,8 +834,6 @@ class ArmAssembler : public Assembler { static bool IsInstructionForExceptionHandling(uintptr_t pc); - virtual void Bind(Label* label) = 0; - virtual void CompareAndBranchIfZero(Register r, Label* label) = 0; virtual void CompareAndBranchIfNonZero(Register r, Label* label) = 0; @@ -985,6 +983,10 @@ class ArmAssembler : public Assembler { } } + void Jump(Label* label) OVERRIDE { + b(label); + } + protected: // Returns whether or not the given register is used for passing parameters. static int RegisterCompare(const Register* reg1, const Register* reg2) { -- cgit v1.2.3-59-g8ed1b