Browse Source

Merge remote-tracking branch 'up/develop' into ui_improvement2

Conflicts:
	mix/qml/js/ProjectModel.js
cl-refactor
yann300 10 years ago
parent
commit
7a2adcbffb
  1. 2
      alethzero/CMakeLists.txt
  2. 15
      alethzero/MainWin.cpp
  3. 10
      alethzero/MainWin.h
  4. 4
      alethzero/Transact.cpp
  5. 12
      alethzero/Transact.h
  6. 32
      cmake/EthExecutableHelper.cmake
  7. 10
      cmake/FindMHD.cmake
  8. 4
      eth/CMakeLists.txt
  9. 1
      evmjit/evmcc/test/arith/addmod.evm
  10. 12
      evmjit/evmcc/test/arith/addmod.lll
  11. 1
      evmjit/evmcc/test/arith/arith1.evm
  12. 37
      evmjit/evmcc/test/arith/arith1.lll
  13. 1
      evmjit/evmcc/test/arith/arith_bnot.evm
  14. 14
      evmjit/evmcc/test/arith/arith_bnot.lll
  15. 1
      evmjit/evmcc/test/arith/div.evm
  16. 10
      evmjit/evmcc/test/arith/div.lll
  17. 1
      evmjit/evmcc/test/arith/fib1.evm
  18. 57
      evmjit/evmcc/test/arith/fib1.lll
  19. 1
      evmjit/evmcc/test/arith/mul.evm
  20. 13
      evmjit/evmcc/test/arith/mul.lll
  21. 1
      evmjit/evmcc/test/arith/mulmod.evm
  22. 12
      evmjit/evmcc/test/arith/mulmod.lll
  23. 1
      evmjit/evmcc/test/except/badinst1.evm
  24. 1
      evmjit/evmcc/test/ext/calldatacopy1.evm
  25. 13
      evmjit/evmcc/test/ext/calldatacopy1.lll
  26. 1
      evmjit/evmcc/test/ext/calldatacopy2.evm
  27. 13
      evmjit/evmcc/test/ext/calldatacopy2.lll
  28. 1
      evmjit/evmcc/test/ext/codecopy1.evm
  29. 13
      evmjit/evmcc/test/ext/codecopy1.lll
  30. 1
      evmjit/evmcc/test/ext/codecopy2.evm
  31. 13
      evmjit/evmcc/test/ext/codecopy2.lll
  32. 1
      evmjit/evmcc/test/ext/codecopy3.evm
  33. 13
      evmjit/evmcc/test/ext/codecopy3.lll
  34. 1
      evmjit/evmcc/test/ext/ext_test.evm
  35. 55
      evmjit/evmcc/test/ext/ext_test.lll
  36. 1
      evmjit/evmcc/test/ext/extcodecopy1.evm
  37. 11
      evmjit/evmcc/test/ext/extcodecopy1.lll
  38. 1
      evmjit/evmcc/test/ext/store_delete.evm
  39. 9
      evmjit/evmcc/test/ext/store_delete.lll
  40. 1
      evmjit/evmcc/test/ext/store_test.evm
  41. 14
      evmjit/evmcc/test/ext/store_test.lll
  42. 7
      evmjit/evmcc/test/jump/ackermann.ethel
  43. 1
      evmjit/evmcc/test/jump/ackermann.evm
  44. 1
      evmjit/evmcc/test/jump/badindirect1.evm
  45. 9
      evmjit/evmcc/test/jump/badindirect1.lll
  46. 1
      evmjit/evmcc/test/jump/badindirect2.evm
  47. 12
      evmjit/evmcc/test/jump/badindirect2.lll
  48. 1
      evmjit/evmcc/test/jump/badjump1.evm
  49. 6
      evmjit/evmcc/test/jump/badjump1.lll
  50. 1
      evmjit/evmcc/test/jump/badjump2.evm
  51. 9
      evmjit/evmcc/test/jump/badjump2.lll
  52. 5
      evmjit/evmcc/test/jump/call1.ethel
  53. 1
      evmjit/evmcc/test/jump/call1.evm
  54. 5
      evmjit/evmcc/test/jump/call2.ethel
  55. 1
      evmjit/evmcc/test/jump/call2.evm
  56. 5
      evmjit/evmcc/test/jump/fac.ethel
  57. 1
      evmjit/evmcc/test/jump/fac.evm
  58. 5
      evmjit/evmcc/test/jump/fac_tail.ethel
  59. 1
      evmjit/evmcc/test/jump/fac_tail.evm
  60. 6
      evmjit/evmcc/test/jump/fib1.ethel
  61. 1
      evmjit/evmcc/test/jump/fib1.evm
  62. 1
      evmjit/evmcc/test/jump/for1.evm
  63. 3
      evmjit/evmcc/test/jump/for1.lll
  64. 1
      evmjit/evmcc/test/jump/for2.evm
  65. 3
      evmjit/evmcc/test/jump/for2.lll
  66. 1
      evmjit/evmcc/test/jump/if1.ethel
  67. 1
      evmjit/evmcc/test/jump/if1.evm
  68. 1
      evmjit/evmcc/test/jump/if2.ethel
  69. 1
      evmjit/evmcc/test/jump/if2.evm
  70. 1
      evmjit/evmcc/test/jump/indirect1.evm
  71. 13
      evmjit/evmcc/test/jump/indirect1.lll
  72. 1
      evmjit/evmcc/test/jump/indirect2.evm
  73. 19
      evmjit/evmcc/test/jump/indirect2.lll
  74. 1
      evmjit/evmcc/test/jump/indirect3.evm
  75. 14
      evmjit/evmcc/test/jump/indirect3.lll
  76. 1
      evmjit/evmcc/test/jump/indirect4.evm
  77. 15
      evmjit/evmcc/test/jump/indirect4.lll
  78. 1
      evmjit/evmcc/test/jump/jump1.evm
  79. 11
      evmjit/evmcc/test/jump/jump1.lll
  80. 1
      evmjit/evmcc/test/jump/jump2.evm
  81. 10
      evmjit/evmcc/test/jump/jump2.lll
  82. 1
      evmjit/evmcc/test/jump/jump3.evm
  83. 10
      evmjit/evmcc/test/jump/jump3.lll
  84. 1
      evmjit/evmcc/test/jump/jump4.evm
  85. 17
      evmjit/evmcc/test/jump/jump4.lll
  86. 1
      evmjit/evmcc/test/jump/jump5.evm
  87. 16
      evmjit/evmcc/test/jump/jump5.lll
  88. 1
      evmjit/evmcc/test/jump/jump6.evm
  89. 32
      evmjit/evmcc/test/jump/jump6.lll
  90. 1
      evmjit/evmcc/test/jump/jumpi_at_the_end.evm
  91. 1
      evmjit/evmcc/test/jump/jumpi_at_the_end.lll
  92. 1
      evmjit/evmcc/test/jump/loop1.evm
  93. 27
      evmjit/evmcc/test/jump/loop1.lll
  94. 1
      evmjit/evmcc/test/jump/loop2.evm
  95. 28
      evmjit/evmcc/test/jump/loop2.lll
  96. 4
      evmjit/evmcc/test/jump/rec1.ethel
  97. 1
      evmjit/evmcc/test/jump/rec1.evm
  98. 10
      evmjit/evmcc/test/jump/when1.asm
  99. 1
      evmjit/evmcc/test/jump/when1.evm
  100. 2
      evmjit/evmcc/test/jump/when1.lll

