diff options
Diffstat (limited to 'libcilkrts/include/internal/abi.h')
-rw-r--r-- | libcilkrts/include/internal/abi.h | 33 |
1 files changed, 29 insertions, 4 deletions
diff --git a/libcilkrts/include/internal/abi.h b/libcilkrts/include/internal/abi.h index f45b5bcb178..3f38485d26b 100644 --- a/libcilkrts/include/internal/abi.h +++ b/libcilkrts/include/internal/abi.h @@ -1,11 +1,9 @@ /* * abi.h * - * @copyright - * Copyright (C) 2009-2013, Intel Corporation + * Copyright (C) 2009-2016, Intel Corporation * All rights reserved. * - * @copyright * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: @@ -20,7 +18,6 @@ * contributors may be used to endorse or promote products derived * from this software without specific prior written permission. * - * @copyright * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR @@ -33,6 +30,20 @@ * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY * WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE * POSSIBILITY OF SUCH DAMAGE. + * + * ********************************************************************* + * + * PLEASE NOTE: This file is a downstream copy of a file mainitained in + * a repository at cilkplus.org. Changes made to this file that are not + * submitted through the contribution process detailed at + * http://www.cilkplus.org/submit-cilk-contribution will be lost the next + * time that a new version is released. Changes only submitted to the + * GNU compiler collection or posted to the git repository at + * https://bitbucket.org/intelcilkruntime/intel-cilk-runtime.git are + * not tracked. + * + * We welcome your contributions to this open source project. Thank you + * for your assistance in helping us improve Cilk Plus. * ******************************************************************************/ @@ -461,6 +472,20 @@ CILK_ABI(void) __cilkrts_enter_frame_fast_1(__cilkrts_stack_frame *sf); CILK_ABI(void) __cilkrts_leave_frame(__cilkrts_stack_frame *sf); /** + * Suspends the runtime by notifying the workers that they should not try to + * steal. This function is supposed to be called from a non-parallel region + * (i.e., after cilk_sync in the top-level spawning function). Otherwise, + * which workers are sleeping or busy is unpredictable in general. + * The runtime can be resumed by calling __cilkrts_resume(). + */ +CILK_ABI(void) __cilkrts_suspend(void); + +/** + * Resumes the runtime by notifying the workers that they can steal. + */ +CILK_ABI(void) __cilkrts_resume(void); + +/** * Wait for any spawned children of this function to complete before * continuing. This function will only return when the join counter * has gone to 0. Other workers will re-enter the scheduling loop to |