Lines Matching refs:pc
50 static FdSync *allocsync(ThreadState *thr, uptr pc) { in allocsync() argument
51 FdSync *s = (FdSync*)user_alloc(thr, pc, sizeof(FdSync), kDefaultAlignment, in allocsync()
63 static void unref(ThreadState *thr, uptr pc, FdSync *s) { in unref() argument
69 user_free(thr, pc, s, false); in unref()
74 static FdDesc *fddesc(ThreadState *thr, uptr pc, int fd) { in fddesc() argument
82 void *p = user_alloc(thr, pc, size, kDefaultAlignment, false); in fddesc()
88 user_free(thr, pc, p, false); in fddesc()
94 static void init(ThreadState *thr, uptr pc, int fd, FdSync *s, in init() argument
96 FdDesc *d = fddesc(thr, pc, fd); in init()
100 unref(thr, pc, d->sync); in init()
104 unref(thr, pc, s); in init()
108 unref(thr, pc, s); in init()
112 d->creation_stack = CurrentStackId(thr, pc); in init()
115 MemoryRangeImitateWrite(thr, pc, (uptr)d, 8); in init()
118 MemoryRead(thr, pc, (uptr)d, kSizeLog8); in init()
128 void FdOnFork(ThreadState *thr, uptr pc) { in FdOnFork() argument
138 MemoryResetRange(thr, pc, (uptr)d, 8); in FdOnFork()
160 void FdAcquire(ThreadState *thr, uptr pc, int fd) { in FdAcquire() argument
163 FdDesc *d = fddesc(thr, pc, fd); in FdAcquire()
166 MemoryRead(thr, pc, (uptr)d, kSizeLog8); in FdAcquire()
168 Acquire(thr, pc, (uptr)s); in FdAcquire()
171 void FdRelease(ThreadState *thr, uptr pc, int fd) { in FdRelease() argument
174 FdDesc *d = fddesc(thr, pc, fd); in FdRelease()
177 MemoryRead(thr, pc, (uptr)d, kSizeLog8); in FdRelease()
179 Release(thr, pc, (uptr)s); in FdRelease()
182 void FdAccess(ThreadState *thr, uptr pc, int fd) { in FdAccess() argument
186 FdDesc *d = fddesc(thr, pc, fd); in FdAccess()
187 MemoryRead(thr, pc, (uptr)d, kSizeLog8); in FdAccess()
190 void FdClose(ThreadState *thr, uptr pc, int fd, bool write) { in FdClose() argument
194 FdDesc *d = fddesc(thr, pc, fd); in FdClose()
197 MemoryWrite(thr, pc, (uptr)d, kSizeLog8); in FdClose()
207 MemoryRead(thr, pc, (uptr)d, kSizeLog8); in FdClose()
211 MemoryResetRange(thr, pc, (uptr)d, 8); in FdClose()
212 unref(thr, pc, d->sync); in FdClose()
218 void FdFileCreate(ThreadState *thr, uptr pc, int fd) { in FdFileCreate() argument
222 init(thr, pc, fd, &fdctx.filesync); in FdFileCreate()
225 void FdDup(ThreadState *thr, uptr pc, int oldfd, int newfd, bool write) { in FdDup() argument
230 FdDesc *od = fddesc(thr, pc, oldfd); in FdDup()
231 MemoryRead(thr, pc, (uptr)od, kSizeLog8); in FdDup()
232 FdClose(thr, pc, newfd, write); in FdDup()
233 init(thr, pc, newfd, ref(od->sync), write); in FdDup()
236 void FdPipeCreate(ThreadState *thr, uptr pc, int rfd, int wfd) { in FdPipeCreate() argument
238 FdSync *s = allocsync(thr, pc); in FdPipeCreate()
239 init(thr, pc, rfd, ref(s)); in FdPipeCreate()
240 init(thr, pc, wfd, ref(s)); in FdPipeCreate()
241 unref(thr, pc, s); in FdPipeCreate()
244 void FdEventCreate(ThreadState *thr, uptr pc, int fd) { in FdEventCreate() argument
248 init(thr, pc, fd, allocsync(thr, pc)); in FdEventCreate()
251 void FdSignalCreate(ThreadState *thr, uptr pc, int fd) { in FdSignalCreate() argument
255 init(thr, pc, fd, 0); in FdSignalCreate()
258 void FdInotifyCreate(ThreadState *thr, uptr pc, int fd) { in FdInotifyCreate() argument
262 init(thr, pc, fd, 0); in FdInotifyCreate()
265 void FdPollCreate(ThreadState *thr, uptr pc, int fd) { in FdPollCreate() argument
269 init(thr, pc, fd, allocsync(thr, pc)); in FdPollCreate()
272 void FdSocketCreate(ThreadState *thr, uptr pc, int fd) { in FdSocketCreate() argument
277 init(thr, pc, fd, &fdctx.socksync); in FdSocketCreate()
280 void FdSocketAccept(ThreadState *thr, uptr pc, int fd, int newfd) { in FdSocketAccept() argument
285 Acquire(thr, pc, (uptr)&fdctx.connectsync); in FdSocketAccept()
286 init(thr, pc, newfd, &fdctx.socksync); in FdSocketAccept()
289 void FdSocketConnecting(ThreadState *thr, uptr pc, int fd) { in FdSocketConnecting() argument
294 Release(thr, pc, (uptr)&fdctx.connectsync); in FdSocketConnecting()
297 void FdSocketConnect(ThreadState *thr, uptr pc, int fd) { in FdSocketConnect() argument
301 init(thr, pc, fd, &fdctx.socksync); in FdSocketConnect()