Bläddra i källkod

core/vm: make jumpdest code nicer

Felix Lange 8 år sedan
förälder
incheckning
54b1de67e2
1 ändrade filer med 1 tillägg och 3 borttagningar
  1. 1 3
      core/vm/analysis.go

+ 1 - 3
core/vm/analysis.go

@@ -42,7 +42,6 @@ func (d destinations) has(codehash common.Hash, code []byte, dest *big.Int) bool
 		d[codehash] = m
 		d[codehash] = m
 	}
 	}
 	return OpCode(code[udest]) == JUMPDEST && m.codeSegment(udest)
 	return OpCode(code[udest]) == JUMPDEST && m.codeSegment(udest)
-	//	return (m[udest/8] & (1 << (udest % 8))) != 0
 }
 }
 
 
 // bitvec is a bit vector which maps bytes in a program
 // bitvec is a bit vector which maps bytes in a program
@@ -68,8 +67,7 @@ func jumpdests(code []byte) []byte {
 	//The map is 4 bytes longer than necessary, in case the code
 	//The map is 4 bytes longer than necessary, in case the code
 	// ends with a PUSH32, the algorithm will push zeroes onto the
 	// ends with a PUSH32, the algorithm will push zeroes onto the
 	// bitvector outside the bounds of the actual code.
 	// bitvector outside the bounds of the actual code.
-	m := make([]byte, len(code)/8+1+4)
-	bits := bitvec(m)
+	bits := make(bitvec, len(code)/8+1+4)
 	for pc := uint64(0); pc < uint64(len(code)); {
 	for pc := uint64(0); pc < uint64(len(code)); {
 		op := OpCode(code[pc])
 		op := OpCode(code[pc])