From 024a60e374b9b8b65e9696115d8913bfdfce390d Mon Sep 17 00:00:00 2001 From: Andy Wingo Date: Tue, 28 Jan 2014 21:56:54 +0100 Subject: [PATCH] Unnecessary VM_HANDLE_INTERRUPTS elision * libguile/vm-engine.c: Remove VM_HANDLE_INTERRUPTS before entering a subr or foreign call. The bytecode stub will have already done so when entering the stub, and the return sequence handles doing so before returning. --- libguile/vm-engine.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/libguile/vm-engine.c b/libguile/vm-engine.c index 6f82ececf..0caad8a30 100644 --- a/libguile/vm-engine.c +++ b/libguile/vm-engine.c @@ -1,4 +1,4 @@ -/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc. +/* Copyright (C) 2001, 2009, 2010, 2011, 2012, 2013, 2014 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 @@ -734,7 +734,6 @@ VM_NAME (scm_i_thread *current_thread, struct scm_vm *vp, pointer = SCM_PROGRAM_FREE_VARIABLE_REF (LOCAL_REF (0), ptr_idx); subr = SCM_POINTER_VALUE (pointer); - VM_HANDLE_INTERRUPTS; SYNC_IP (); switch (FRAME_LOCALS_COUNT_FROM (1)) @@ -805,7 +804,6 @@ VM_NAME (scm_i_thread *current_thread, struct scm_vm *vp, pointer = SCM_PROGRAM_FREE_VARIABLE_REF (closure, ptr_idx); SYNC_IP (); - VM_HANDLE_INTERRUPTS; // FIXME: separate args ret = scm_i_foreign_call (scm_cons (cif, pointer), LOCAL_ADDRESS (1));