def build_guard_token(self, op, frame_depth, arglocs, offset, fcond, extra_offset=-1, extra_cond=-1): descr = op.getdescr() assert isinstance(descr, AbstractFailDescr) gcmap = allocate_gcmap(self, frame_depth, JITFRAME_FIXED_SIZE) faildescrindex = self.get_gcref_from_faildescr(descr) token = GuardToken(self.cpu, gcmap, descr, failargs=op.getfailargs(), fail_locs=arglocs, guard_opnum=op.getopnum(), frame_depth=frame_depth, faildescrindex=faildescrindex) token.fcond = fcond token.extra_offset = extra_offset token.extra_cond = extra_cond return token