From d6681ed36037c48bc95c7940e9914b9369e35170 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Fri, 8 Sep 2017 12:47:44 +0200 Subject: [PATCH] core/vm: Rename + updated doc on jumpdest analysis --- core/vm/analysis.go | 8 ++++---- core/vm/analysis_test.go | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/core/vm/analysis.go b/core/vm/analysis.go index 08415fc1ef..e6a2df7b02 100644 --- a/core/vm/analysis.go +++ b/core/vm/analysis.go @@ -38,7 +38,7 @@ func (d destinations) has(codehash common.Hash, code []byte, dest *big.Int) bool m, analysed := d[codehash] if !analysed { - m = jumpdests(code) + m = codeBitmap(code) d[codehash] = m } return OpCode(code[udest]) == JUMPDEST && m.codeSegment(udest) @@ -61,9 +61,9 @@ func (bits *bitvec) codeSegment(pos uint64) bool { return ((*bits)[pos/8] & (0x80 >> (pos % 8))) == 0 } -// jumpdests creates a map that contains an entry for each -// PC location that is a JUMPDEST instruction. -func jumpdests(code []byte) []byte { +// jumpdests creates a bitmap of the code, where 1 represents a DATA-segment, +// and 0 represents code-segment +func codeBitmap(code []byte) []byte { //The map is 4 bytes longer than necessary, in case the code // ends with a PUSH32, the algorithm will push zeroes onto the // bitvector outside the bounds of the actual code. diff --git a/core/vm/analysis_test.go b/core/vm/analysis_test.go index 17c578e95e..3d4e709db4 100644 --- a/core/vm/analysis_test.go +++ b/core/vm/analysis_test.go @@ -28,7 +28,7 @@ func TestJumpDestAnalysis(t *testing.T) { {[]byte{byte(PUSH32)}, 0xFF, 2}, } for _, test := range tests { - ret := jumpdests(test.code) + ret := codeBitmap(test.code) if ret[test.which] != test.exp { t.Fatalf("expected %x, got %02x", test.exp, ret[test.which]) }