Thomas Arts
ffebc13d08
Make sort testable
2019-06-03 14:45:08 +02:00
Thomas Arts
3ff4df42ff
Make sure arguments not provided are maskes 2#00.
2019-06-03 13:43:49 +02:00
Thomas Arts
d6fbc73450
Quicker testing with smaller terms
2019-06-03 13:34:37 +02:00
Thomas Arts
3d6ac9df92
Slightly different property
2019-06-03 11:08:08 +02:00
Thomas Arts
e8390e52d1
Bug fix and little different way of writing logic
2019-06-03 11:07:00 +02:00
Erik Stenman
58daf1bb5c
Add quick check test for order and handle variants.
2019-05-31 14:42:00 +02:00
Erik Stenman
cb8e2b07a4
Use FATE order to sort maps iterator.
2019-05-31 13:52:07 +02:00
Erik Stenman
46f9d34447
Total order for FATE types.
2019-05-31 13:17:50 +02:00
Erik Stenman
942c7fb069
Add first draft of total order for FATE terms.
2019-05-30 12:31:40 +02:00
Erik Stenman
53130fc638
Add FATE_BOOLEAN_VALUE
2019-05-30 12:31:01 +02:00
Thomas Arts
8bf19dc060
Do not generate maps and variants as keys in fate maps
2019-05-29 16:23:45 +02:00
Thomas Arts
a5bfdf63d5
Define a specific sorting for key-Value pairs
...
Sort on key and check: no duplicates and no maps and variants as key
2019-05-29 16:23:43 +02:00
Thomas Arts
41860b041e
We should not deserialize function blocks only containing opcodes, but not a function
2019-05-29 16:23:43 +02:00
Thomas Arts
25ef7e7fe3
Remove special cases for NIL and empty MAP
2019-05-29 11:18:41 +02:00
Thomas Arts
bcc409f302
serialize and deserialize integers with validity check
2019-05-29 11:17:13 +02:00
Thomas Arts
42719e7000
Fail on deserializing negative zero
2019-05-29 08:52:24 +02:00
Thomas Arts
0d6322c0aa
Fix property
2019-05-29 08:31:04 +02:00
Thomas Arts
f7a4c40c50
Only decode correctly encoded negative binaries
2019-05-29 08:21:25 +02:00
Thomas Arts
ec0af8046a
Safer serialization of opcode arguments
2019-05-28 19:09:42 +02:00
Thomas Arts
73c80e1168
Extend model to find {stack, N} errors as argument
2019-05-28 19:09:25 +02:00
Thomas Arts
45ff418699
More dsitintc fault injection
2019-05-28 18:23:39 +02:00
Thomas Arts
032277ae8b
model so far
...
improved model
2019-05-28 18:13:27 +02:00
Thomas Arts
0bb4ac0fea
Rough model to fuzz test aeb_fate_code
2019-05-28 18:13:24 +02:00
Thomas Arts
4a90e3b2b4
Add two more opcodes
2019-05-28 18:12:43 +02:00
Thomas Arts
8b7fefc8a9
Extend tests to encoded opcodes
2019-05-28 18:12:41 +02:00
Thomas Arts
6f59ef7a7c
Fuzz test aeb_fate_encoding
2019-05-28 18:11:42 +02:00
Thomas Arts
302c1c211d
Erik's fix to LONG strings
2019-05-28 18:11:42 +02:00
Thomas Arts
74791cfe52
typo
2019-05-28 18:11:42 +02:00
Thomas Arts
453f68fa39
Serialize only code blocks that have operators in right order
2019-05-28 18:11:42 +02:00
Thomas Arts
aa9d2bf893
Do not allow empty code blocks
2019-05-28 18:11:42 +02:00
Thomas Arts
23b98f7d65
Add unit test to trigger eqc property
2019-05-28 18:11:42 +02:00
Thomas Arts
5d7bd73bcb
Serialization of functions only succeeds for 4 byte iudentifiers
2019-05-28 18:11:42 +02:00
Thomas Arts
34b9684b6b
Deserialize code without functions
2019-05-28 18:11:42 +02:00
Thomas Arts
ccbb0ed6c7
Make code easier to test
2019-05-28 18:11:42 +02:00
Ulf Norell
f1298870e5
Merge pull request #47 from aeternity/add-target-register-to-tuple
...
Add target register to TUPLE
2019-05-28 14:17:16 +02:00
Ulf Norell
9cfd369c5d
Update tests
2019-05-28 12:54:10 +02:00
Ulf Norell
f115feb16d
Print state variables as storeN
instead of var-N
2019-05-28 11:53:13 +02:00
Tobias Lindahl
241a96ebaa
Change the correct function name to not shadow builting guard ( #46 )
2019-05-28 11:32:52 +02:00
Ulf Norell
880cf573aa
Add a target register to TUPLE instruction
2019-05-28 11:24:38 +02:00
Tobias Lindahl
89f5ebc84b
Add missing basic instructions ( #45 )
...
* Add missing basic instructions
* MAP_SIZE
* MAP_TO_LIST
* STR_LENGTH
* Change name of erlang function to not shadow builtin guard
2019-05-28 11:15:04 +02:00
Erik Stenman
e98298cce4
Add accepted types to operator declarations. Check opcode numbering. ( #43 )
...
* Add accepted types to operator declarations.
* Check opcode numbering.
2019-05-24 13:21:49 +02:00
Erik Stenman
0d1899b32a
Pt 165352420 dissallow stack n ( #42 )
...
* Get rid of redundant arity field from op defs. Reorder and renumber ops. Fix bb_end for abort and exit.
* FATE does not accept arbitrary stack positions, only the accumulator aka stack 0.
2019-05-23 13:40:49 +02:00
Erik Stenman
3e0e289f2f
Get rid of redundant arity field from op defs. Reorder and renumber ops. Fix bb_end for abort and exit. ( #41 )
2019-05-23 13:37:32 +02:00
Tobias Lindahl
11a8997ac7
Pt 166148534 refactor fate code ( #40 )
...
* Change names of generated aeb_fate_code -> aeb_fate_ops
* Break out fate code to separate adt module
* Fix documentation of the SPEND op
* More compact implementation of serialization/deserialization
* Changed argument specification order
2019-05-23 08:15:18 +02:00
Tobias Lindahl
2f4e1888c2
Merge pull request #38 from aeternity/PT-165857097-add-gas-and-value-to-calls
...
Pt 165857097 add gas and value to calls
2019-05-09 14:18:15 +02:00
Tobias Lindahl
a9389e4e69
Add the CALL_VALUE instruction
2019-05-09 10:57:18 +02:00
Tobias Lindahl
2d3cede235
Add value to remote calls and the new ops CALL_GR and CALL_GTR
2019-05-09 10:57:18 +02:00
Hans Svensson
08a09b065b
Merge pull request #39 from aeternity/PT-165440601-165713319-sophia_addons
...
Add CREATOR opcode and address check primops
2019-05-09 09:51:40 +02:00
Hans Svensson
5fd076f043
Add CREATOR opcode and address check primops
2019-05-09 09:35:48 +02:00
Ulf Norell
2555868990
Merge pull request #37 from aeternity/fate-compiler
...
Fate compiler
2019-05-07 13:04:53 +02:00