From 506718edbe6cae3324e846cb0960ea0ecb25c37d Mon Sep 17 00:00:00 2001 From: anderson09-geek Date: Wed, 25 Feb 2026 18:19:28 +0800 Subject: [PATCH] chore(vm): optimize code style --- .../java/org/tron/core/vm/EnergyCost.java | 20 +++++++++---------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/actuator/src/main/java/org/tron/core/vm/EnergyCost.java b/actuator/src/main/java/org/tron/core/vm/EnergyCost.java index d47f716943f..12335ade741 100644 --- a/actuator/src/main/java/org/tron/core/vm/EnergyCost.java +++ b/actuator/src/main/java/org/tron/core/vm/EnergyCost.java @@ -367,20 +367,18 @@ public static long getVoteWitnessCost(Program program) { public static long getVoteWitnessCost2(Program program) { Stack stack = program.getStack(); long oldMemSize = program.getMemSize(); - DataWord amountArrayLength = stack.get(stack.size() - 1).clone(); - DataWord amountArrayOffset = stack.get(stack.size() - 2); - DataWord witnessArrayLength = stack.get(stack.size() - 3).clone(); - DataWord witnessArrayOffset = stack.get(stack.size() - 4); + BigInteger amountArrayLength = stack.get(stack.size() - 1).value(); + BigInteger amountArrayOffset = stack.get(stack.size() - 2).value(); + BigInteger witnessArrayLength = stack.get(stack.size() - 3).value(); + BigInteger witnessArrayOffset = stack.get(stack.size() - 4).value(); - DataWord wordSize = new DataWord(DataWord.WORD_SIZE); + BigInteger wordSize = BigInteger.valueOf(DataWord.WORD_SIZE); - amountArrayLength.mul(wordSize); - amountArrayLength.add(wordSize); // dynamic array length is at least 32 bytes - BigInteger amountArrayMemoryNeeded = memNeeded(amountArrayOffset, amountArrayLength); + BigInteger amountArrayMemoryNeeded = + amountArrayLength.multiply(wordSize).add(wordSize).add(amountArrayOffset); - witnessArrayLength.mul(wordSize); - witnessArrayLength.add(wordSize); // dynamic array length is at least 32 bytes - BigInteger witnessArrayMemoryNeeded = memNeeded(witnessArrayOffset, witnessArrayLength); + BigInteger witnessArrayMemoryNeeded = + witnessArrayLength.multiply(wordSize).add(wordSize).add(witnessArrayOffset); return VOTE_WITNESS + calcMemEnergy(oldMemSize, (amountArrayMemoryNeeded.compareTo(witnessArrayMemoryNeeded) > 0