Dmitry Vagner
e86c7034bc
load little endian
2022-09-15 09:21:19 -07:00
Dmitry Vagner
b08a5772d3
allow offset variable
2022-09-13 14:32:41 -07:00
Dmitry Vagner
cf80668ce3
formatting
2022-09-09 17:42:49 -07:00
Dmitry Vagner
64e9f6f0fb
final error and formatting
2022-09-09 17:38:36 -07:00
Dmitry Vagner
9561dceb39
fix
2022-09-08 20:16:51 -07:00
Dmitry Vagner
3bfb994cbd
fix errors
2022-09-08 19:35:37 -07:00
Dmitry Vagner
7ed78c22a3
minor errors
2022-09-08 15:47:18 -07:00
Daniel Lubarov
fdb6cafe18
Fill in call_common routine
2022-09-07 16:42:21 -07:00
Daniel Lubarov
9b259cb917
Feedback
2022-09-05 10:12:23 -07:00
Daniel Lubarov
aaf7ace396
Remove JUMPDESTs
2022-09-04 22:31:56 -07:00
Jacqueline Nabaglo
4c52d37546
Save columns by verifying invalid opcodes in software ( #701 )
...
* Save columns by verifying invalid opcodes in software
* Autogenerate invalid opcode bitfield (Daniel comment)
* Remove unnecessary panic label
2022-08-30 13:06:03 -07:00
Dmitry Vagner
e6e6099cec
finished hash loop
2022-08-25 16:18:45 -07:00
Dmitry Vagner
3e671155cb
all but blocks
2022-08-25 15:38:18 -07:00
Dmitry Vagner
ca23001029
add constants
2022-08-23 16:40:31 -07:00
Dmitry Vagner
03b4d0a9da
all but memory
2022-08-23 12:03:06 -07:00
Dmitry Vagner
dc2d4b893b
Merge branch 'main' of github.com:mir-protocol/plonky2 into ripeMD
2022-08-16 15:22:40 -07:00
Jacqueline Nabaglo
b98dd47820
Permission levels, jumps, traps ( #653 )
...
* Permission levels, jumps, traps
* Tests passing
* PR comments + documentation
* Docs + minor bugfixes
* Tests
* Use already-defined `stop` and `exception` (but renamed to `sys_stop`, `fault_exception`)
* Daniel comments
2022-08-16 09:46:10 -07:00
Daniel Lubarov
232303b9ec
Merge pull request #666 from mir-protocol/rlp_encode
...
RLP encoding functions
2022-08-15 12:19:04 -07:00
Daniel Lubarov
97b271bf69
Merge pull request #663 from mir-protocol/use_mstore_txn_field
...
Make use of `mstore_txn_field` in type 0 parsing
2022-08-15 11:41:18 -07:00
Daniel Lubarov
539152d767
RLP encoding functions
2022-08-14 11:41:53 -07:00
Daniel Lubarov
6ea801d960
TODOs
2022-08-13 10:23:29 -07:00
Daniel Lubarov
74b1fd25e6
TODOs
2022-08-12 17:37:00 -07:00
Daniel Lubarov
cc61c7211c
Core transaction processing logic
...
With lots of TODOs to fill in afterward; this is just a start.
2022-08-12 17:20:18 -07:00
Daniel Lubarov
707e564934
Make use of mstore_txn_field in type 0 parsing
...
Some of the `%stack` operations are now trivial, but I kind of like keeping `%stack` since it serves as documentation as well, making comments about the stack unnecessary.
2022-08-09 18:44:41 -04:00
Dmitry Vagner
f9efc3aede
draft implementation
2022-08-09 15:11:18 -07:00
Dmitry Vagner
26574f8b1e
swap shift orders
2022-08-09 14:28:32 -07:00
Daniel Lubarov
68de3ee0c6
Merge pull request #660 from mir-protocol/packing
...
Packing memory operations
2022-08-08 14:23:49 -04:00
Dmitry Vagner
48f17e484b
space
2022-08-08 11:04:05 -04:00
Dmitry Vagner
4633845452
fix merge conflict
2022-08-08 10:57:39 -04:00
Dmitry Vagner
ac4d7820e3
merge
2022-08-08 10:56:23 -04:00
Dmitry Vagner
93d25859b2
merge
2022-08-08 10:51:01 -04:00
Daniel Lubarov
ccc4202de3
Packing memory operations
2022-08-05 13:44:08 -04:00
Daniel Lubarov
616eb618f2
Support macro-local labels
...
Again borrowing syntax from NASM. Example from the test:
%macro spin
%%start:
PUSH %%start
JUMP
%endmacro
One thing this lets us do is create "wrapper" macros which call a function, then return to the code immediately following the macro call, such as
%macro decode_rlp_scalar
%stack (pos) -> (pos, %%after)
%jump(decode_rlp_scalar)
%%after:
%endmacro
I used this to clean up `type_0.asm`.
However, since such macros need to insert `%%after` beneath any arguments in the stack, using them will be suboptimal in some cases. I wouldn't worry about it generally, but we might want to avoid them in performance-critical code, or functions with many arguments like `memcpy`.
2022-08-04 12:32:20 -07:00
Daniel Lubarov
1e6cf4c4ab
newline
2022-08-04 09:34:46 -07:00
Daniel Lubarov
7423124e36
Split up memory asm and add more helper functions
2022-08-03 22:18:29 -07:00
Daniel Lubarov
fae653da2a
Missing retdest
2022-08-03 21:56:31 -07:00
Daniel Lubarov
233584e945
Merge pull request #656 from mir-protocol/min_max
...
min, max macros
2022-08-03 21:41:23 -07:00
Daniel Lubarov
f58990160e
min, max macros
...
Will be used later for things like updating `MemorySize`.
2022-08-03 13:44:44 -07:00
Daniel Lubarov
90be4749ef
Merge branch 'main' into optimizer
2022-08-03 09:58:54 -07:00
Daniel Lubarov
6416826643
Feedback
2022-08-02 15:44:50 -07:00
Daniel Lubarov
d6b5193c9b
RLP decoding tests
2022-07-31 20:29:57 -07:00
Daniel Lubarov
a34a4c8184
fix
2022-07-31 13:03:07 -07:00
Daniel Lubarov
497b26dee6
Some simple optimization rules
...
Depends on #647 .
2022-07-31 13:00:27 -07:00
Daniel Lubarov
7a6d996fe7
Move couple asm files
2022-07-31 09:28:16 -07:00
Daniel Lubarov
718b3c0961
Move ecrecover
2022-07-31 09:24:04 -07:00
Daniel Lubarov
86a797b1db
Add a asm/curve/ directory
2022-07-30 22:24:11 -07:00
Dmitry Vagner
cf63711597
add u32 macros
2022-07-30 14:52:39 -04:00
Dmitry Vagner
7e0334fcce
fix shift direction
2022-07-30 14:21:06 -04:00
Dmitry Vagner
d25693d77c
update dups, write out stack states
2022-07-29 13:24:11 -04:00
Daniel Lubarov
760a111a63
Merge pull request #642 from mir-protocol/type_0_fix
...
Small fix for type 0 txns
2022-07-29 09:28:20 -07:00