HPCToolkit
blame-map.h
Go to the documentation of this file.
1 // -*-Mode: C++;-*- // technically C99
2 
3 #ifndef _hpctoolkit_blame_map_h_
4 #define _hpctoolkit_blame_map_h_
5 
6 // * BeginRiceCopyright *****************************************************
7 //
8 // $HeadURL: $
9 // $Id$
10 //
11 // --------------------------------------------------------------------------
12 // Part of HPCToolkit (hpctoolkit.org)
13 //
14 // Information about sources of support for research and development of
15 // HPCToolkit is at 'hpctoolkit.org' and in 'README.Acknowledgments'.
16 // --------------------------------------------------------------------------
17 //
18 // Copyright ((c)) 2002-2019, Rice University
19 // All rights reserved.
20 //
21 // Redistribution and use in source and binary forms, with or without
22 // modification, are permitted provided that the following conditions are
23 // met:
24 //
25 // * Redistributions of source code must retain the above copyright
26 // notice, this list of conditions and the following disclaimer.
27 //
28 // * Redistributions in binary form must reproduce the above copyright
29 // notice, this list of conditions and the following disclaimer in the
30 // documentation and/or other materials provided with the distribution.
31 //
32 // * Neither the name of Rice University (RICE) nor the names of its
33 // contributors may be used to endorse or promote products derived from
34 // this software without specific prior written permission.
35 //
36 // This software is provided by RICE and contributors "as is" and any
37 // express or implied warranties, including, but not limited to, the
38 // implied warranties of merchantability and fitness for a particular
39 // purpose are disclaimed. In no event shall RICE or contributors be
40 // liable for any direct, indirect, incidental, special, exemplary, or
41 // consequential damages (including, but not limited to, procurement of
42 // substitute goods or services; loss of use, data, or profits; or
43 // business interruption) however caused and on any theory of liability,
44 // whether in contract, strict liability, or tort (including negligence
45 // or otherwise) arising in any way out of the use of this software, even
46 // if advised of the possibility of such damage.
47 //
48 // ******************************************************* EndRiceCopyright *
49 
50 //******************************************************************************
51 //
52 // map for recording directed blame for locks, critical sections, ...
53 //
54 //******************************************************************************
55 
56 
57 /******************************************************************************
58  * system includes
59  *****************************************************************************/
60 
61 #include <stdint.h>
62 
63 //
64 // (abstract) data type definition
65 //
67 
68 /***************************************************************************
69  * interface operations
70  ***************************************************************************/
71 
73 void blame_map_init(blame_entry_t* table);
75  uint64_t obj, uint32_t metric_value);
76 uint64_t blame_map_get_blame(blame_entry_t* table, uint64_t obj);
77 
78 #endif // _hpctoolkit_blame_map_h_
void blame_map_add_blame(blame_entry_t *table, uint64_t obj, uint32_t metric_value)
void blame_map_init(blame_entry_t *table)
blame_entry_t * blame_map_new(void)
Definition: blame-map.c:158
Definition: blame-map.c:109
uint64_t blame_map_get_blame(blame_entry_t *table, uint64_t obj)