1 #ifndef __TSAN_JAVA_H__
2 #define __TSAN_JAVA_H__
7 typedef unsigned long jptr
;
8 void __tsan_java_preinit(const char *libjvm_path
);
9 void __tsan_java_init(jptr heap_begin
, jptr heap_size
);
10 int __tsan_java_fini();
11 void __tsan_java_alloc(jptr ptr
, jptr size
);
12 void __tsan_java_free(jptr ptr
, jptr size
);
13 jptr
__tsan_java_find(jptr
*from_ptr
, jptr to
);
14 void __tsan_java_move(jptr src
, jptr dst
, jptr size
);
15 void __tsan_java_finalize();
16 void __tsan_java_mutex_lock(jptr addr
);
17 void __tsan_java_mutex_unlock(jptr addr
);
18 void __tsan_java_mutex_read_lock(jptr addr
);
19 void __tsan_java_mutex_read_unlock(jptr addr
);
20 void __tsan_java_mutex_lock_rec(jptr addr
, int rec
);
21 int __tsan_java_mutex_unlock_rec(jptr addr
);
22 int __tsan_java_acquire(jptr addr
);
23 int __tsan_java_release(jptr addr
);
24 int __tsan_java_release_store(jptr addr
);
26 void __tsan_read1_pc(jptr addr
, jptr pc
);
27 void __tsan_write1_pc(jptr addr
, jptr pc
);
28 void __tsan_func_entry(jptr pc
);
29 void __tsan_func_exit();
32 const jptr kExternalPCBit
= 1ULL << 60;
34 #endif // __TSAN_JAVA_H__