1 /***************************************************************************
3 * Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
10 * Passthrough routines for plugin profiling
12 * Copyright (C) 2006 Brandon Low
14 * All files in this archive are subject to the GNU General Public License.
15 * See the file COPYING in the source tree root for full license agreement.
17 * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
18 * KIND, either express or implied.
20 ****************************************************************************/
24 static const struct plugin_api
*local_rb
= NULL
; /* global api struct pointer */
26 void profile_init(const struct plugin_api
* pa
)
31 void __cyg_profile_func_enter(void *this_fn
, void *call_site
) {
34 local_rb
->profile_func_enter(this_fn
, __builtin_return_address(1));
36 local_rb
->profile_func_enter(this_fn
, call_site
);
40 void __cyg_profile_func_exit(void *this_fn
, void *call_site
) {
41 local_rb
->profile_func_exit(this_fn
,call_site
);