From 5e80f2cea30e18e58b9aaf4e95acf8ccfd1eb45f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 29 Jan 2012 22:18:15 +0100 Subject: [PATCH] Revert "Work around instruction reordering on SPARC and HPPA in the VM." This reverts commit 2b264d7e4fb649955ade1814527b6eb6f34f4e18, which is unnecessary after commit f5ea0499a411309014475dc7f7983e827f431af2 ("Build with `-fno-strict-aliasing' when available."). --- libguile/vm-i-system.c | 25 ++++--------------------- 1 file changed, 4 insertions(+), 21 deletions(-) diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c index 1e3c2e54b..3a78dd93a 100644 --- a/libguile/vm-i-system.c +++ b/libguile/vm-i-system.c @@ -1,6 +1,5 @@ -/* Copyright (C) 2001, 2008, 2009, 2010, 2011, - * 2012 Free Software Foundation, Inc. - * +/* Copyright (C) 2001,2008,2009,2010,2011 Free Software Foundation, Inc. + * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public License * as published by the Free Software Foundation; either version 3 of @@ -20,17 +19,6 @@ /* This file is included in vm_engine.c */ -/* Compiler barrier, to prevent instruction reordering, apparently due - to a bug in GCC 4.3.2 on sparc-linux-gnu and on hppa2.0-linux-gnu. - See , for details. */ - -#ifdef __GNUC__ -# define COMPILER_BARRIER __asm__ __volatile__ ("") -#else -# define COMPILER_BARRIER do { } while (0) -#endif - - /* * Basic operations @@ -67,7 +55,6 @@ VM_DEFINE_INSTRUCTION (1, halt, "halt", 0, 0, 0) stack */ ip = SCM_FRAME_RETURN_ADDRESS (fp); fp = SCM_FRAME_DYNAMIC_LINK (fp); - COMPILER_BARRIER; NULLSTACK (old_sp - sp); } @@ -1339,7 +1326,6 @@ VM_DEFINE_INSTRUCTION (67, return, "return", 0, 1, 1) sp = SCM_FRAME_LOWER_ADDRESS (fp); ip = SCM_FRAME_RETURN_ADDRESS (fp); fp = SCM_FRAME_DYNAMIC_LINK (fp); - COMPILER_BARRIER; #ifdef VM_ENABLE_STACK_NULLING NULLSTACK (old_sp - sp); @@ -1377,8 +1363,7 @@ VM_DEFINE_INSTRUCTION (68, return_values, "return/values", 1, -1, -1) sp = SCM_FRAME_LOWER_ADDRESS (fp) - 1; ip = SCM_FRAME_MV_RETURN_ADDRESS (fp); fp = SCM_FRAME_DYNAMIC_LINK (fp); - COMPILER_BARRIER; - + /* Push return values, and the number of values */ for (i = 0; i < nvalues; i++) *++sp = vals[i+1]; @@ -1398,8 +1383,7 @@ VM_DEFINE_INSTRUCTION (68, return_values, "return/values", 1, -1, -1) sp = SCM_FRAME_LOWER_ADDRESS (fp) - 1; ip = SCM_FRAME_RETURN_ADDRESS (fp); fp = SCM_FRAME_DYNAMIC_LINK (fp); - COMPILER_BARRIER; - + /* Push first value */ *++sp = vals[1]; @@ -1817,7 +1801,6 @@ VM_DEFINE_INSTRUCTION (93, assert_nargs_ee_locals, "assert-nargs-ee/locals", 1, NEXT; } -#undef COMPILER_BARRIER /* (defun renumber-ops ()