Home | History | Annotate | Download | only in memcheck

Lines Matching defs:otag

1599 void MC_(make_mem_undefined_w_otag) ( Addr a, SizeT len, UInt otag )
1605 ocache_sarp_Set_Origins ( a, len, otag );
1788 directly as an origin tag (otag), but in fact we want to put
1802 otag, OR in one of the MC_OKIND_
1805 * to convert an otag back to an ECU, AND it with ~3
1807 One important fact is that no valid otag is zero. A zero otag is
1839 A naive implementation would require storing one 32 bit otag for
1841 is one otag for every 4 bytes of memory covered, plus a 4-bit mask
1866 shadow are allocated for the register's otag, then there are still
1889 The only significant point is how to compute the otag corresponding
1893 rule always propagates a nonzero (known) otag in preference to a
1901 Since constants are abstracted to (otag) zero, much of the
1912 This is again largely straightforward. Mostly the otag and V bits
1930 without-otag case.
1949 we paint the redzone using an otag derived from the ExeContext of
1968 ExeContext's ECU as the basis for the otag used to paint the
1978 > Question: why is otag a UInt? Wouldn't a UWord be better? Isn't
1999 Suppose that instead, an otag is a UWord. This would mean that, on
2005 shadow, and use that instead to hold the otag. On ppc64, the
2013 same) and so I had to look for 4 untracked otag-sized areas in
2040 * The origin cache only stores one otag per 32-bits of address
2366 static INLINE void set_aligned_word64_Origin_to_undef ( Addr a, UInt otag )
2379 line->w32[lineoff+0] = otag;
2380 line->w32[lineoff+1] = otag;
2420 void make_aligned_word32_undefined_w_otag ( Addr a, UInt otag )
2432 line->w32[lineoff] = otag;
2504 void make_aligned_word64_undefined_w_otag ( Addr a, UInt otag )
2516 line->w32[lineoff+0] = otag;
2517 line->w32[lineoff+1] = otag;
2576 UInt otag = ecu | MC_OKIND_STACK;
2579 make_aligned_word32_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP, otag );
2581 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 4, otag );
2612 UInt otag = ecu | MC_OKIND_STACK;
2615 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP, otag );
2617 make_aligned_word32_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP , otag );
2618 make_aligned_word32_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+4, otag );
2620 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 8, otag );
2657 UInt otag = ecu | MC_OKIND_STACK;
2660 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP , otag );
2661 make_aligned_word32_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+8, otag );
2666 make_aligned_word32_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP , otag );
2667 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+4, otag );
2669 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 12, otag );
2717 UInt otag = ecu | MC_OKIND_STACK;
2721 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP , otag );
2722 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+8, otag );
2726 make_aligned_word32_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP , otag );
2727 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+4 , otag );
2728 make_aligned_word32_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+12, otag );
2730 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 16, otag );
2776 UInt otag = ecu | MC_OKIND_STACK;
2780 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP , otag );
2781 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+8 , otag );
2782 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+16, otag );
2783 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+24, otag );
2787 make_aligned_word32_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP , otag );
2788 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+4 , otag );
2789 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+12, otag );
2790 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+20, otag );
2791 make_aligned_word32_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+28, otag );
2793 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 32, otag );
2848 UInt otag = ecu | MC_OKIND_STACK;
2851 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP , otag );
2852 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+8 , otag );
2853 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+16, otag );
2854 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+24, otag );
2855 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+32, otag );
2856 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+40, otag );
2857 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+48, otag );
2858 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+56, otag );
2859 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+64, otag );
2860 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+72, otag );
2861 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+80, otag );
2862 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+88, otag );
2863 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+96, otag );
2864 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+104, otag );
2866 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 112, otag );
2923 UInt otag = ecu | MC_OKIND_STACK;
2926 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP , otag );
2927 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+8 , otag );
2928 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+16, otag );
2929 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+24, otag );
2930 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+32, otag );
2931 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+40, otag );
2932 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+48, otag );
2933 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+56, otag );
2934 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+64, otag );
2935 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+72, otag );
2936 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+80, otag );
2937 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+88, otag );
2938 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+96, otag );
2939 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+104, otag );
2940 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+112, otag );
2941 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+120, otag );
2943 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 128, otag );
3004 UInt otag = ecu | MC_OKIND_STACK;
3007 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP, otag );
3008 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+8, otag );
3009 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+16, otag );
3010 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+24, otag );
3011 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+32, otag );
3012 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+40, otag );
3013 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+48, otag );
3014 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+56, otag );
3015 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+64, otag );
3016 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+72, otag );
3017 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+80, otag );
3018 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+88, otag );
3019 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+96, otag );
3020 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+104, otag );
3021 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+112, otag );
3022 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+120, otag );
3023 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+128, otag );
3024 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+136, otag );
3026 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 144, otag );
3091 UInt otag = ecu | MC_OKIND_STACK;
3094 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP, otag );
3095 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+8, otag );
3096 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+16, otag );
3097 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+24, otag );
3098 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+32, otag );
3099 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+40, otag );
3100 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+48, otag );
3101 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+56, otag );
3102 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+64, otag );
3103 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+72, otag );
3104 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+80, otag );
3105 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+88, otag );
3106 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+96, otag );
3107 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+104, otag );
3108 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+112, otag );
3109 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+120, otag );
3110 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+128, otag );
3111 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+136, otag );
3112 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+144, otag );
3113 make_aligned_word64_undefined_w_otag ( -VG_STACK_REDZONE_SZB + new_SP+152, otag );
3115 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + new_SP, 160, otag );
3183 UInt otag = ecu | MC_OKIND_STACK;
3185 MC_(make_mem_undefined_w_otag) ( -VG_STACK_REDZONE_SZB + a, len, otag );
3311 UInt otag;
3320 otag = ecu | MC_OKIND_STACK;
3323 otag = 0;
3328 MC_(make_mem_undefined)(base, len, otag);
3335 make_aligned_word64_undefined(base + 0, otag);
3336 make_aligned_word64_undefined(base + 8, otag);
3337 make_aligned_word64_undefined(base + 16, otag);
3338 make_aligned_word64_undefined(base + 24, otag);
3340 make_aligned_word64_undefined(base + 32, otag);
3341 make_aligned_word64_undefined(base + 40, otag);
3342 make_aligned_word64_undefined(base + 48, otag);
3343 otag);
3345 make_aligned_word64_undefined(base + 64, otag);
3346 make_aligned_word64_undefined(base + 72, otag);
3347 make_aligned_word64_undefined(base + 80, otag);
3348 make_aligned_word64_undefined(base + 88, otag);
3350 make_aligned_word64_undefined(base + 96, otag);
3351 make_aligned_word64_undefined(base + 104, otag);
3352 make_aligned_word64_undefined(base + 112, otag);
3353 make_aligned_word64_undefined(base + 120, otag);
3355 MC_(make_mem_undefined)(base, len, otag);
3401 set_aligned_word64_Origin_to_undef( base + 8 * 0, otag );
3402 set_aligned_word64_Origin_to_undef( base + 8 * 1, otag );
3403 set_aligned_word64_Origin_to_undef( base + 8 * 2, otag );
3404 set_aligned_word64_Origin_to_undef( base + 8 * 3, otag );
3405 set_aligned_word64_Origin_to_undef( base + 8 * 4, otag );
3406 set_aligned_word64_Origin_to_undef( base + 8 * 5, otag );
3407 set_aligned_word64_Origin_to_undef( base + 8 * 6, otag );
3408 set_aligned_word64_Origin_to_undef( base + 8 * 7, otag );
3409 set_aligned_word64_Origin_to_undef( base + 8 * 8, otag );
3410 set_aligned_word64_Origin_to_undef( base + 8 * 9, otag );
3411 set_aligned_word64_Origin_to_undef( base + 8 * 10, otag );
3412 set_aligned_word64_Origin_to_undef( base + 8 * 11, otag );
3413 set_aligned_word64_Origin_to_undef( base + 8 * 12, otag );
3414 set_aligned_word64_Origin_to_undef( base + 8 * 13, otag );
3415 set_aligned_word64_Origin_to_undef( base + 8 * 14, otag );
3416 set_aligned_word64_Origin_to_undef( base + 8 * 15, otag );
3477 set_aligned_word64_Origin_to_undef( base + 8 * 0, otag );
3478 set_aligned_word64_Origin_to_undef( base + 8 * 1, otag );
3479 set_aligned_word64_Origin_to_undef( base + 8 * 2, otag );
3480 set_aligned_word64_Origin_to_undef( base + 8 * 3, otag );
3481 set_aligned_word64_Origin_to_undef( base + 8 * 4, otag );
3482 set_aligned_word64_Origin_to_undef( base + 8 * 5, otag );
3483 set_aligned_word64_Origin_to_undef( base + 8 * 6, otag );
3484 set_aligned_word64_Origin_to_undef( base + 8 * 7, otag );
3485 set_aligned_word64_Origin_to_undef( base + 8 * 8, otag );
3486 set_aligned_word64_Origin_to_undef( base + 8 * 9, otag );
3487 set_aligned_word64_Origin_to_undef( base + 8 * 10, otag );
3488 set_aligned_word64_Origin_to_undef( base + 8 * 11, otag );
3489 set_aligned_word64_Origin_to_undef( base + 8 * 12, otag );
3490 set_aligned_word64_Origin_to_undef( base + 8 * 13, otag );
3491 set_aligned_word64_Origin_to_undef( base + 8 * 14, otag );
3492 set_aligned_word64_Origin_to_undef( base + 8 * 15, otag );
3493 set_aligned_word64_Origin_to_undef( base + 8 * 16, otag );
3494 set_aligned_word64_Origin_to_undef( base + 8 * 17, otag );
3495 set_aligned_word64_Origin_to_undef( base + 8 * 18, otag );
3496 set_aligned_word64_Origin_to_undef( base + 8 * 19, otag );
3497 set_aligned_word64_Origin_to_undef( base + 8 * 20, otag );
3498 set_aligned_word64_Origin_to_undef( base + 8 * 21, otag );
3499 set_aligned_word64_Origin_to_undef( base + 8 * 22, otag );
3500 set_aligned_word64_Origin_to_undef( base + 8 * 23, otag );
3501 set_aligned_word64_Origin_to_undef( base + 8 * 24, otag );
3502 set_aligned_word64_Origin_to_undef( base + 8 * 25, otag );
3503 set_aligned_word64_Origin_to_undef( base + 8 * 26, otag );
3504 set_aligned_word64_Origin_to_undef( base + 8 * 27, otag );
3505 set_aligned_word64_Origin_to_undef( base + 8 * 28, otag );
3506 set_aligned_word64_Origin_to_undef( base + 8 * 29, otag );
3507 set_aligned_word64_Origin_to_undef( base + 8 * 30, otag );
3508 set_aligned_word64_Origin_to_undef( base + 8 * 31, otag );
3509 set_aligned_word64_Origin_to_undef( base + 8 * 32, otag );
3510 set_aligned_word64_Origin_to_undef( base + 8 * 33, otag );
3511 set_aligned_word64_Origin_to_undef( base + 8 * 34, otag );
3512 set_aligned_word64_Origin_to_undef( base + 8 * 35, otag );
3520 MC_(make_mem_undefined_w_otag)(base, len, otag);
3584 /*OUT*/UInt* otag )
3592 if (otag) *otag = 0;
3608 if (otag && MC_(clo_mc_level) == 3) {
3609 *otag = MC_(helperc_b_load1)( a );
3633 /*OUT*/UInt* otagV, /* and what's its otag? */
3683 static Bool mc_is_defined_asciiz ( Addr a, Addr* bad_addr, UInt* otag )
3690 if (otag) *otag = 0;
3706 if (otag && MC_(clo_mc_level) == 3) {
3707 *otag = MC_(helperc_b_load1)( a );
3736 /*isAddrErr*/True, s, 0/*otag*/ );
3753 UInt otag = 0;
3755 MC_ReadResult res = is_mem_defined ( base, size, &bad_addr, &otag );
3763 isAddrErr ? 0 : otag );
3767 MC_(record_regparam_error) ( tid, s, otag );
3788 UInt otag = 0;
3791 res = mc_is_defined_asciiz ( (Addr)str, &bad_addr, &otag );
3795 isAddrErr ? 0 : otag );
3922 UInt otag;
3933 otag = area[1];
3934 return otag;
3970 UInt otag;
3990 otag = mb_get_origin_for_guest_offset( tid, offset, size );
3991 MC_(record_regparam_error) ( tid, s, otag );
5260 UInt otag;
5283 case 1: res = is_mem_defined ( address, szB, &bad_addr, &otag );
5289 okind = otag & 3;
5305 ecu = otag & ~3;
6001 static void ocache_sarp_Set_Origins ( Addr a, UWord len, UInt otag ) {
6003 MC_(helperc_b_store1)( a, otag );
6008 MC_(helperc_b_store2)( a, otag );
6015 MC_(helperc_b_store4)( a, otag );
6020 MC_(helperc_b_store2)( a, otag );
6025 MC_(helperc_b_store1)( a, otag );