diff options
| author | Dmitry Vyukov <dvyukov@google.com> | 2024-04-15 12:36:25 +0200 |
|---|---|---|
| committer | Dmitry Vyukov <dvyukov@google.com> | 2024-04-15 13:23:33 +0000 |
| commit | f887b0490140a0c80dd49d2c549ac57ac2adc2b9 (patch) | |
| tree | 1517fcc39031508f1701bee8ef4078968c1fbde2 /prog/decodeexec.go | |
| parent | 80ce88419762e4342971463033802fea7cdb2973 (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.go | 5 |
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 } |