2
alethzero/CMakeLists.txt

@ -58,5 +58,5 @@ if (NOT ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC"))
endif()
# eth_install_executable is defined in cmake/EthExecutableHelper.cmake
eth_install_executable(${EXECUTABLE})
eth_install_executable(${EXECUTABLE} DLLS ${MHD_DLL_RELEASE})

15
alethzero/MainWin.cpp

@ -1458,7 +1458,7 @@ void Main::on_debugCurrent_triggered()
}
}
void Main::on_debugDumpState_triggered(int _add)
void Main::debugDumpState(int _add)
{
if (auto item = ui->blocks->currentItem())
{
@ -1479,11 +1479,6 @@ void Main::on_debugDumpState_triggered(int _add)
}
}
void Main::on_debugDumpStatePre_triggered()
{
on_debugDumpState_triggered(0);
}
void Main::on_contracts_currentItemChanged()
{
ui->contractInfo->clear();
@ -1511,7 +1506,7 @@ void Main::on_contracts_currentItemChanged()
}
}
void Main::on_idealPeers_valueChanged()
void Main::on_idealPeers_valueChanged(int)
{
m_webThree->setIdealPeerCount(ui->idealPeers->value());
}
@ -1523,11 +1518,11 @@ void Main::on_ourAccounts_doubleClicked()
qApp->clipboard()->setText(QString::fromStdString(toHex(h.asArray())));
}
void Main::on_log_doubleClicked()
/*void Main::on_log_doubleClicked()
{
ui->log->setPlainText("");
m_logHistory.clear();
}
}*/
void Main::on_accounts_doubleClicked()
{
@ -1634,7 +1629,7 @@ void Main::on_net_triggered()
{
web3()->setIdealPeerCount(ui->idealPeers->value());
web3()->setNetworkPreferences(netPrefs());
ethereum()->setNetworkId(m_privateChain.size() ? sha3(m_privateChain.toStdString()) : 0);
ethereum()->setNetworkId(m_privateChain.size() ? sha3(m_privateChain.toStdString()) : h256());
// TODO: p2p
// if (m_networkConfig.size()/* && ui->usePast->isChecked()*/)
// web3()->restoreNetwork(bytesConstRef((byte*)m_networkConfig.data(), m_networkConfig.size()));

10
alethzero/MainWin.h

@ -109,7 +109,7 @@ private slots:
void on_go_triggered();
void on_net_triggered();
void on_connect_triggered();
void on_idealPeers_valueChanged();
void on_idealPeers_valueChanged(int);
// Mining
void on_mine_triggered();
@ -142,7 +142,7 @@ private slots:
void on_blocks_currentItemChanged();
// Logging
void on_log_doubleClicked();
// void on_log_doubleClicked();
void on_verbosity_valueChanged();
// Misc
@ -162,8 +162,8 @@ private slots:
// Debugger
void on_debugCurrent_triggered();
void on_debugDumpState_triggered(int _add = 1);
void on_debugDumpStatePre_triggered();
void on_debugDumpState_triggered() { debugDumpState(1); }
void on_debugDumpStatePre_triggered() { debugDumpState(0); }
// Whisper
void on_newIdentity_triggered();
@ -177,6 +177,8 @@ signals:
void poll();
private:
void debugDumpState(int _add);
dev::p2p::NetworkPreferences netPrefs() const;
QString lookup(QString const& _n) const;

4
alethzero/Transact.cpp

@ -55,7 +55,7 @@ Transact::Transact(Context* _c, QWidget* _parent):
ui->valueUnits->setCurrentIndex(6);
ui->gasPriceUnits->setCurrentIndex(4);
ui->gasPrice->setValue(10);
on_destination_currentTextChanged();
on_destination_currentTextChanged(QString());
}
Transact::~Transact()
@ -147,7 +147,7 @@ string Transact::getFunctionHashes(dev::solidity::CompilerStack const& _compiler
return ret;
}
void Transact::on_destination_currentTextChanged()
void Transact::on_destination_currentTextChanged(QString)
{
if (ui->destination->currentText().size() && ui->destination->currentText() != "(Create Contract)")
if (Address a = m_context->fromString(ui->destination->currentText()))

12
alethzero/Transact.h

@ -44,12 +44,12 @@ public:
void setEnvironment(QList<dev::KeyPair> _myKeys, dev::eth::Client* _eth, NatSpecFace* _natSpecDB);
private slots:
void on_destination_currentTextChanged();
void on_value_valueChanged() { updateFee(); }
void on_gas_valueChanged() { updateFee(); }
void on_valueUnits_currentIndexChanged() { updateFee(); }
void on_gasPriceUnits_currentIndexChanged() { updateFee(); }
void on_gasPrice_valueChanged() { updateFee(); }
void on_destination_currentTextChanged(QString);
void on_value_valueChanged(int) { updateFee(); }
void on_gas_valueChanged(int) { updateFee(); }
void on_valueUnits_currentIndexChanged(int) { updateFee(); }
void on_gasPriceUnits_currentIndexChanged(int) { updateFee(); }
void on_gasPrice_valueChanged(int) { updateFee(); }
void on_data_textChanged() { rejigData(); }
void on_optimize_clicked() { rejigData(); }
void on_send_clicked();

32
cmake/EthExecutableHelper.cmake

@ -56,7 +56,7 @@ macro(eth_install_executable EXECUTABLE)
set (extra_macro_args ${ARGN})
set (options)
set (one_value_args QMLDIR)
set (multi_value_args)
set (multi_value_args DLLS)
cmake_parse_arguments (ETH_INSTALL_EXECUTABLE "${options}" "${one_value_args}" "${multi_value_args}" "${extra_macro_args}")
if (ETH_INSTALL_EXECUTABLE_QMLDIR)
@ -90,15 +90,29 @@ macro(eth_install_executable EXECUTABLE)
" COMPONENT RUNTIME )
elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
add_custom_command(TARGET ${EXECUTABLE} POST_BUILD
COMMAND cmd /C "set PATH=${Qt5Core_DIR}/../../../bin;%PATH% && ${WINDEPLOYQT_APP} ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${EXECUTABLE}.exe ${eth_qml_dir}"
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
)
#workaround for https://bugreports.qt.io/browse/QTBUG-42083
add_custom_command(TARGET ${EXECUTABLE} POST_BUILD
COMMAND cmd /C "(echo [Paths] & echo.Prefix=.)" > "qt.conf"
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} VERBATIM
get_target_property(TARGET_LIBS ${EXECUTABLE} INTERFACE_LINK_LIBRARIES)
string(REGEX MATCH "Qt5::Core" HAVE_QT ${TARGET_LIBS})
if ("${HAVE_QT}" STREQUAL "Qt5::Core")
add_custom_command(TARGET ${EXECUTABLE} POST_BUILD
COMMAND cmd /C "set PATH=${Qt5Core_DIR}/../../../bin;%PATH% && ${WINDEPLOYQT_APP} ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${EXECUTABLE}.exe ${eth_qml_dir}"
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
)
#workaround for https://bugreports.qt.io/browse/QTBUG-42083
add_custom_command(TARGET ${EXECUTABLE} POST_BUILD
COMMAND cmd /C "(echo [Paths] & echo.Prefix=.)" > "qt.conf"
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR} VERBATIM
)
endif()
#copy additional dlls
foreach(dll ${ETH_INSTALL_EXECUTABLE_DLLS})
add_custom_command(TARGET ${EXECUTABLE} POST_BUILD
COMMAND ${CMAKE_COMMAND}
ARGS -E copy ${dll} "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}"
)
endforeach(dll)
install( TARGETS ${EXECUTABLE} RUNTIME
DESTINATION bin
COMPONENT ${EXECUTABLE}

10
cmake/FindMHD.cmake

@ -29,13 +29,19 @@ set(MHD_LIBRARIES ${MHD_LIBRARY})
# boost is using the same "hack" as us with "optimized" and "debug"
# official MHD project actually uses _d suffix
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
#TODO: place dlls into CMAKE_CFG_INTDIR subfolders
string(REPLACE ".lib" ".dll" MHD_DLL_RELEASE ${MHD_LIBRARY})
string(REPLACE "/lib/" "/bin/" MHD_DLL_RELEASE ${MHD_DLL_RELEASE})
find_library(
MHD_LIBRARY_DEBUG
NAMES microhttpd_d microhttpd-10_d libmicrohttpd_d libmicrohttpd-dll_d
DOC "mhd debug library"
)
set(MHD_LIBRARIES optimized ${MHD_LIBRARIES} debug ${MHD_LIBRARY_DEBUG})
# always use release for now
#string(REPLACE ".lib" ".dll" MHD_DLL_DEBUG ${MHD_LIBRARY_DEBUG})
#set(MHD_LIBRARIES optimized ${MHD_LIBRARIES} debug ${MHD_LIBRARY_DEBUG})
endif()

4
eth/CMakeLists.txt

@ -28,5 +28,9 @@ endif()
target_link_libraries(${EXECUTABLE} webthree)
target_link_libraries(${EXECUTABLE} secp256k1)
if (WIN32)
add_custom_command(TARGET ${EXECUTABLE} POST_BUILD COMMAND ${CMAKE_COMMAND} ARGS -E copy ${MHD_DLL_RELEASE} "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}")
endif()
install( TARGETS ${EXECUTABLE} DESTINATION bin )

1
evmjit/evmcc/test/arith/addmod.evm

@ -1 +0,0 @@
60646107b760271460005560006001f2

12
evmjit/evmcc/test/arith/addmod.lll

@ -1,12 +0,0 @@
;; Should return (1975 + 39) `mod` 100 = 14 = 0x0e
(asm
100
1975
39
ADDMOD
0
MSTORE8
0
1
RETURN
)

1
evmjit/evmcc/test/arith/arith1.evm

@ -1 +0,0 @@
60016001900160070260050160029004600490066021900560150160030260059007600303600960110860005460086000f2

37
evmjit/evmcc/test/arith/arith1.lll

@ -1,37 +0,0 @@
(asm
1
1
SWAP1
ADD ;; 2
7
MUL ;; 14
5
ADD ;; 19
2
SWAP1
DIV ;; 9
4
SWAP1
MOD ;; 1
33
SWAP1
SDIV;; 0
21
ADD ;; 21
3
MUL ;; 63
5
SWAP1
SMOD;; 3
3
SUB ;; 0
9
17
EXP ;; 17^9
0
MSTORE
8
0
RETURN
)

1
evmjit/evmcc/test/arith/arith_bnot.evm

@ -1 +0,0 @@
6201e2406000546000530960005460206000f2

14
evmjit/evmcc/test/arith/arith_bnot.lll

@ -1,14 +0,0 @@
(asm
123456
0
MSTORE
0
MLOAD
BNOT
0
MSTORE
32
0
RETURN
)

1
evmjit/evmcc/test/arith/div.evm

@ -1 +0,0 @@
60027ffedcba9876543210fedcba9876543210fedcba9876543210fedcba98765432100460005460206000f2

10
evmjit/evmcc/test/arith/div.lll

@ -1,10 +0,0 @@
(asm
0x2
0xfedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210
DIV
0
MSTORE
32
0
RETURN
)

1
evmjit/evmcc/test/arith/fib1.evm

@ -1 +0,0 @@
60016001818101818101818101818101818101818101818101818101818101818101818101818101818101818101818101818101818101

57
evmjit/evmcc/test/arith/fib1.lll

@ -1,57 +0,0 @@
;; Fibbonacci unrolled
(asm
1
1
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
DUP2
DUP2
ADD
)

1
evmjit/evmcc/test/arith/mul.evm

@ -1 +0,0 @@
7001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba09876543217001234567890abcdef0fedcba0987654321020260005460206000f2

13
evmjit/evmcc/test/arith/mul.lll

@ -1,13 +0,0 @@
(asm
0x1234567890abcdef0fedcba0987654321
0x1234567890abcdef0fedcba0987654321
0x1234567890abcdef0fedcba0987654321
MUL
MUL
0
MSTORE
32
0
RETURN
;; 47d0817e4167b1eb4f9fc722b133ef9d7d9a6fb4c2c1c442d000107a5e419561
)

1
evmjit/evmcc/test/arith/mulmod.evm

@ -1 +0,0 @@
6064601b60251560005560006001f2

12
evmjit/evmcc/test/arith/mulmod.lll

@ -1,12 +0,0 @@
;; Should return (27 * 37) `mod` 100 = 99 = 0x63
(asm
100
27
37
MULMOD
0
MSTORE8
0
1
RETURN
)

1
evmjit/evmcc/test/except/badinst1.evm

@ -1 +0,0 @@
4a

1
evmjit/evmcc/test/ext/calldatacopy1.evm

@ -1 +0,0 @@
60326000600a37600053600a6014f2

13
evmjit/evmcc/test/ext/calldatacopy1.lll

@ -1,13 +0,0 @@
(asm
50 ;; byte count
0 ;; source index in calldata array
10 ;; dest index in memory
CALLDATACOPY
0
MLOAD ;; to dump memory
10
20
RETURN
)

1
evmjit/evmcc/test/ext/calldatacopy2.evm

@ -1 +0,0 @@
606464e8d4a510006000376000536000600af2

13
evmjit/evmcc/test/ext/calldatacopy2.lll

@ -1,13 +0,0 @@
(asm
100 ;; byte count
1000000000000 ;; source index in calldata array
0 ;; dest index in memory
CALLDATACOPY
0
MLOAD ;; to dump memory
0
10
RETURN
)

1
evmjit/evmcc/test/ext/codecopy1.evm

@ -1 +0,0 @@
60146000600a39600053600a6014f2

13
evmjit/evmcc/test/ext/codecopy1.lll

@ -1,13 +0,0 @@
(asm
20 ;; byte count
0 ;; source index in code array
10 ;; dest index in memory
CODECOPY
0
MLOAD ;; to dump memory
10
20
RETURN
)

1
evmjit/evmcc/test/ext/codecopy2.evm

@ -1 +0,0 @@
606464e8d4a510006000396000536000600af2

13
evmjit/evmcc/test/ext/codecopy2.lll

@ -1,13 +0,0 @@
(asm
100 ;; byte count
1000000000000 ;; source index in code array
0 ;; dest index in memory
CODECOPY
0
MLOAD ;; to dump memory
0
10
RETURN
)

1
evmjit/evmcc/test/ext/codecopy3.evm

@ -1 +0,0 @@
3860006000396000536000600af2

13
evmjit/evmcc/test/ext/codecopy3.lll

@ -1,13 +0,0 @@
(asm
CODESIZE ;; byte count
0 ;; source index in code array
0 ;; dest index in memory
CODECOPY
0
MLOAD ;; to dump memory
0
10
RETURN
)

1
evmjit/evmcc/test/ext/ext_test.evm

@ -1 +0,0 @@
5a3031333234363a4041424344455a36600035602635601335387f1111222233334444555566667777888899990000aaaabbbbccccddddeeeeffff600054602060006000f06020600060206000600030610bb8f1600053611000545b60200260002030ff60016002f2

55
evmjit/evmcc/test/ext/ext_test.lll

@ -1,55 +0,0 @@
(asm
PC
ADDRESS
BALANCE
CALLER
ORIGIN
CALLVALUE
CALLDATASIZE
GASPRICE
PREVHASH
COINBASE
TIMESTAMP
NUMBER
DIFFICULTY
GASLIMIT
PC
CALLDATASIZE
0
CALLDATALOAD
38
CALLDATALOAD
19
CALLDATALOAD
CODESIZE
0x1111222233334444555566667777888899990000aaaabbbbccccddddeeeeffff
0
MSTORE
32
0
0
CREATE
32
0
32
0
0
ADDRESS
3000
CALL
0
MLOAD
4096
MSTORE
MSIZE
32
MUL
0
SHA3
ADDRESS
SUICIDE
1
2
RETURN
)

1
evmjit/evmcc/test/ext/extcodecopy1.evm

@ -1 +0,0 @@
60c86000600a303c60005360006020f2

11
evmjit/evmcc/test/ext/extcodecopy1.lll

@ -1,11 +0,0 @@
(asm
200 ;; byte count
0 ;; source index in code array
10 ;; dest index in memory
ADDRESS
EXTCODECOPY
0 MLOAD ;; to dump memory
0 32 RETURN
)

1
evmjit/evmcc/test/ext/store_delete.evm

@ -1 +0,0 @@
6104d26063576000606357

9
evmjit/evmcc/test/ext/store_delete.lll

@ -1,9 +0,0 @@
(asm
1234
99
SSTORE
0
99
SSTORE
)

1
evmjit/evmcc/test/ext/store_test.evm

@ -1 +0,0 @@
607b607c60015760005760015660005603

14
evmjit/evmcc/test/ext/store_test.lll

@ -1,14 +0,0 @@
(asm
123
124
1
SSTORE
0
SSTORE
1
SLOAD
0
SLOAD
SUB
)

7
evmjit/evmcc/test/jump/ackermann.ethel

@ -1,7 +0,0 @@
let A m n =
if m == 0 then n+1
else if n == 0 then A (m-1) 1
else A (m-1) (A (m) (n-1))
return A 3 8

1
evmjit/evmcc/test/jump/ackermann.evm

@ -1 +0,0 @@
6009600360086012585d60005460206000f26000820e6047596000810e603859603460018303603084600185036012585d6012585d60445860436001830360016012585d604b5860018101905090509058

1
evmjit/evmcc/test/jump/badindirect1.evm

@ -1 +0,0 @@
601b602502585d

9
evmjit/evmcc/test/jump/badindirect1.lll

@ -1,9 +0,0 @@
;; Indirect jump out of code
(asm
27
37
MUL
JUMP
JUMPDEST
)

1
evmjit/evmcc/test/jump/badindirect2.evm

@ -1 +0,0 @@
60016003600302596000600058

12
evmjit/evmcc/test/jump/badindirect2.lll

@ -1,12 +0,0 @@
;; Indirect jump into data
(asm
1 ;; 0
3
3
MUL ;; 6
JUMPI ;; 7
0 ;; 8
0
JUMP
)

1
evmjit/evmcc/test/jump/badjump1.evm

@ -1 +0,0 @@
6103e758

6
evmjit/evmcc/test/jump/badjump1.lll

@ -1,6 +0,0 @@
;; Direct jump out of code.
(asm
999
JUMP
)

1
evmjit/evmcc/test/jump/badjump2.evm

@ -1 +0,0 @@
6004586000600058

9
evmjit/evmcc/test/jump/badjump2.lll

@ -1,9 +0,0 @@
;; Direct jump into data
(asm
4 ;; 0 0-3
JUMP ;; 2
0 ;; 3 3-4
0 ;; 5 4-7
JUMP ;; 6
)

5
evmjit/evmcc/test/jump/call1.ethel

@ -1,5 +0,0 @@
let f n = n + 1
return f 2

1
evmjit/evmcc/test/jump/call1.evm

@ -1 +0,0 @@
600760026010585d60005460206000f28060010190509058

5
evmjit/evmcc/test/jump/call2.ethel

@ -1,5 +0,0 @@
let f a b = a + b
return f 2 3

1
evmjit/evmcc/test/jump/call2.evm

@ -1 +0,0 @@
6009600260036012585d60005460206000f2818101905090509058

5
evmjit/evmcc/test/jump/fac.ethel

@ -1,5 +0,0 @@
let fac n =
if n == 0 then 1
else n * fac (n-1)
return fac 60

1
evmjit/evmcc/test/jump/fac.evm

@ -1 +0,0 @@
6007603c6010585d60005460206000f26000810e6026596020600182036010585d8102602858600190509058

5
evmjit/evmcc/test/jump/fac_tail.ethel

@ -1,5 +0,0 @@
let fac a n =
if n == 0 then a
else fac (a*n) (n-1)
return fac 1 60

1
evmjit/evmcc/test/jump/fac_tail.evm

@ -1 +0,0 @@
60096001603c6012585d60005460206000f26000810e6029596025818302600183036012585d602a5881905090509058

6
evmjit/evmcc/test/jump/fib1.ethel

@ -1,6 +0,0 @@
let fib n =
if n < 3 then 1
else fib (n-1) + fib (n-2)
return fib 10

1
evmjit/evmcc/test/jump/fib1.evm

@ -1 +0,0 @@
6007600a6010585d60005460206000f26003810a602f596020600282036010585d602a600183036010585d01603158600190509058

1
evmjit/evmcc/test/jump/for1.evm

@ -1 +0,0 @@
600a60805460006080530b0f60255960a0536080530160a054600160805303608054600558

3
evmjit/evmcc/test/jump/for1.lll

@ -1,3 +0,0 @@
(for [i]:10 (> @i 0) [i](- @i 1)
[j](+ @i @j)
)

1
evmjit/evmcc/test/jump/for2.evm

@ -1 +0,0 @@
6000608054600a6080530a0f60255960a0536080530160a054600160805301608054600558

3
evmjit/evmcc/test/jump/for2.lll

@ -1,3 +0,0 @@
(for [i]:0 (< @i 10) [i](+ @i 1)
[j](+ @i @j)
)

1
evmjit/evmcc/test/jump/if1.ethel

@ -1 +0,0 @@
return if 0 then 1 else 2

1
evmjit/evmcc/test/jump/if1.evm

@ -1 +0,0 @@
60006300000010596002630000001258600160005460206000f2

1
evmjit/evmcc/test/jump/if2.ethel

@ -1 +0,0 @@
return if 1 then 1 else 2

1
evmjit/evmcc/test/jump/if2.evm

@ -1 +0,0 @@
60016300000010596002630000001258600160005460206000f2

1
evmjit/evmcc/test/jump/indirect1.evm

@ -1 +0,0 @@
600460030158005d6001600054

13
evmjit/evmcc/test/jump/indirect1.lll

@ -1,13 +0,0 @@
;; Indirect JUMP
(asm
4 ;; 0
3 ;; 2
ADD ;; 4
JUMP ;; 5
STOP ;; 6
JUMPDEST ;; 7
1
0
MSTORE
)

1
evmjit/evmcc/test/jump/indirect2.evm

@ -1 +0,0 @@
600860060158005d6001600054005d600260005400

19
evmjit/evmcc/test/jump/indirect2.lll

@ -1,19 +0,0 @@
;; Indirect JUMP
(asm
8 ;; 0
6 ;; 2
ADD ;; 4
JUMP ;; 5 --> 14
STOP ;; 6
JUMPDEST ;; 7
1 ;; 8
0 ;; 10
MSTORE ;; 12
STOP ;; 13
JUMPDEST ;; 14
2
0
MSTORE
STOP
)

1
evmjit/evmcc/test/jump/indirect3.evm

@ -1 +0,0 @@
6001600460050159005d6001600054

14
evmjit/evmcc/test/jump/indirect3.lll

@ -1,14 +0,0 @@
;; Indirect JUMP
(asm
1 ;; 0
4 ;; 2
5 ;; 4
ADD ;; 6
JUMPI ;; 7
STOP ;; 8
JUMPDEST ;; 9
1
0
MSTORE
)

1
evmjit/evmcc/test/jump/indirect4.evm

@ -1 +0,0 @@
60006007600501596001600054005d00

15
evmjit/evmcc/test/jump/indirect4.lll

@ -1,15 +0,0 @@
;; Indirect JUMP
(asm
0 ;; 0
7 ;; 2
5 ;; 4
ADD ;; 6
JUMPI ;; 7
1 ;; 8
0 ;; 9
MSTORE ;; 10
STOP ;; 11
JUMPDEST ;; 12
STOP
)

1
evmjit/evmcc/test/jump/jump1.evm

@ -1 +0,0 @@
600458006001600154

11
evmjit/evmcc/test/jump/jump1.lll

@ -1,11 +0,0 @@
;; Direct JUMP.
;; output: memory[1] == 1
(asm
4 ;; 0
JUMP ;; 2
STOP ;; 3
1 ;; 4
1 ;; 6
MSTORE ;; 8
)

1
evmjit/evmcc/test/jump/jump2.evm

@ -1 +0,0 @@
6008586001600154

10
evmjit/evmcc/test/jump/jump2.lll

@ -1,10 +0,0 @@
;; Direct JUMP to the end of code.
;; output: memory should have size 0.
(asm
8 ;; 0
JUMP ;; 2
1 ;; 3
1 ;; 5
MSTORE ;; 7
)

1
evmjit/evmcc/test/jump/jump3.evm

@ -1 +0,0 @@
602a586001600154

10
evmjit/evmcc/test/jump/jump3.lll

@ -1,10 +0,0 @@
;; Direct JUMP past the end of code.
;; output: memory should have size 0.
(asm
42
JUMP
1
1
MSTORE
)

1
evmjit/evmcc/test/jump/jump4.evm

@ -1 +0,0 @@
600b6009580000600558005d6001600154

17
evmjit/evmcc/test/jump/jump4.lll

@ -1,17 +0,0 @@
;; Direct JUMP.
;; output: memory[1] = 1
(asm
11 ;; 0
9 ;; 2
JUMP ;; 4 --> 9
STOP ;; 5
STOP ;; 6
5 ;; 7
JUMP ;; 9 --> 11
STOP ;; 10
JUMPDEST
1 ;; 11
1
MSTORE
)

1
evmjit/evmcc/test/jump/jump5.evm

@ -1 +0,0 @@
6005600e585d600160015400600f5800

16
evmjit/evmcc/test/jump/jump5.lll

@ -1,16 +0,0 @@
;; Direct JUMP.
;; output: memory[1] = 1
(asm
5 ;; 0
14 ;; 2
JUMP ;; 4 --> 14
JUMPDEST ;; 5
1 ;; 6
1 ;; 8
MSTORE ;; 10
STOP ;; 11
15 ;; 12
JUMP ;; 14 --> 5
STOP ;; 15
)

1
evmjit/evmcc/test/jump/jump6.evm

@ -1 +0,0 @@
600358600f600d58006014600758005d6001600154005d600260025400

32
evmjit/evmcc/test/jump/jump6.lll

@ -1,32 +0,0 @@
;; Direct JUMP.
;; output: memory[1] = 1
;; 0, 2 --> 3 .. 7 --> 13 -*-> 15 .. 19
(asm
3 ;; 0
JUMP ;; 2
15 ;; 3 <- start
13 ;; 5
JUMP ;; 7 <- b
STOP ;; 8
20 ;; 9
7 ;; 11
JUMP ;; 13 <- a
STOP ;; 14
JUMPDEST ;; 15 <- c
1 ;; 16
1 ;; 18
MSTORE ;; 19
STOP ;; 20
JUMPDEST ;; 21 <- d
2 ;; 22
2 ;; 24
MSTORE ;; 26
STOP ;; 27
)

1
evmjit/evmcc/test/jump/jumpi_at_the_end.evm

@ -1 +0,0 @@
600a6000545d6000536001900380600054600659

1
evmjit/evmcc/test/jump/jumpi_at_the_end.lll

@ -1 +0,0 @@
(asm 10 0 MSTORE JUMPDEST 0 MLOAD 1 SWAP1 SUB DUP1 0 MSTORE 6 JUMPI)

1
evmjit/evmcc/test/jump/loop1.evm

@ -1 +0,0 @@
600a600181038060025960005460015460025400

27
evmjit/evmcc/test/jump/loop1.lll

@ -1,27 +0,0 @@
;; Produces 1 2 3 4 5 6 7 8 9 10 on the stack and exits
(asm
10
;; 2
1
DUP2
SUB
DUP1
2
JUMPI
;; stack = 1 2 3 4 5 6 7 8 9 10
0
MSTORE
1
MSTORE
2
MSTORE
;;3
;;MSTORE
STOP
)

1
evmjit/evmcc/test/jump/loop2.evm

@ -1 +0,0 @@
600a80600190038060025960005460015460025400

28
evmjit/evmcc/test/jump/loop2.lll

@ -1,28 +0,0 @@
;; Produces 1 2 3 4 5 6 7 8 9 10 on the stack and exits
(asm
10
;; 2
DUP1
1
SWAP1
SUB
DUP1
2
JUMPI
;; stack = 1 2 3 4 5 6 7 8 9 10
0
MSTORE
1
MSTORE
2
MSTORE
;;3
;;MSTORE
STOP
)

4
evmjit/evmcc/test/jump/rec1.ethel

@ -1,4 +0,0 @@
let f n =
if n == 0 then 2 else f (n-1)
return f 10

1
evmjit/evmcc/test/jump/rec1.evm

@ -1 +0,0 @@
6007600a6010585d60005460206000f26000810e6024596020600182036010585d602658600290509058

10
evmjit/evmcc/test/jump/when1.asm

@ -1,10 +0,0 @@
.code:
PUSH 1
NOT
PUSH [tag0]
JUMPI
PUSH 13
PUSH 128
MSTORE
tag0:

1
evmjit/evmcc/test/jump/when1.evm

@ -1 +0,0 @@
60010f600b59600d608054

2
evmjit/evmcc/test/jump/when1.lll

@ -1,2 +0,0 @@
(when (> 1 0) [i] 13)

Some files were not shown because too many files changed in this diff

Loading…
Cancel
Save