Lines Matching refs:dvar
689 dtrace_dynvar_t *dvar;
720 dvar = (dtrace_dynvar_t *)((uintptr_t)addr - chunkoffs);
722 if (dvar->dtdv_hashval == DTRACE_DYNHASH_FREE)
726 ((dvar->dtdv_tuple.dtt_nkeys - 1) * sizeof (dtrace_key_t)))
729 DTRACE_RANGE_REMAIN(remain, addr, dvar, dstate->dtds_chunksize);
1756 dtrace_dynvar_t *free, *new_free, *next, *dvar, *start, *prev = NULL;
1867 for (dvar = start; dvar != NULL; dvar = dvar->dtdv_next) {
1868 dtrace_tuple_t *dtuple = &dvar->dtdv_tuple;
1871 if (dvar->dtdv_hashval != hashval) {
1872 if (dvar->dtdv_hashval == DTRACE_DYNHASH_SINK) {
1879 ASSERT(dvar->dtdv_next == NULL);
1880 ASSERT(dvar == &dtrace_dynhash_sink);
1884 if (dvar->dtdv_hashval == DTRACE_DYNHASH_FREE) {
1896 * this case, we simply set dvar to NULL and
1900 dvar = NULL;
1927 return (dvar);
1929 ASSERT(dvar->dtdv_next == NULL ||
1930 dvar->dtdv_next->dtdv_hashval != DTRACE_DYNHASH_FREE);
1933 ASSERT(hash[bucket].dtdh_chain != dvar);
1934 ASSERT(start != dvar);
1935 ASSERT(prev->dtdv_next == dvar);
1936 prev->dtdv_next = dvar->dtdv_next;
1939 start, dvar->dtdv_next) != start) {
1956 ASSERT(hash[bucket].dtdh_chain != dvar);
1957 dvar->dtdv_hashval = DTRACE_DYNHASH_FREE;
1963 * atomically swing the dirty pointer to the newly freed dvar.
1967 dvar->dtdv_next = next;
1968 } while (dtrace_casptr(&dcpu->dtdsc_dirty, next, dvar) != next);
1979 prev = dvar;
1983 if (dvar == NULL) {
1985 * If dvar is NULL, it is because we went off the rails:
2149 dvar = free;
2150 new_free = dvar->dtdv_next;
2159 kdata = (uintptr_t)&dvar->dtdv_tuple.dtt_key[nkeys];
2160 dvar->dtdv_data = (void *)(kdata + ksize);
2161 dvar->dtdv_tuple.dtt_nkeys = nkeys;
2164 dtrace_key_t *dkey = &dvar->dtdv_tuple.dtt_key[i];
2180 ASSERT(dvar->dtdv_hashval == DTRACE_DYNHASH_FREE);
2181 dvar->dtdv_hashval = hashval;
2182 dvar->dtdv_next = start;
2184 if (dtrace_casptr(&hash[bucket].dtdh_chain, start, dvar) == start)
2185 return (dvar);
2196 dvar->dtdv_hashval = DTRACE_DYNHASH_FREE;
2202 dvar->dtdv_next = free;
2203 } while (dtrace_casptr(&dcpu->dtdsc_dirty, free, dvar) != free);
6166 dtrace_dynvar_t *dvar;
6180 dvar = dtrace_dynvar(dstate, 2, key,
6184 if (dvar == NULL) {
6190 regs[rd] = (uint64_t)(uintptr_t)dvar->dtdv_data;
6192 regs[rd] = *((uint64_t *)dvar->dtdv_data);
6199 dtrace_dynvar_t *dvar;
6214 dvar = dtrace_dynvar(dstate, 2, key,
6226 if (dvar == NULL)
6238 dvar->dtdv_data, &v->dtdv_type, lim);
6240 *((uint64_t *)dvar->dtdv_data) = regs[rd];
6307 dtrace_dynvar_t *dvar;
6328 dvar = dtrace_dynvar(dstate, nkeys, key,
6333 if (dvar == NULL) {
6339 regs[rd] = (uint64_t)(uintptr_t)dvar->dtdv_data;
6341 regs[rd] = *((uint64_t *)dvar->dtdv_data);
6349 dtrace_dynvar_t *dvar;
6370 dvar = dtrace_dynvar(dstate, nkeys, key,
6376 if (dvar == NULL)
6388 dvar->dtdv_data, &v->dtdv_type, lim);
6390 *((uint64_t *)dvar->dtdv_data) = regs[rd];
13456 dtrace_dynvar_t *dvar, *next, *start;
13516 dstate->dtds_percpu[i].dtdsc_free = dvar = start;
13536 next = (dtrace_dynvar_t *)((uintptr_t)dvar +
13542 VERIFY((uintptr_t)dvar >= (uintptr_t)base &&
13543 (uintptr_t)dvar <= (uintptr_t)base + size);
13544 dvar->dtdv_next = next;
13545 dvar = next;