Mercurial > hg > truffle
diff src/os_cpu/linux_zero/vm/os_linux_zero.hpp @ 1266:3b687c53c266
6927165: Zero S/390 fixes
Summary: Fixes two failures on 31-bit S/390.
Reviewed-by: twisti
Contributed-by: Gary Benson <gbenson@redhat.com>
author | twisti |
---|---|
date | Thu, 18 Feb 2010 06:54:48 -0800 |
parents | 354d3184f6b2 |
children | c18cbe5936b8 |
line wrap: on
line diff
--- a/src/os_cpu/linux_zero/vm/os_linux_zero.hpp Thu Feb 18 11:35:41 2010 +0100 +++ b/src/os_cpu/linux_zero/vm/os_linux_zero.hpp Thu Feb 18 06:54:48 2010 -0800 @@ -1,6 +1,6 @@ /* * Copyright 2003-2004 Sun Microsystems, Inc. All Rights Reserved. - * Copyright 2007, 2008 Red Hat, Inc. + * Copyright 2007, 2008, 2010 Red Hat, Inc. * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * This code is free software; you can redistribute it and/or modify it @@ -39,7 +39,13 @@ "stfd %0, 0(%2)\n" : "=f"(tmp) : "b"(src), "b"(dst)); +#elif defined(S390) && !defined(_LP64) + double tmp; + asm volatile ("ld %0, 0(%1)\n" + "std %0, 0(%2)\n" + : "=r"(tmp) + : "a"(src), "a"(dst)); #else *(jlong *) dst = *(jlong *) src; -#endif // PPC && !_LP64 +#endif }