Commit Graph

66 Commits

Author SHA1 Message Date
Cyrill Leutwiler 72d958392b revise alloca at function entry later
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-09-16 12:42:50 +02:00
Cyrill Leutwiler 616f044633 always build alloca in the entry block (#46)
Signed-off-by: xermicus <cyrill@parity.io>
2024-09-13 21:54:42 +02:00
xermicus 7dc8e6051e enable compressed instructions extension
Signed-off-by: xermicus <cyrill@parity.io>
2024-09-13 14:55:16 +02:00
xermicus 0f2b55f6ff fixed output size for transferred value
Signed-off-by: xermicus <cyrill@parity.io>
2024-09-13 08:41:23 +02:00
Cyrill Leutwiler 6635a0b337 fixed size event topics
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-09-10 09:09:52 +02:00
Cyrill Leutwiler 2955f77772 implement self balance
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-09-09 09:40:24 +02:00
xermicus 9e73c48150 remove the extra abi data
Signed-off-by: xermicus <cyrill@parity.io>
2024-09-05 18:10:24 +02:00
Cyrill Leutwiler 393d90165e pallet_revive: Account20 (#41)
Signed-off-by: xermicus <cyrill@parity.io>
2024-09-04 12:42:41 +02:00
Cyrill Leutwiler d2f76b645f switch to pallet_revive runtime (#40)
Signed-off-by: xermicus <cyrill@parity.io>
2024-09-03 17:18:22 +02:00
xermicus 5d742d150d tidy up workspace
Signed-off-by: xermicus <cyrill@parity.io>
2024-08-24 16:09:07 +02:00
wpt967 bb4a4dddde [solidity,llvm-context] Improve support for debugging the compiler (#32)
Add option --recursive-process-input <filename> for use with
--recursive-process to specify the name of a file to use instead of
reading from stdin.

If --debug-output-dir is set, dump the file passed to the recursive
invocation of the compiler as a JSON file suitable for use with
--recursive-process-input.

These changes are intended to support debugging the compiler and are
only available with DEBUG builds.
2024-08-23 18:18:07 +02:00
xermicus b002382d76 llvm build script: build compiler-rt for 64bit
Signed-off-by: xermicus <cyrill@parity.io>
2024-07-19 00:06:53 +02:00
xermicus 6834751522 support riscv64 target
Signed-off-by: xermicus <cyrill@parity.io>
2024-07-09 17:57:58 +02:00
xermicus 10c7045e15 Implement CODESIZE
Signed-off-by: xermicus <cyrill@parity.io>
2024-06-06 15:10:21 +02:00
xermicus 39d78179d4 implement transient storage
Signed-off-by: xermicus <cyrill@parity.io>
2024-06-05 17:34:17 +02:00
Cyrill Leutwiler 9e9227d740 Remove vyper and dead code (#23) 2024-06-05 13:29:07 +02:00
xermicus 2d0a0e2e81 implement BYTE
Signed-off-by: xermicus <cyrill@parity.io>
2024-06-04 18:45:06 +02:00
xermicus 354b1c8d79 do not byte swap storage values
Signed-off-by: xermicus <cyrill@parity.io>
2024-06-03 17:16:49 +02:00
Cyrill Leutwiler 5ff17da695 Implement balance (#20) 2024-06-03 12:21:49 +02:00
Cyrill Leutwiler 1ba806be1f Contract calls (#19) 2024-06-01 20:48:20 +02:00
Cyrill Leutwiler 532721f3be Implement MCOPY (#18)
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-29 21:43:22 +02:00
xermicus 5138fe3d06 implement EXTCODESIZE
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-22 22:56:03 +02:00
Cyrill Leutwiler 06aa289d9b Constructors and contract creation (#11)
Implement constructor logic and support create/create2 in the mock runtime

Signed-off-by: xermicus <cyrill@parity.io>
2024-05-22 21:35:32 +02:00
Cyrill Leutwiler d8be21f156 update PolkaVM
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-05-15 10:12:52 +02:00
xermicus 47d5d6b394 dedicated functions for logging events adds even more code size on 32bit
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-14 11:08:35 +02:00
xermicus 83bf9d6041 events
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-14 09:46:18 +02:00
xermicus 2194aeebd0 constant values for basefee and difficulty
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-13 18:47:36 +02:00
xermicus 02055c73bb extend mock runtime to allow executing constructors and cross contract calls
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-13 13:50:35 +02:00
xermicus 03a1918993 parallelize tests
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-10 10:54:01 +02:00
xermicus 5f5ec1a539 simplify wrapped divisions and sdiv cfg
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-10 10:16:40 +02:00
xermicus 6af889c1ff implement division and remainder operations
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-08 23:21:16 +02:00
Cyrill Leutwiler 864e40901f implement address and msg.sender
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-05-08 16:10:48 +02:00
Cyrill Leutwiler f80a96059d allow register sized int type for memory offsets
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-05-08 15:55:24 +02:00
xermicus 6f080bb9f4 rename binary to resolc
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-08 11:16:24 +02:00
xermicus b55669f5c5 remove the zkasm format
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-08 10:48:01 +02:00
Chris 169740eb5e fix: addressed assembly text build mechanism (#9)
Use `build.assembly_text` for `--asm` output
2024-05-08 09:36:17 +02:00
xermicus 95ff85c6d1 implement block.number and block.timestamp
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-07 18:03:17 +02:00
xermicus a7318f2ef6 implement helper for easy allocation of a word on the stack
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-07 13:40:54 +02:00
xermicus c0dd845b39 s/field/word
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-07 13:37:17 +02:00
xermicus b1a3a452ac internalize register size
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-06 14:30:32 +02:00
xermicus 518c03d045 internalize runtime API function symbols
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-06 13:45:58 +02:00
xermicus 336fc63f1d rename target to polkavm
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-02 08:47:44 +02:00
xermicus 9fc24af355 remove usage of llvm memory attributes
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-02 08:34:45 +02:00
xermicus 426f673b0a use normal style for comments
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-01 16:12:32 +02:00
xermicus 72515254fe rename llvm-context crate
Signed-off-by: xermicus <cyrill@parity.io>
2024-05-01 15:45:09 +02:00
xermicus a85d1ef333 prevent confusing AlwaysInline and NoInline on O0
Signed-off-by: xermicus <cyrill@parity.io>
2024-04-26 10:36:28 +02:00
Cyrill Leutwiler 45d53f2ee4 test for codesizes
Signed-off-by: Cyrill Leutwiler <bigcyrill@hotmail.com>
2024-04-25 17:39:49 +02:00
xermicus 3468fd5abc allow configuration of the PVM stack size
Signed-off-by: xermicus <cyrill@parity.io>
2024-04-22 14:16:36 +02:00
xermicus b3b4f4c9ae add sha1 contract function integration test
Signed-off-by: xermicus <cyrill@parity.io>
2024-04-18 12:34:35 +02:00
xermicus cf4901f0a9 do not declare symbols that are already linked via the stdlib
Signed-off-by: xermicus <cyrill@parity.io>
2024-04-18 12:33:46 +02:00