Lines Matching refs:xe
370 static void init_XError ( XError* xe ) { in init_XError() argument
371 VG_(memset)(xe, 0, sizeof(*xe) ); in init_XError()
372 xe->tag = XE_Race-1; /* bogus */ in init_XError()
394 XError* xe = (XError*)VG_(get_error_extra)(err); in HG_() local
395 tl_assert(xe); in HG_()
400 if (xe->tag == XE_Race) { in HG_()
406 tl_assert(xe->XE.Race.thr); in HG_()
407 xe->XE.Race.locksHeldW in HG_()
410 xe->XE.Race.thr->locksetW, in HG_()
424 HG_(describe_addr) (xe->XE.Race.data_addr, &xe->XE.Race.data_addrinfo); in HG_()
432 Addr acc_addr = xe->XE.Race.data_addr; in HG_()
433 Int acc_szB = xe->XE.Race.szB; in HG_()
434 Thr* acc_thr = xe->XE.Race.thr->hbthr; in HG_()
435 Bool acc_isW = xe->XE.Race.isWrite; in HG_()
439 tl_assert(!xe->XE.Race.h2_ct_accEC); in HG_()
440 tl_assert(!xe->XE.Race.h2_ct); in HG_()
449 xe->XE.Race.h2_ct_accEC = wherep; in HG_()
450 xe->XE.Race.h2_ct = threadp; in HG_()
451 xe->XE.Race.h2_ct_accSzB = (Int)conf_szB; in HG_()
452 xe->XE.Race.h2_ct_accIsW = conf_isW; in HG_()
453 xe->XE.Race.h2_ct_locksHeldW in HG_()
463 tl_assert( (!!xe->XE.Race.h2_ct) == (!!xe->XE.Race.h2_ct_accEC) ); in HG_()
475 XError xe; in HG_() local
497 init_XError(&xe); in HG_()
498 xe.tag = XE_Race; in HG_()
499 xe.XE.Race.data_addr = data_addr; in HG_()
500 xe.XE.Race.szB = szB; in HG_()
501 xe.XE.Race.isWrite = isWrite; in HG_()
502 xe.XE.Race.thr = thr; in HG_()
508 xe.XE.Race.data_addrinfo.tag = Addr_Undescribed; in HG_()
515 xe.XE.Race.h2_ct_accSzB = 0; in HG_()
516 xe.XE.Race.h2_ct_accIsW = False; in HG_()
517 xe.XE.Race.h2_ct_accEC = NULL; in HG_()
518 xe.XE.Race.h2_ct = NULL; in HG_()
522 xe.XE.Race.h1_ct = h1_ct; in HG_()
523 xe.XE.Race.h1_ct_mbsegstartEC = h1_ct_segstart; in HG_()
524 xe.XE.Race.h1_ct_mbsegendEC = h1_ct_mbsegendEC; in HG_()
527 XE_Race, data_addr, NULL, &xe ); in HG_()
532 XError xe; in HG_() local
535 init_XError(&xe); in HG_()
536 xe.tag = XE_UnlockUnlocked; in HG_()
537 xe.XE.UnlockUnlocked.thr in HG_()
539 xe.XE.UnlockUnlocked.lock in HG_()
545 XE_UnlockUnlocked, 0, NULL, &xe ); in HG_()
551 XError xe; in HG_() local
555 init_XError(&xe); in HG_()
556 xe.tag = XE_UnlockForeign; in HG_()
557 xe.XE.UnlockForeign.thr = thr; in HG_()
558 xe.XE.UnlockForeign.owner = owner; in HG_()
559 xe.XE.UnlockForeign.lock in HG_()
565 XE_UnlockForeign, 0, NULL, &xe ); in HG_()
570 XError xe; in HG_() local
572 init_XError(&xe); in HG_()
573 xe.tag = XE_UnlockBogus; in HG_()
574 xe.XE.UnlockBogus.thr = thr; in HG_()
575 xe.XE.UnlockBogus.lock_ga = lock_ga; in HG_()
580 XE_UnlockBogus, 0, NULL, &xe ); in HG_()
592 XError xe; in HG_() local
595 init_XError(&xe); in HG_()
596 xe.tag = XE_LockOrder; in HG_()
597 xe.XE.LockOrder.thr = thr; in HG_()
598 xe.XE.LockOrder.shouldbe_earlier_lk in HG_()
601 xe.XE.LockOrder.shouldbe_earlier_ec = shouldbe_earlier_ec; in HG_()
602 xe.XE.LockOrder.shouldbe_later_lk in HG_()
605 xe.XE.LockOrder.shouldbe_later_ec = shouldbe_later_ec; in HG_()
606 xe.XE.LockOrder.actual_earlier_ec = actual_earlier_ec; in HG_()
611 XE_LockOrder, 0, NULL, &xe ); in HG_()
617 XError xe; in HG_() local
621 init_XError(&xe); in HG_()
622 xe.tag = XE_PthAPIerror; in HG_()
623 xe.XE.PthAPIerror.thr = thr; in HG_()
624 xe.XE.PthAPIerror.fnname = string_table_strdup(fnname); in HG_()
625 xe.XE.PthAPIerror.err = err; in HG_()
626 xe.XE.PthAPIerror.errstr = string_table_strdup(errstr); in HG_()
631 XE_PthAPIerror, 0, NULL, &xe ); in HG_()
637 XError xe; in HG_() local
640 init_XError(&xe); in HG_()
641 xe.tag = XE_Misc; in HG_()
642 xe.XE.Misc.thr = thr; in HG_()
643 xe.XE.Misc.errstr = string_table_strdup(errstr); in HG_()
644 xe.XE.Misc.auxstr = auxstr ? string_table_strdup(auxstr) : NULL; in HG_()
645 xe.XE.Misc.auxctx = auxctx; in HG_()
650 XE_Misc, 0, NULL, &xe ); in HG_()
866 XError* xe; in HG_() local
868 xe = (XError*)VG_(get_error_extra)(err); in HG_()
869 tl_assert(xe); in HG_()
873 announce_one_thread( xe->XE.Misc.thr ); in HG_()
876 announce_one_thread( xe->XE.LockOrder.thr ); in HG_()
879 announce_one_thread( xe->XE.PthAPIerror.thr ); in HG_()
882 announce_one_thread( xe->XE.UnlockBogus.thr ); in HG_()
885 announce_one_thread( xe->XE.UnlockForeign.thr ); in HG_()
886 announce_one_thread( xe->XE.UnlockForeign.owner ); in HG_()
889 announce_one_thread( xe->XE.UnlockUnlocked.thr ); in HG_()
892 announce_one_thread( xe->XE.Race.thr ); in HG_()
893 if (xe->XE.Race.h2_ct) in HG_()
894 announce_one_thread( xe->XE.Race.h2_ct ); in HG_()
895 if (xe->XE.Race.h1_ct) in HG_()
896 announce_one_thread( xe->XE.Race.h1_ct ); in HG_()
897 if (xe->XE.Race.data_addrinfo.Addr.Block.alloc_tinfo.tnr) { in HG_()
901 == xe->XE.Race.data_addrinfo.Addr.Block.alloc_tinfo.tnr) { in HG_()
924 XError *xe = (XError*)VG_(get_error_extra)(err); in HG_() local
925 tl_assert(xe); in HG_()
933 tl_assert( HG_(is_sane_Thread)( xe->XE.Misc.thr ) ); in HG_()
939 (Int)xe->XE.Misc.thr->errmsg_index, in HG_()
940 xe->XE.Misc.errstr ); in HG_()
942 (Int)xe->XE.Misc.thr->errmsg_index ); in HG_()
945 if (xe->XE.Misc.auxstr) { in HG_()
946 emit(" <auxwhat>%s</auxwhat>\n", xe->XE.Misc.auxstr); in HG_()
947 if (xe->XE.Misc.auxctx) in HG_()
948 VG_(pp_ExeContext)( xe->XE.Misc.auxctx ); in HG_()
954 (Int)xe->XE.Misc.thr->errmsg_index, in HG_()
955 xe->XE.Misc.errstr ); in HG_()
957 if (xe->XE.Misc.auxstr) { in HG_()
958 emit(" %s\n", xe->XE.Misc.auxstr); in HG_()
959 if (xe->XE.Misc.auxctx) in HG_()
960 VG_(pp_ExeContext)( xe->XE.Misc.auxctx ); in HG_()
968 tl_assert( HG_(is_sane_Thread)( xe->XE.LockOrder.thr ) ); in HG_()
975 (Int)xe->XE.LockOrder.thr->errmsg_index, in HG_()
976 (void*)xe->XE.LockOrder.shouldbe_earlier_lk->guestaddr, in HG_()
977 (void*)xe->XE.LockOrder.shouldbe_later_lk->guestaddr ); in HG_()
979 (Int)xe->XE.LockOrder.thr->errmsg_index ); in HG_()
982 if (xe->XE.LockOrder.shouldbe_earlier_ec in HG_()
983 && xe->XE.LockOrder.shouldbe_later_ec) { in HG_()
986 (void*)xe->XE.LockOrder.shouldbe_earlier_lk->guestaddr ); in HG_()
987 VG_(pp_ExeContext)( xe->XE.LockOrder.shouldbe_earlier_ec ); in HG_()
990 (void*)xe->XE.LockOrder.shouldbe_later_lk->guestaddr ); in HG_()
991 VG_(pp_ExeContext)( xe->XE.LockOrder.shouldbe_later_ec ); in HG_()
993 announce_LockP ( xe->XE.LockOrder.shouldbe_earlier_lk ); in HG_()
994 announce_LockP ( xe->XE.LockOrder.shouldbe_later_lk ); in HG_()
999 (Int)xe->XE.LockOrder.thr->errmsg_index, in HG_()
1000 (void*)xe->XE.LockOrder.shouldbe_earlier_lk->guestaddr, in HG_()
1001 (void*)xe->XE.LockOrder.shouldbe_later_lk->guestaddr ); in HG_()
1005 (void*)xe->XE.LockOrder.shouldbe_later_lk->guestaddr); in HG_()
1006 if (xe->XE.LockOrder.actual_earlier_ec) { in HG_()
1007 VG_(pp_ExeContext)(xe->XE.LockOrder.actual_earlier_ec); in HG_()
1013 (void*)xe->XE.LockOrder.shouldbe_earlier_lk->guestaddr); in HG_()
1015 if (xe->XE.LockOrder.shouldbe_earlier_ec in HG_()
1016 && xe->XE.LockOrder.shouldbe_later_ec) { in HG_()
1020 (void*)xe->XE.LockOrder.shouldbe_earlier_lk->guestaddr ); in HG_()
1021 VG_(pp_ExeContext)( xe->XE.LockOrder.shouldbe_earlier_ec ); in HG_()
1024 (void*)xe->XE.LockOrder.shouldbe_later_lk->guestaddr ); in HG_()
1025 VG_(pp_ExeContext)( xe->XE.LockOrder.shouldbe_later_ec ); in HG_()
1028 announce_LockP ( xe->XE.LockOrder.shouldbe_earlier_lk ); in HG_()
1029 announce_LockP ( xe->XE.LockOrder.shouldbe_later_lk ); in HG_()
1037 tl_assert( HG_(is_sane_Thread)( xe->XE.PthAPIerror.thr ) ); in HG_()
1044 (Int)xe->XE.PthAPIerror.thr->errmsg_index, in HG_()
1045 xe->XE.PthAPIerror.fnname ); in HG_()
1047 (Int)xe->XE.PthAPIerror.thr->errmsg_index ); in HG_()
1050 xe->XE.PthAPIerror.err, xe->XE.PthAPIerror.errstr ); in HG_()
1056 (Int)xe->XE.PthAPIerror.thr->errmsg_index, in HG_()
1057 xe->XE.PthAPIerror.fnname ); in HG_()
1059 xe->XE.PthAPIerror.err, xe->XE.PthAPIerror.errstr ); in HG_()
1068 tl_assert( HG_(is_sane_Thread)( xe->XE.UnlockBogus.thr ) ); in HG_()
1075 (Int)xe->XE.UnlockBogus.thr->errmsg_index, in HG_()
1076 (void*)xe->XE.UnlockBogus.lock_ga ); in HG_()
1078 (Int)xe->XE.UnlockBogus.thr->errmsg_index ); in HG_()
1085 (Int)xe->XE.UnlockBogus.thr->errmsg_index, in HG_()
1086 (void*)xe->XE.UnlockBogus.lock_ga ); in HG_()
1095 tl_assert( HG_(is_sane_LockP)( xe->XE.UnlockForeign.lock ) ); in HG_()
1096 tl_assert( HG_(is_sane_Thread)( xe->XE.UnlockForeign.owner ) ); in HG_()
1097 tl_assert( HG_(is_sane_Thread)( xe->XE.UnlockForeign.thr ) ); in HG_()
1104 (Int)xe->XE.UnlockForeign.thr->errmsg_index, in HG_()
1105 (void*)xe->XE.UnlockForeign.lock->guestaddr, in HG_()
1106 (Int)xe->XE.UnlockForeign.owner->errmsg_index ); in HG_()
1108 (Int)xe->XE.UnlockForeign.thr->errmsg_index ); in HG_()
1110 (Int)xe->XE.UnlockForeign.owner->errmsg_index ); in HG_()
1113 announce_LockP ( xe->XE.UnlockForeign.lock ); in HG_()
1119 (Int)xe->XE.UnlockForeign.thr->errmsg_index, in HG_()
1120 (void*)xe->XE.UnlockForeign.lock->guestaddr, in HG_()
1121 (Int)xe->XE.UnlockForeign.owner->errmsg_index ); in HG_()
1123 announce_LockP ( xe->XE.UnlockForeign.lock ); in HG_()
1131 tl_assert( HG_(is_sane_LockP)( xe->XE.UnlockUnlocked.lock ) ); in HG_()
1132 tl_assert( HG_(is_sane_Thread)( xe->XE.UnlockUnlocked.thr ) ); in HG_()
1139 (Int)xe->XE.UnlockUnlocked.thr->errmsg_index, in HG_()
1140 (void*)xe->XE.UnlockUnlocked.lock->guestaddr ); in HG_()
1142 (Int)xe->XE.UnlockUnlocked.thr->errmsg_index ); in HG_()
1145 announce_LockP ( xe->XE.UnlockUnlocked.lock); in HG_()
1150 (Int)xe->XE.UnlockUnlocked.thr->errmsg_index, in HG_()
1151 (void*)xe->XE.UnlockUnlocked.lock->guestaddr ); in HG_()
1153 announce_LockP ( xe->XE.UnlockUnlocked.lock); in HG_()
1164 what = xe->XE.Race.isWrite ? "write" : "read"; in HG_()
1165 szB = xe->XE.Race.szB; in HG_()
1168 tl_assert( HG_(is_sane_Thread)( xe->XE.Race.thr )); in HG_()
1169 if (xe->XE.Race.h2_ct) in HG_()
1170 tl_assert( HG_(is_sane_Thread)( xe->XE.Race.h2_ct )); in HG_()
1178 what, szB, (void*)err_ga, (Int)xe->XE.Race.thr->errmsg_index ); in HG_()
1180 (Int)xe->XE.Race.thr->errmsg_index ); in HG_()
1184 if (xe->XE.Race.h2_ct) { in HG_()
1185 tl_assert(xe->XE.Race.h2_ct_accEC); // assured by update_extra in HG_()
1189 xe->XE.Race.h2_ct_accIsW ? "write" : "read", in HG_()
1190 xe->XE.Race.h2_ct_accSzB, in HG_()
1191 xe->XE.Race.h2_ct->errmsg_index ); in HG_()
1193 xe->XE.Race.h2_ct->errmsg_index); in HG_()
1195 VG_(pp_ExeContext)( xe->XE.Race.h2_ct_accEC ); in HG_()
1198 if (xe->XE.Race.h1_ct) { in HG_()
1202 xe->XE.Race.h1_ct->errmsg_index ); in HG_()
1204 xe->XE.Race.h1_ct->errmsg_index ); in HG_()
1206 if (xe->XE.Race.h1_ct_mbsegstartEC) { in HG_()
1207 VG_(pp_ExeContext)( xe->XE.Race.h1_ct_mbsegstartEC ); in HG_()
1212 if (xe->XE.Race.h1_ct_mbsegendEC) { in HG_()
1213 VG_(pp_ExeContext)( xe->XE.Race.h1_ct_mbsegendEC ); in HG_()
1222 announce_combined_LockP_vecs( xe->XE.Race.locksHeldW, in HG_()
1223 xe->XE.Race.h2_ct_locksHeldW ); in HG_()
1227 what, szB, (void*)err_ga, (Int)xe->XE.Race.thr->errmsg_index ); in HG_()
1229 tl_assert(xe->XE.Race.locksHeldW); in HG_()
1230 show_LockP_summary_textmode( xe->XE.Race.locksHeldW, "" ); in HG_()
1233 if (xe->XE.Race.h2_ct) { in HG_()
1234 tl_assert(xe->XE.Race.h2_ct_accEC); // assured by update_extra in HG_()
1235 tl_assert(xe->XE.Race.h2_ct_locksHeldW); in HG_()
1239 xe->XE.Race.h2_ct_accIsW ? "write" : "read", in HG_()
1240 xe->XE.Race.h2_ct_accSzB, in HG_()
1241 xe->XE.Race.h2_ct->errmsg_index ); in HG_()
1242 show_LockP_summary_textmode( xe->XE.Race.h2_ct_locksHeldW, "" ); in HG_()
1243 VG_(pp_ExeContext)( xe->XE.Race.h2_ct_accEC ); in HG_()
1246 if (xe->XE.Race.h1_ct) { in HG_()
1249 xe->XE.Race.h1_ct->errmsg_index ); in HG_()
1250 if (xe->XE.Race.h1_ct_mbsegstartEC) { in HG_()
1251 VG_(pp_ExeContext)( xe->XE.Race.h1_ct_mbsegstartEC ); in HG_()
1256 if (xe->XE.Race.h1_ct_mbsegendEC) { in HG_()
1257 VG_(pp_ExeContext)( xe->XE.Race.h1_ct_mbsegendEC ); in HG_()
1264 VG_(pp_addrinfo) (err_ga, &xe->XE.Race.data_addrinfo); in HG_()