本文整理汇总了Golang中github.com/tsavola/wag/internal/gen.OpCoder.Len方法的典型用法代码示例。如果您正苦于以下问题:Golang OpCoder.Len方法的具体用法?Golang OpCoder.Len怎么用?Golang OpCoder.Len使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/tsavola/wag/internal/gen.OpCoder
的用法示例。
在下文中一共展示了OpCoder.Len方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: op
func (i insnAddr32) op(code gen.OpCoder, addr int32) {
var offset int32
if addr != 0 {
siteAddr := code.Len() + i.size()
offset = addr - siteAddr
} else {
offset = -i.size() // infinite loop as placeholder
}
i.writeTo(code, offset)
}
示例2: OpInit
func (mach X86) OpInit(code gen.OpCoder, startAddr int32) (retAddr int32) {
if code.Len() == 0 || code.Len() > functionAlignment {
panic("inconsistency")
}
code.Align(functionAlignment, paddingByte)
Add.opImm(code, types.I64, regStackLimit, gen.StackReserve)
var notResume links.L
Test.opFromReg(code, types.I64, regResult, regResult)
Je.rel8.opStub(code)
notResume.AddSite(code.Len())
Ret.op(code) // simulate return from snapshot function call
notResume.Addr = code.Len()
mach.updateBranches8(code, ¬Resume)
CallRel.op(code, startAddr)
return code.Len()
}
示例3: opMissingFunction
func (i insnAddr32) opMissingFunction(code gen.OpCoder) {
siteAddr := code.Len() + i.size()
i.writeTo(code, -siteAddr)
}
示例4: opStub
func (i insnAddr8) opStub(code gen.OpCoder) {
i.op(code, code.Len()) // infinite loop as placeholder
}