summaryrefslogtreecommitdiffstats
path: root/compiler/dex/compiler_enums.h
diff options
context:
space:
mode:
authorDmitry Petrochenko <dmitry.petrochenko@intel.com>2014-05-17 01:02:18 +0700
committerDmitry Petrochenko <dmitry.petrochenko@intel.com>2014-06-07 01:28:05 +0000
commit58994cdb00b323339bd83828eddc53976048006f (patch)
treea1ec67c5b04cf99439619bf972a58b6d46dd2823 /compiler/dex/compiler_enums.h
parent9529d6273777ee297a8aa7513e8172775f0496df (diff)
downloadandroid_art-58994cdb00b323339bd83828eddc53976048006f.tar.gz
android_art-58994cdb00b323339bd83828eddc53976048006f.tar.bz2
android_art-58994cdb00b323339bd83828eddc53976048006f.zip
x86_64: Hard Float ABI support in QCG
This patch shows our efforts on resolving the ART limitations: - passing "float"/"double" arguments via FPR - passing "long" arguments via single GPR, not pair - passing more than 3 agruments via GPR. Work done: - Extended SpecialTargetRegister enum with kARG4, kARG5, fARG4..fARG7. - Created initial LoadArgRegs/GenDalvikX/FlushIns version in X86Mir2Lir. - Unlimited number of long/double/float arguments support - Refactored (v2) Change-Id: I5deadd320b4341d5b2f50ba6fa4a98031abc3902 Signed-off-by: Serguei Katkov <serguei.i.katkov@intel.com> Signed-off-by: Dmitry Petrochenko <dmitry.petrochenko@intel.com> Signed-off-by: Chao-ying Fu <chao-ying.fu@intel.com> Signed-off-by: Mark Mendell <mark.p.mendell@intel.com>
Diffstat (limited to 'compiler/dex/compiler_enums.h')
-rw-r--r--compiler/dex/compiler_enums.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/dex/compiler_enums.h b/compiler/dex/compiler_enums.h
index eb48cc3783..f0b47878e6 100644
--- a/compiler/dex/compiler_enums.h
+++ b/compiler/dex/compiler_enums.h
@@ -48,10 +48,16 @@ enum SpecialTargetRegister {
kArg1,
kArg2,
kArg3,
+ kArg4,
+ kArg5,
kFArg0,
kFArg1,
kFArg2,
kFArg3,
+ kFArg4,
+ kFArg5,
+ kFArg6,
+ kFArg7,
kRet0,
kRet1,
kInvokeTgt,