Skip to main content

Source code file content

Revision: aa955f6dbe228289c7fa608a5bf1a18b0d5cc674

copyright FIT added
» Project Revision History

» Checkout URL

main / accessInfo.h

Size: 1484 bytes, 1 line
/*
 *
 * (c) Filip Voracek, FIT CTU in Prague, 2012
 */
#undef BEGIN_C_DECLS
#undef END_C_DECLS
#ifdef __cplusplus
#define BEGIN_C_DECLS extern "C" {
#define END_C_DECLS }
#else
#define BEGIN_C_DECLS /* empty */
#define END_C_DECLS /* empty */
#endif

#undef PARAMS
#if defined (__STDC__) || defined (_AIX) \
             || (defined (__mips) && defined (_SYSTYPE_SVR4)) \
             || defined(WIN32) || defined(__cplusplus)
#define PARAMS(protos) protos
#else
#define PARAMS(protos) ()
#endif

#ifndef ACCESS_INFO_H
#define ACCESS_INFO_H 1

#include "globalInclude.h"
#include "logger/logger.h"

typedef struct {
    jlong threadTag;
    char * threadName; // only for output purposes
    jlong segment;
    char * stackTrace;
} Access;

typedef struct {
    Access ** dataRaces;
    int numberOfDataRaces;
    char ** combinedStackTraces;
} DataRaceAccess;

DataRaceAccess* findDataRaces PARAMS((jlong objectTag, jfieldID fieldId, jlong threadTag, bool modification,
        int numberOfMonitors, jlong * monitorTags, int numberOfLocks, jlong * locks));

void addAccess PARAMS((jlong objectTag, jfieldID fieldId, jlong threadTag, jlong segment, bool modification,
        int numberOfMonitors, jlong * monitorTags, int numberOfLocks, jlong * lockTag, char * currentStackTrace
        , char * threadName));

void initAccessInfo PARAMS((void));

void freeAccessInfo PARAMS((void));

END_C_DECLS

#endif /* !ACCESS_INFO_H */
 
 
Close
loading
Please Confirm
Close