diff options
| author | Douglas Leung <douglas@mips.com> | 2012-11-26 18:57:38 -0800 |
|---|---|---|
| committer | Paul Lind <plind@mips.com> | 2012-11-26 18:58:40 -0800 |
| commit | 6e3967d1cca2f8baee1fa6e90f511553dd8651e5 (patch) | |
| tree | 6c5ff74974220c566a0a138e6d908d875a142924 /vm/compiler/codegen | |
| parent | 15d51db11420b8ec3dd885f5e790dab6b79ce1be (diff) | |
| download | android_dalvik-6e3967d1cca2f8baee1fa6e90f511553dd8651e5.tar.gz android_dalvik-6e3967d1cca2f8baee1fa6e90f511553dd8651e5.tar.bz2 android_dalvik-6e3967d1cca2f8baee1fa6e90f511553dd8651e5.zip | |
[MIPS] Fixing FP registers fs0 and fs1 corruption bug.
For performance reasons, we don't want to use "callee saved" FP registers.
The fix is to just use temporary FP registers instead.
Change-Id: Ifae20c707ff7022905a080892348bfbc151e4935
Signed-off-by: Douglas Leung <douglas@mips.com>
Diffstat (limited to 'vm/compiler/codegen')
| -rw-r--r-- | vm/compiler/codegen/mips/mips/CallingConvention.S | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/vm/compiler/codegen/mips/mips/CallingConvention.S b/vm/compiler/codegen/mips/mips/CallingConvention.S index ab9765512..cfe2695fc 100644 --- a/vm/compiler/codegen/mips/mips/CallingConvention.S +++ b/vm/compiler/codegen/mips/mips/CallingConvention.S @@ -24,9 +24,17 @@ .global dvmJitCalleeSave .type dvmJitCalleeSave, %function dvmJitCalleeSave: +#ifdef __mips_hard_float + /* For performance reasons, we are not using any "callee saved" */ + /* fp registers, thus no need to save them. */ +#endif jr $31 .global dvmJitCalleeRestore .type dvmJitCalleeRestore, %function dvmJitCalleeRestore: +#ifdef __mips_hard_float + /* For performance reasons, we are not using any "callee saved" */ + /* fp registers, thus no need to restore them. */ +#endif jr $31 |
