예제 #1
0
파일: index.go 프로젝트: NickDaison/e8vm
func arrayElementSize(t types.T) int32 {
	ret := t.Size()
	if t.RegSizeAlign() {
		return types.RegSizeAlignUp(ret)
	}
	return ret
}
예제 #2
0
파일: builder.go 프로젝트: NickDaison/e8vm
func (b *builder) newLocal(t types.T, name string) ir.Ref {
	return b.f.NewLocal(t.Size(), name,
		types.IsByte(t), t.RegSizeAlign(),
	)
}
예제 #3
0
파일: builder.go 프로젝트: NickDaison/e8vm
func (b *builder) newGlobalVar(t types.T, name string) ir.Ref {
	name = b.anonyName(name)
	return b.p.NewGlobalVar(t.Size(), name, types.IsByte(t), t.RegSizeAlign())
}
예제 #4
0
파일: builder.go 프로젝트: NickDaison/e8vm
func (b *builder) newTempIR(t types.T) ir.Ref {
	return b.f.NewTemp(t.Size(), types.IsByte(t), t.RegSizeAlign())
}