My Project
Public Member Functions | Static Public Member Functions | Data Fields
vspace::internals::refcount_t Struct Reference

#include <vspace.h>

Public Member Functions

 refcount_t (ptrdiff_t init)
 
ptrdiff_t inc (vaddr_t vaddr)
 
ptrdiff_t dec (vaddr_t vaddr)
 

Static Public Member Functions

static void lock (vaddr_t vaddr)
 
static void unlock (vaddr_t vaddr)
 

Data Fields

ptrdiff_t rc
 

Detailed Description

Definition at line 321 of file vspace.h.

Constructor & Destructor Documentation

◆ refcount_t()

vspace::internals::refcount_t::refcount_t ( ptrdiff_t  init)
inline

Definition at line 329 of file vspace.h.

329  : rc(init) {
330  }
void init()
Definition: lintree.cc:864

Member Function Documentation

◆ dec()

ptrdiff_t vspace::internals::refcount_t::dec ( vaddr_t  vaddr)
inline

Definition at line 337 of file vspace.h.

337  {
338  lock(vaddr);
339  ptrdiff_t result = --rc;
340  unlock(vaddr);
341  return result;
342  }
return result
Definition: facAbsBiFact.cc:75
static void lock(vaddr_t vaddr)
Definition: vspace.h:323
static void unlock(vaddr_t vaddr)
Definition: vspace.h:326

◆ inc()

ptrdiff_t vspace::internals::refcount_t::inc ( vaddr_t  vaddr)
inline

Definition at line 331 of file vspace.h.

331  {
332  lock(vaddr);
333  ptrdiff_t result = ++rc;
334  unlock(vaddr);
335  return result;
336  }

◆ lock()

static void vspace::internals::refcount_t::lock ( vaddr_t  vaddr)
inlinestatic

Definition at line 323 of file vspace.h.

323  {
324  lock_file(vmem.fd, METABLOCK_SIZE + vaddr);
325  }
void lock_file(int fd, size_t offset, size_t len)
Definition: vspace.cc:294
static const size_t METABLOCK_SIZE
Definition: vspace.h:87
static VMem & vmem
Definition: vspace.h:300

◆ unlock()

static void vspace::internals::refcount_t::unlock ( vaddr_t  vaddr)
inlinestatic

Definition at line 326 of file vspace.h.

326  {
327  unlock_file(vmem.fd, METABLOCK_SIZE + vaddr);
328  }
void unlock_file(int fd, size_t offset, size_t len)
Definition: vspace.cc:300

Field Documentation

◆ rc

ptrdiff_t vspace::internals::refcount_t::rc

Definition at line 322 of file vspace.h.


The documentation for this struct was generated from the following file: