From f887b0490140a0c80dd49d2c549ac57ac2adc2b9 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Mon, 15 Apr 2024 12:36:25 +0200 Subject: 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 --- executor/executor.cc | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'executor/executor.cc') diff --git a/executor/executor.cc b/executor/executor.cc index 84a8e0d43..ba2fb4bff 100644 --- a/executor/executor.cc +++ b/executor/executor.cc @@ -782,11 +782,10 @@ void execute_one() case arg_data: { uint64 size = read_input(&input_pos); size &= ~(1ull << 63); // readable flag - uint64 padded = (size + 7) & ~7; - if (input_pos + padded > input_data + kMaxInput) + if (input_pos + size > input_data + kMaxInput) fail("data arg overflow"); NONFAILING(memcpy(addr, input_pos, size)); - input_pos += padded; + input_pos += size; break; } case arg_csum: { -- cgit mrf-deployment