core/vm: capped int pool

This commit is contained in:
Jeffrey Wilcke 2017-05-23 10:40:09 +02:00
parent a816e75662
commit e16a7ef60f
1 changed files with 6 additions and 0 deletions

View File

@ -20,6 +20,8 @@ import "math/big"
var checkVal = big.NewInt(-42)
const poolLimit = 256
// intPool is a pool of big integers that
// can be reused for all big.Int operations.
type intPool struct {
@ -37,6 +39,10 @@ func (p *intPool) get() *big.Int {
return new(big.Int)
}
func (p *intPool) put(is ...*big.Int) {
if len(p.pool.data) > poolLimit {
return
}
for _, i := range is {
// verifyPool is a build flag. Pool verification makes sure the integrity
// of the integer pool by comparing values to a default value.