/** *** */ static FastTrackGuardState ts_get_preStateOnError(ShadowThread ts) { Assert.panic("Bad"); return null; }
static void ts_set_preStateOnError(ShadowThread ts, FastTrackGuardState v) { Assert.panic("Bad"); }
private void error( final AccessEvent ae, final int errorCase, final String prevOp, final int prevTid, final String curOp, final int curTid) { try { if (ae instanceof FieldAccessEvent) { FieldAccessEvent fae = (FieldAccessEvent) ae; final FieldInfo fd = fae.getInfo().getField(); final ShadowThread currentThread = fae.getThread(); final Object target = fae.getTarget(); fieldErrors.error( currentThread, fd, "Guard State", fae.getOriginalShadow(), "Current Thread", toString(currentThread), "Class", target == null ? fd.getOwner() : target.getClass(), "Field", Util.objectToIdentityString(target) + "." + fd, "Prev Op", prevOp + prevTid, "Cur Op", curOp + curTid, "Case", "#" + errorCase, "Stack", ShadowThread.stackDumpForErrorMessage(currentThread)); if (!fieldErrors.stillLooking(fd)) { advance(ae); return; } } else { ArrayAccessEvent aae = (ArrayAccessEvent) ae; final ShadowThread currentThread = aae.getThread(); final Object target = aae.getTarget(); arrayErrors.error( currentThread, aae.getInfo(), "Alloc Site", ArrayAllocSiteTracker.allocSites.get(aae.getTarget()), "Guard State", aae.getOriginalShadow(), "Current Thread", toString(currentThread), "Array", Util.objectToIdentityString(target) + "[" + aae.getIndex() + "]", "Prev Op", prevOp + prevTid + ("name = " + ShadowThread.get(prevTid).getThread().getName()), "Cur Op", curOp + curTid + ("name = " + ShadowThread.get(curTid).getThread().getName()), "Case", "#" + errorCase, "Stack", ShadowThread.stackDumpForErrorMessage(currentThread)); aae.getArrayState().specialize(); if (!arrayErrors.stillLooking(aae.getInfo())) { advance(aae); return; } } } catch (Throwable e) { Assert.panic(e); } }
static void ts_set_cv(ShadowThread ts, CV cv) { Assert.panic("Bad"); }
static CV ts_get_cv(ShadowThread ts) { Assert.panic("Bad"); return null; }
static void ts_set_epoch(ShadowThread ts, int v) { Assert.panic("Bad"); }
static int ts_get_epoch(ShadowThread ts) { Assert.panic("Bad"); return -1; }