"math/bits"
"cmd/compile/internal/base"
+ "cmd/internal/src"
)
const (
nword int32
}
-func NewBulk(nbit int32, count int32) Bulk {
+func NewBulk(nbit int32, count int32, pos src.XPos) Bulk {
nword := (nbit + wordBits - 1) / wordBits
size := int64(nword) * int64(count)
if int64(int32(size*4)) != size*4 {
- base.Fatalf("NewBulk too big: nbit=%d count=%d nword=%d size=%d", nbit, count, nword, size)
+ base.FatalfAt(pos, "NewBulk too big: nbit=%d count=%d nword=%d size=%d", nbit, count, nword, size)
}
return Bulk{
words: make([]uint32, size),
}
nargs := int32(len(lv.args))
- bulk := bitvec.NewBulk(nargs, int32(len(f.Blocks)*2))
+ bulk := bitvec.NewBulk(nargs, int32(len(f.Blocks)*2), fn.Pos())
for _, b := range f.Blocks {
be := &lv.be[b.ID]
be.livein = bulk.Next()
nblocks := int32(len(f.Blocks))
nvars := int32(len(vars))
- bulk := bitvec.NewBulk(nvars, nblocks*7)
+ bulk := bitvec.NewBulk(nvars, nblocks*7, fn.Pos())
for _, b := range f.Blocks {
be := lv.blockEffects(b)