Home | History | Annotate | Download | only in helgrind

Lines Matching defs:wv

147    If a WordVec WV is marked as dead by HG(dieWS), WV is removed from
188 WordVec* wv;
190 wv = wsu->alloc( wsu->cc, sizeof(WordVec) );
191 wv->owner = wsu;
192 wv->words = NULL;
193 wv->size = sz;
195 wv->words = wsu->alloc( wsu->cc, (SizeT)sz * sizeof(UWord) );
197 return wv;
200 static void delete_WV ( WordVec* wv )
202 void (*dealloc)(void*) = wv->owner->dealloc;
203 if (wv->words) {
204 dealloc(wv->words);
206 dealloc(wv);
208 static void delete_WV_for_FM ( UWord wv ) {
209 delete_WV( (WordVec*)wv );
258 /* True if wv is a dead entry (i.e. is in the linked list of free to be re-used
260 static inline Bool is_dead ( WordSetU* wsu, WordVec* wv )
262 if (wv == NULL) /* last element in free linked list in ix2vec */
265 return (WordVec**)wv >= &(wsu->ix2vec[1])
266 && (WordVec**)wv < &(wsu->ix2vec[wsu->ix2vec_size]);
274 WordVec* wv;
281 wv = wsu->ix2vec[ws];
283 tl_assert(wv);
284 tl_assert(!is_dead(wsu,wv));
285 tl_assert(wv->owner == wsu); /* YYY */
286 return wv;
292 WordVec* wv;
299 wv = wsu->ix2vec[ws];
301 if (is_dead(wsu,wv))
302 wv = NULL;
304 tl_assert(wv->owner == wsu); /* YYY */
305 return wv;
308 /* See if wv is contained within wsu. If so, deallocate wv and return
309 the index of the already-present copy. If not, add wv to both the
402 WordVec* wv = do_ix2vec( wsu, ws );
404 if (wv->size == 0) {
415 WordVec* wv;
418 wv = do_ix2vec( wsu, ws );
419 return (Bool)(wv->size == 1 && wv->words[0] == w);
424 WordVec* wv;
426 wv = do_ix2vec( wsu, ws );
427 tl_assert(wv->size >= 0);
428 return wv->size;
433 WordVec* wv;
436 wv = do_ix2vec( wsu, ws );
437 tl_assert(wv->size >= 1);
438 return wv->words[0];
450 WordVec* wv;
453 wv = do_ix2vec( wsu, ws );
454 tl_assert(wv->size >= 0);
455 *nWords = wv->size;
456 *words = wv->words;
461 WordVec* wv = do_ix2vec_with_dead( wsu, ws );
465 wv);
470 if (!wv)
481 (UWord)wv );
487 delete_WV( wv );
505 WordVec* wv;
510 wv = do_ix2vec( wsu, ws );
512 if (wv->owner != wsu) return False;
513 if (wv->size < 0) return False;
514 if (wv->size > 0) {
515 for (i = 0; i < wv->size-1; i++) {
516 if (wv->words[i] >= wv->words[i+1])
526 WordVec* wv = do_ix2vec( wsu, ws );
528 for (i = 0; i < wv->size; i++) {
529 if (wv->words[i] == w)
537 WordVec* wv;
540 wv = new_WV_of_size(wsu, 1);
541 wv->words[0] = w1;
544 wv = new_WV_of_size(wsu, 2);
545 wv->words[0] = w1;
546 wv->words[1] = w2;
550 wv = new_WV_of_size(wsu, 2);
551 wv->words[0] = w2;
552 wv->words[1] = w1;
554 return add_or_dealloc_WordVec( wsu, wv );
571 WordVec* wv;
573 wv = do_ix2vec( wsu, ws );
575 for (i = 0; i < wv->size; i++) {
576 VG_(printf)("%p", (void*)wv->words[i]);
577 if (i < wv->size-1)
609 WordVec* wv;
617 wv = do_ix2vec( wsu, ws );
618 for (k = 0; k < wv->size; k++) {
619 if (wv->words[k] == w) {
625 wv_new = new_WV_of_size( wsu, wv->size + 1 );
627 for (; k < wv->size && wv->words[k] < w; k++) {
628 wv_new->words[j++] = wv->words[k];
631 for (; k < wv->size; k++) {
632 tl_assert(wv->words[k] > w);
633 wv_new->words[j++] = wv->words[k];
651 WordVec* wv = do_ix2vec( wsu, ws );
656 if (wv->size == 0) {
665 for (i = 0; i < wv->size; i++) {
666 if (wv->words[i] == w)
669 if (i == wv->size) {
675 tl_assert(i >= 0 && i < wv->size);
676 tl_assert(wv->size > 0);
678 wv_new = new_WV_of_size( wsu, wv->size - 1 );
680 for (; j < wv->size; j++) {
683 wv_new->words[k++] = wv->words[j];
688 if (wv->size == 1) {
928 WordVec* wv = do_ix2vec( wsu, ws );
930 for (i = 0; i < wv->size; i++) {
931 VG_(printf)("%lu", wv->words[i]);
932 if (i < wv->size-1)