Skip to content

Commit 60364ab

Browse files
author
Liulei
committed
feat(tvm): update comments and tests
1 parent b5a53af commit 60364ab

File tree

3 files changed

+21
-6
lines changed

3 files changed

+21
-6
lines changed

actuator/src/main/java/org/tron/core/vm/Op.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,9 @@ public class Op {
145145
// (0x5a) Get the amount of available gas
146146
public static final int GAS = 0x5a;
147147
public static final int JUMPDEST = 0x5b;
148-
// (0x5c) Load word from transient memory
148+
// (0x5c) Load word from transient storage
149149
public static final int TLOAD = 0x5c;
150-
// (0x5d) Save word to transient memory
150+
// (0x5d) Save word to transient storage
151151
public static final int TSTORE = 0x5d;
152152
// (0x5e) Copy word from memory
153153
public static final int MCOPY = 0x5e;

actuator/src/main/java/org/tron/core/vm/OperationActions.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -649,7 +649,7 @@ public static void tLoadAction(Program program) {
649649

650650
byte[] data =
651651
program.getContractState().getTransientStorageValue(address.getData(), key.getData());
652-
DataWord value = data != null ? new DataWord(data) : DataWord.ZERO;
652+
DataWord value = data != null ? new DataWord(data) : DataWord.ZERO();
653653

654654
program.stackPush(value);
655655
program.step();

framework/src/test/java/org/tron/common/runtime/vm/OperationsTest.java

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -956,9 +956,17 @@ public void testTransientStorageOperations() throws ContractValidateException {
956956
program = new Program(op, op, invoke, interTrx);
957957
testOperations(program);
958958
Assert.assertEquals(106, program.getResult().getEnergyUsed());
959-
Assert.assertEquals("0000000000000000000000000000000000000000000000000000000000000001",
960-
Hex.toHexString(program.getContractState().getTransientStorageValue(
961-
program.getContractAddress().getData(), new DataWord(0x01).getData())));
959+
Assert.assertArrayEquals(new DataWord(0x01).getData(),
960+
program.getContractState().getTransientStorageValue(
961+
program.getContractAddress().getData(), new DataWord(0x01).getData()));
962+
963+
// TLOAD = 0x5c;
964+
op = new byte[] {0x60, 0x01, 0x5c};
965+
program = new Program(op, op, invoke, interTrx);
966+
testOperations(program);
967+
Assert.assertEquals(103, program.getResult().getEnergyUsed());
968+
Assert.assertEquals(new DataWord(0x01), program.getStack().pop());
969+
962970
VMConfig.initAllowTvmCancun(0);
963971
}
964972

@@ -978,6 +986,13 @@ public void testMCOPY() throws ContractValidateException {
978986
Assert.assertEquals(21, program.getResult().getEnergyUsed());
979987
Assert.assertEquals(64, program.getMemSize());
980988

989+
op =
990+
new byte[] {
991+
0x60, 0x01, 0x60, 0x01, 0x52, 0x60, 0x20, 0x60, 0x01, 0x60, 0x20, 0x5e, 0x60, 0x20, 0x51};
992+
program = new Program(op, op, invoke, interTrx);
993+
testOperations(program);
994+
Assert.assertEquals(new DataWord(0x01), program.getStack().pop());
995+
981996
VMConfig.initAllowTvmCancun(0);
982997
}
983998

0 commit comments

Comments
 (0)