Esempio n. 1
0
 /** *** */
 static FastTrackGuardState ts_get_preStateOnError(ShadowThread ts) {
   Assert.panic("Bad");
   return null;
 }
Esempio n. 2
0
 static void ts_set_preStateOnError(ShadowThread ts, FastTrackGuardState v) {
   Assert.panic("Bad");
 }
Esempio n. 3
0
  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);
    }
  }
Esempio n. 4
0
 static void ts_set_cv(ShadowThread ts, CV cv) {
   Assert.panic("Bad");
 }
Esempio n. 5
0
 static CV ts_get_cv(ShadowThread ts) {
   Assert.panic("Bad");
   return null;
 }
Esempio n. 6
0
 static void ts_set_epoch(ShadowThread ts, int v) {
   Assert.panic("Bad");
 }
Esempio n. 7
0
 static int ts_get_epoch(ShadowThread ts) {
   Assert.panic("Bad");
   return -1;
 }