diff options
author | Andy Wingo <wingo@pobox.com> | 2012-01-30 19:59:08 +0100 |
---|---|---|
committer | Andy Wingo <wingo@pobox.com> | 2012-01-30 20:27:35 +0100 |
commit | dfadcf85cb3ae9133dece6bc39ed03dd25323d6e (patch) | |
tree | 93c918a793ee86c8406fd1bac521ea2b870361cf /libguile/vm-i-system.c | |
parent | 252acfe8e70ac4c7d325588ffea1905fcf6f86b2 (diff) | |
parent | e1fbe716e8596b7027af57623ebc72a0c6393187 (diff) | |
download | guile-dfadcf85cb3ae9133dece6bc39ed03dd25323d6e.tar.gz |
Merge remote-tracking branch 'origin/stable-2.0'
Conflicts:
libguile/debug.h
module/ice-9/psyntax-pp.scm
module/ice-9/psyntax.scm
module/language/tree-il/peval.scm
module/language/tree-il/primitives.scm
Diffstat (limited to 'libguile/vm-i-system.c')
-rw-r--r-- | libguile/vm-i-system.c | 25 |
1 files changed, 4 insertions, 21 deletions
diff --git a/libguile/vm-i-system.c b/libguile/vm-i-system.c index 0804bad5d..8981042f8 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 <http://bugs.gnu.org/10520>, 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); } @@ -1280,7 +1267,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); @@ -1316,8 +1302,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]; @@ -1337,8 +1322,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]; @@ -1729,7 +1713,6 @@ VM_DEFINE_INSTRUCTION (93, assert_nargs_ee_locals, "assert-nargs-ee/locals", 1, NEXT; } -#undef COMPILER_BARRIER /* (defun renumber-ops () |