34 lines · c
1#ifndef __TSAN_JAVA_H__2#define __TSAN_JAVA_H__3 4#include "test.h"5 6extern "C" {7typedef unsigned long jptr;8void __tsan_java_preinit(const char *libjvm_path);9void __tsan_java_init(jptr heap_begin, jptr heap_size);10int __tsan_java_fini();11void __tsan_java_alloc(jptr ptr, jptr size);12void __tsan_java_free(jptr ptr, jptr size);13jptr __tsan_java_find(jptr *from_ptr, jptr to);14void __tsan_java_move(jptr src, jptr dst, jptr size);15void __tsan_java_finalize();16void __tsan_java_mutex_lock(jptr addr);17void __tsan_java_mutex_unlock(jptr addr);18void __tsan_java_mutex_read_lock(jptr addr);19void __tsan_java_mutex_read_unlock(jptr addr);20void __tsan_java_mutex_lock_rec(jptr addr, int rec);21int __tsan_java_mutex_unlock_rec(jptr addr);22int __tsan_java_acquire(jptr addr);23int __tsan_java_release(jptr addr);24int __tsan_java_release_store(jptr addr);25 26void __tsan_read1_pc(jptr addr, jptr pc);27void __tsan_write1_pc(jptr addr, jptr pc);28void __tsan_func_entry(jptr pc);29void __tsan_func_exit();30}31 32const jptr kExternalPCBit = 1ULL << 60;33 34#endif // __TSAN_JAVA_H__