aboutsummaryrefslogtreecommitdiffstats
path: root/prog/decodeexec.go
diff options
context:
space:
mode:
authorDmitry Vyukov <dvyukov@google.com>2024-04-15 12:36:25 +0200
committerDmitry Vyukov <dvyukov@google.com>2024-04-15 13:23:33 +0000
commitf887b0490140a0c80dd49d2c549ac57ac2adc2b9 (patch)
tree1517fcc39031508f1701bee8ef4078968c1fbde2 /prog/decodeexec.go
parent80ce88419762e4342971463033802fea7cdb2973 (diff)
prog: don't pad data in exec encoding
With leb128 ints it does not make any sense. Reduces exec sizes a bit more: - exec sizes: 10%:597 50%:1438 90%:7145 + exec sizes: 10%:584 50%:1423 90%:7076
Diffstat (limited to 'prog/decodeexec.go')
-rw-r--r--prog/decodeexec.go5
1 files changed, 2 insertions, 3 deletions
diff --git a/prog/decodeexec.go b/prog/decodeexec.go
index 4574ef845..bd92854e6 100644
--- a/prog/decodeexec.go
+++ b/prog/decodeexec.go
@@ -232,15 +232,14 @@ func (dec *execDecoder) read() uint64 {
}
func (dec *execDecoder) readBlob(size uint64) []byte {
- padded := (size + 7) / 8 * 8
- if uint64(len(dec.data)) < padded {
+ if uint64(len(dec.data)) < size {
dec.setErr(fmt.Errorf("exec program overflow"))
}
if dec.err != nil {
return nil
}
data := dec.data[:size]
- dec.data = dec.data[padded:]
+ dec.data = dec.data[size:]
return data
}