當前位置: 首頁>>代碼示例>>Golang>>正文


Golang Prog.Ctxt方法代碼示例

本文整理匯總了Golang中code/google/com/p/rsc/c2go/liblink.Prog.Ctxt方法的典型用法代碼示例。如果您正苦於以下問題:Golang Prog.Ctxt方法的具體用法?Golang Prog.Ctxt怎麽用?Golang Prog.Ctxt使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在code/google/com/p/rsc/c2go/liblink.Prog的用法示例。


在下文中一共展示了Prog.Ctxt方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Golang代碼示例。

示例1: softfloat

func softfloat(ctxt *liblink.Link, cursym *liblink.LSym) {
	var p *liblink.Prog
	var next *liblink.Prog
	var symsfloat *liblink.LSym
	var wasfloat int
	if ctxt.Goarm > 5 {
		return
	}
	symsfloat = liblink.Linklookup(ctxt, "_sfloat", 0)
	wasfloat = 0
	for p = cursym.Text; p != nil; p = p.Link {
		if p.Pcond != nil {
			p.Pcond.Mark |= LABEL
		}
	}
	for p = cursym.Text; p != nil; p = p.Link {
		switch p.As {
		case AMOVW:
			if p.To.Typ == D_FREG || p.From.Typ == D_FREG {
				goto soft
			}
			goto notsoft
		case AMOVWD,
			AMOVWF,
			AMOVDW,
			AMOVFW,
			AMOVFD,
			AMOVDF,
			AMOVF,
			AMOVD,
			ACMPF,
			ACMPD,
			AADDF,
			AADDD,
			ASUBF,
			ASUBD,
			AMULF,
			AMULD,
			ADIVF,
			ADIVD,
			ASQRTF,
			ASQRTD,
			AABSF,
			AABSD:
			goto soft
		default:
			goto notsoft
		}
	soft:
		if wasfloat == 0 || (p.Mark&LABEL != 0) {
			next = ctxt.Prg()
			*next = *p
			// BL _sfloat(SB)
			*p = zprg_obj5
			p.Ctxt = ctxt
			p.Link = next
			p.As = ABL
			p.To.Typ = D_BRANCH
			p.To.Sym = symsfloat
			p.Lineno = next.Lineno
			p = next
			wasfloat = 1
		}
		continue
	notsoft:
		wasfloat = 0
	}
}
開發者ID:0x7cc,項目名稱:rsc,代碼行數:68,代碼來源:obj5.go


注:本文中的code/google/com/p/rsc/c2go/liblink.Prog.Ctxt方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。