mirror of
				https://github.com/ethereum/solidity
				synced 2023-10-03 13:03:40 +00:00 
			
		
		
		
	Add basic test cases for most of EVM->Ewasm translator
This commit is contained in:
		
							parent
							
								
									c03a2c0fe2
								
							
						
					
					
						commit
						d8cf8e98bd
					
				
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/address.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/address.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, address()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 0000000000000000000000000000000011111111000000000000000000000000 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000000000000011111111000000000000000000000000 | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/balance.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/balance.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, balance(address())) | ||||
|   sstore(1, balance(0)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //      0: 0000000000000000000000000000000011111111000000000000000000000000 | ||||
| // Storage dump: | ||||
							
								
								
									
										7
									
								
								test/libyul/ewasmTranslationTests/blockhash.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/libyul/ewasmTranslationTests/blockhash.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| { | ||||
|   sstore(0, blockhash(1)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										8
									
								
								test/libyul/ewasmTranslationTests/calldatacopy.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								test/libyul/ewasmTranslationTests/calldatacopy.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| { | ||||
|   calldatacopy(0, 0, 32) | ||||
|   sstore(0, mload(0)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										7
									
								
								test/libyul/ewasmTranslationTests/calldataload.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/libyul/ewasmTranslationTests/calldataload.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| { | ||||
|   sstore(0, calldataload(0)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										7
									
								
								test/libyul/ewasmTranslationTests/calldatasize.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/libyul/ewasmTranslationTests/calldatasize.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| { | ||||
|   sstore(0, calldatasize()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/caller.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/caller.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, caller()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 0000000000000000000000000000000044444444000000000000000000000000 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000000000000044444444000000000000000000000000 | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/callvalue.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/callvalue.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, callvalue()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 0000000000000000000000005555555500000000000000000000000000000000 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000005555555500000000000000000000000000000000 | ||||
							
								
								
									
										11
									
								
								test/libyul/ewasmTranslationTests/codecopy.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								test/libyul/ewasmTranslationTests/codecopy.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| { | ||||
|   codecopy(0x100, 0, codesize()) | ||||
|   sstore(0, mload(0x100)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 636f6465636f6465636f6465636f6465636f6465000000000000000000000000 | ||||
| //    140: 636f6465636f6465636f6465636f6465636f6465000000000000000000000000 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 636f6465636f6465636f6465636f6465636f6465000000000000000000000000 | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/codesize.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/codesize.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, codesize()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 0000000000000000000000000000000000000000000000000000000000000014 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000000000000000000000000000000000000000000014 | ||||
							
								
								
									
										7
									
								
								test/libyul/ewasmTranslationTests/coinbase.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/libyul/ewasmTranslationTests/coinbase.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| { | ||||
|   sstore(0, coinbase()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/difficulty.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/difficulty.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, difficulty()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 0000000000000000000000000000000000000000000000000000000009999999 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000000000000000000000000000000000000009999999 | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/extcodecopy.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/extcodecopy.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   extcodecopy(address(), 0x100, 0, extcodesize(address())) | ||||
|   sstore(0, mload(0x100)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //      0: 0000000000000000000000000000000011111111000000000000000000000000 | ||||
| // Storage dump: | ||||
							
								
								
									
										8
									
								
								test/libyul/ewasmTranslationTests/extcodesize.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								test/libyul/ewasmTranslationTests/extcodesize.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| { | ||||
|   sstore(0, extcodesize(address())) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //      0: 0000000000000000000000000000000011111111000000000000000000000000 | ||||
| // Storage dump: | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/gas.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/gas.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, gas()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 0000000000000000000000000000000000000000000000000000000000000099 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000000000000000000000000000000000000000000099 | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/gaslimit.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/gaslimit.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, gaslimit()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 00000000000000000000000000000000000000000000000000000000003d0900 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 00000000000000000000000000000000000000000000000000000000003d0900 | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/gasprice.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/gasprice.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, gasprice()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 0000000000000000000000006666666600000000000000000000000000000000 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000006666666600000000000000000000000000000000 | ||||
							
								
								
									
										13
									
								
								test/libyul/ewasmTranslationTests/invalid.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								test/libyul/ewasmTranslationTests/invalid.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | ||||
| { | ||||
|   sstore(0, 0x1234) | ||||
|   mstore(1, 0) | ||||
|   invalid() | ||||
|   sstore(0, 0x5678) | ||||
|   mstore(1, 0xff) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 0000000000000000000000000000000000000000000000000000000000001234 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000000000000000000000000000000000000000001234 | ||||
							
								
								
									
										14
									
								
								test/libyul/ewasmTranslationTests/iszero.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								test/libyul/ewasmTranslationTests/iszero.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| { | ||||
|   let x := 0 | ||||
|   let y := 0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20 | ||||
|   let z := 0x0000000000000000000111111111111111111111100000000000000000000000 | ||||
|   sstore(0, iszero(x)) | ||||
|   sstore(1, iszero(y)) | ||||
|   sstore(2, iszero(z)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //      0: 0000000000000000000000000000000000000000000000000000000000000002 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000000000000000000000000000000000000000000001 | ||||
							
								
								
									
										8
									
								
								test/libyul/ewasmTranslationTests/keccak256.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								test/libyul/ewasmTranslationTests/keccak256.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| { | ||||
|   sstore(0, keccak256(0, 0)) | ||||
|   sstore(0, keccak256(0, 0x20)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										7
									
								
								test/libyul/ewasmTranslationTests/log0.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/libyul/ewasmTranslationTests/log0.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| { | ||||
|   log0(0x20, 0x40) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										7
									
								
								test/libyul/ewasmTranslationTests/log1.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/libyul/ewasmTranslationTests/log1.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| { | ||||
|   log1(0x20, 0x40, 0x60) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										7
									
								
								test/libyul/ewasmTranslationTests/log2.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/libyul/ewasmTranslationTests/log2.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| { | ||||
|   log2(0x20, 0x40, 0x60, 0x80) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										7
									
								
								test/libyul/ewasmTranslationTests/log3.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/libyul/ewasmTranslationTests/log3.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| { | ||||
|   log3(0x20, 0x40, 0x60, 0x80, 0xa0) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										7
									
								
								test/libyul/ewasmTranslationTests/log4.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/libyul/ewasmTranslationTests/log4.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| { | ||||
|   log4(0x20, 0x40, 0x60, 0x80, 0xa0, 0xb0) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										11
									
								
								test/libyul/ewasmTranslationTests/msize.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								test/libyul/ewasmTranslationTests/msize.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| { | ||||
|   sstore(0, msize()) | ||||
|   mstore(0x20, 0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f20) | ||||
|   mstore(0x40, mload(0x20)) | ||||
|   sstore(1, mload(0x40)) | ||||
|   sstore(2, msize()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										14
									
								
								test/libyul/ewasmTranslationTests/mstore8.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								test/libyul/ewasmTranslationTests/mstore8.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,14 @@ | ||||
| { | ||||
|   mstore(0x30, not(0)) | ||||
|   mstore8(0x20, 0xaa) | ||||
|   mstore8(0x25, 0xbbbb) | ||||
|   mstore8(0x26, 0xcc) | ||||
|   mstore8(0x3b, 0x11) | ||||
|   sstore(0, mload(0x20)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     60: 00000000000000000000000000000000ffffffffffffffffffffffffffffffff | ||||
| //     80: ffffffffffffffffffffffffffffffff00000000000000000000000000000000 | ||||
| // Storage dump: | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/number.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/number.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, number()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 0000000000000000000000000000000000000000000000000000000000000400 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000000000000000000000000000000000000000000400 | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/origin.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/origin.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, origin()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 0000000000000000000000000000000033333333000000000000000000000000 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000000000000033333333000000000000000000000000 | ||||
							
								
								
									
										7
									
								
								test/libyul/ewasmTranslationTests/pc.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								test/libyul/ewasmTranslationTests/pc.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,7 @@ | ||||
| { | ||||
|   sstore(0, pc()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										11
									
								
								test/libyul/ewasmTranslationTests/return.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								test/libyul/ewasmTranslationTests/return.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| { | ||||
|   mstore(0x20, 0x1234556677889900aa) | ||||
|   return(0x20, 30) | ||||
|   invalid() | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| //   RETURN() [000000000000000000000000000000000000000000000012345566778899] | ||||
| // Memory dump: | ||||
| //     60: 00000000000000000000000000000000000000000000001234556677889900aa | ||||
| // Storage dump: | ||||
							
								
								
									
										10
									
								
								test/libyul/ewasmTranslationTests/returndatacopy.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								test/libyul/ewasmTranslationTests/returndatacopy.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
| { | ||||
|   returndatacopy(0x100, 0, returndatasize()) | ||||
|   sstore(0, mload(0x100)) | ||||
| } | ||||
| // ==== | ||||
| // EVMVersion: >=byzantium | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/returndatasize.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/returndatasize.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, returndatasize()) | ||||
| } | ||||
| // ==== | ||||
| // EVMVersion: >=byzantium | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| // Storage dump: | ||||
							
								
								
									
										13
									
								
								test/libyul/ewasmTranslationTests/revert.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								test/libyul/ewasmTranslationTests/revert.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,13 @@ | ||||
| { | ||||
|   mstore(0x20, 0x1234556677889900aa) | ||||
|   revert(0x20, 30) | ||||
|   invalid() | ||||
| } | ||||
| // ==== | ||||
| // EVMVersion: >=byzantium | ||||
| // ---- | ||||
| // Trace: | ||||
| //   REVERT() [000000000000000000000000000000000000000000000012345566778899] | ||||
| // Memory dump: | ||||
| //     60: 00000000000000000000000000000000000000000000001234556677889900aa | ||||
| // Storage dump: | ||||
							
								
								
									
										10
									
								
								test/libyul/ewasmTranslationTests/selfdestruct.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								test/libyul/ewasmTranslationTests/selfdestruct.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
| { | ||||
|   selfdestruct(not(0)) | ||||
|   invalid() | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| //   SELFDESTRUCT() | ||||
| // Memory dump: | ||||
| //     40: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff | ||||
| // Storage dump: | ||||
							
								
								
									
										16
									
								
								test/libyul/ewasmTranslationTests/simple_sload.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								test/libyul/ewasmTranslationTests/simple_sload.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,16 @@ | ||||
| { | ||||
|   sstore(1, 7) | ||||
|   sstore(2, sub(0, 1)) | ||||
|   sstore(3, sload(1)) | ||||
|   sstore(4, sload(2)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //      0: 0000000000000000000000000000000000000000000000000000000000000004 | ||||
| //     20: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000001: 0000000000000000000000000000000000000000000000000000000000000007 | ||||
| //   0000000000000000000000000000000000000000000000000000000000000002: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff | ||||
| //   0000000000000000000000000000000000000000000000000000000000000003: 0000000000000000000000000000000000000000000000000000000000000007 | ||||
| //   0000000000000000000000000000000000000000000000000000000000000004: ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff | ||||
							
								
								
									
										8
									
								
								test/libyul/ewasmTranslationTests/smoke_call.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								test/libyul/ewasmTranslationTests/smoke_call.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| { | ||||
|   sstore(0, call(gas(), address(), 42, 0, 0x20, 0x20, 0x20)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //      0: 0000000000000000000000000000000011111111000000000000000000000000 | ||||
| // Storage dump: | ||||
							
								
								
									
										8
									
								
								test/libyul/ewasmTranslationTests/smoke_callcode.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								test/libyul/ewasmTranslationTests/smoke_callcode.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| { | ||||
|   sstore(0, callcode(gas(), address(), 42, 0, 0x20, 0x20, 0x20)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //      0: 0000000000000000000000000000000011111111000000000000000000000000 | ||||
| // Storage dump: | ||||
							
								
								
									
										11
									
								
								test/libyul/ewasmTranslationTests/smoke_create.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								test/libyul/ewasmTranslationTests/smoke_create.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,11 @@ | ||||
| { | ||||
|   let size := codesize() | ||||
|   codecopy(0, 0, size) | ||||
|   sstore(0, create(42, 0, size)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //      0: 0000000000000000000000000000000000000000000000000000000000000014 | ||||
| //     40: 636f6465636f6465636f6465636f6465636f6465000000000000000000000000 | ||||
| // Storage dump: | ||||
							
								
								
									
										8
									
								
								test/libyul/ewasmTranslationTests/smoke_delegatecall.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								test/libyul/ewasmTranslationTests/smoke_delegatecall.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,8 @@ | ||||
| { | ||||
|   sstore(0, delegatecall(gas(), address(), 0, 0x20, 0x20, 0x20)) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //      0: 0000000000000000000000000000000011111111000000000000000000000000 | ||||
| // Storage dump: | ||||
							
								
								
									
										10
									
								
								test/libyul/ewasmTranslationTests/smoke_staticcall.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								test/libyul/ewasmTranslationTests/smoke_staticcall.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,10 @@ | ||||
| { | ||||
|   sstore(0, staticcall(gas(), address(), 0, 0x20, 0x20, 0x20)) | ||||
| } | ||||
| // ==== | ||||
| // EVMVersion: >=byzantium | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //      0: 0000000000000000000000000000000011111111000000000000000000000000 | ||||
| // Storage dump: | ||||
							
								
								
									
										9
									
								
								test/libyul/ewasmTranslationTests/timestamp.yul
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								test/libyul/ewasmTranslationTests/timestamp.yul
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,9 @@ | ||||
| { | ||||
|   sstore(0, timestamp()) | ||||
| } | ||||
| // ---- | ||||
| // Trace: | ||||
| // Memory dump: | ||||
| //     20: 0000000000000000000000000000000000000000000000000000000088888888 | ||||
| // Storage dump: | ||||
| //   0000000000000000000000000000000000000000000000000000000000000000: 0000000000000000000000000000000000000000000000000000000088888888 | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user