Commit Graph

  • 97db2b9800 variables are now lists of names in fcode Ulf Norell 2019-04-29 12:02:07 +02:00
  • e13e81d1ca fix breakage after unary operators Ulf Norell 2019-04-29 12:01:36 +02:00
  • 8a5c64ad45 Compile function calls Ulf Norell 2019-04-26 15:05:38 +02:00
  • a4bbe2bc2f Unary operators Ulf Norell 2019-04-26 13:49:26 +02:00
  • 88139fe99c Get rid of unit in AST Ulf Norell 2019-04-26 13:35:35 +02:00
  • 272c247b4d compile address literals Ulf Norell 2019-04-26 12:33:50 +02:00
  • c419b105bf Minor refactoring of op instruction handling Ulf Norell 2019-04-26 12:16:17 +02:00
  • 3c6e06e99a Compile character literals Ulf Norell 2019-04-26 11:09:59 +02:00
  • b7153b1d75 string literals and pattern matching on the same Ulf Norell 2019-04-26 10:34:38 +02:00
  • 0ce144db13 Use the fact that SWITCH and JUMPIF can use args and vars Ulf Norell 2019-04-25 13:59:35 +02:00
  • 960ffb383f Optimize matching on single constructors datatypes Ulf Norell 2019-04-25 13:23:11 +02:00
  • 6806554d77 Remove incorrect push for tuple switches Ulf Norell 2019-04-25 13:22:56 +02:00
  • 9ac5a36265 Compile variants Ulf Norell 2019-04-23 16:03:24 +02:00
  • ed60cd8ddc Use SETELEMENT instruction Ulf Norell 2019-04-23 12:36:14 +02:00
  • f896b84221 Compile record update Ulf Norell 2019-04-12 10:34:56 +02:00
  • 5c77237316 compile records (patterns and construction) Ulf Norell 2019-04-11 12:02:01 +02:00
  • 53f88c4c06 allow leaving out fields from record patterns Ulf Norell 2019-04-11 12:01:37 +02:00
  • bdc5e17ab7 Use op_view in more places Ulf Norell 2019-04-11 08:58:30 +02:00
  • d333b5f11f Compile list patterns Ulf Norell 2019-04-09 18:06:21 +02:00
  • 6042294f96 Compile pattern matching on integer literals Ulf Norell 2019-04-09 13:57:10 +02:00
  • 25f80da827 Remove unused argument Ulf Norell 2019-04-09 13:01:50 +02:00
  • 96bff0c32f Fix dialyzer things Ulf Norell 2019-04-09 12:06:08 +02:00
  • ff58ec0cba Remove 'if' from fcode Ulf Norell 2019-04-09 11:23:02 +02:00
  • 46c538b7bf Tag instructions in annotated scode Ulf Norell 2019-04-09 11:08:54 +02:00
  • 758f836bf6 Remove optimization for if-then-else Ulf Norell 2019-04-09 10:52:39 +02:00
  • b3131504b0 Handle switch_body in optimizations Ulf Norell 2019-04-09 10:51:30 +02:00
  • ee7bc126fc Another renaming bug Ulf Norell 2019-04-09 10:04:34 +02:00
  • cca83a5dfa Fix renaming bug Ulf Norell 2019-04-09 09:32:51 +02:00
  • f73a0934d4 Pretty printer for fcode Ulf Norell 2019-04-09 09:15:37 +02:00
  • 771e4aa967 Fix various bugs in pattern match compilation Ulf Norell 2019-04-08 17:53:20 +02:00
  • e597a3780a compile list literals Ulf Norell 2019-04-08 14:29:18 +02:00
  • 42c7fde413 Shortcut let x = y in ... Ulf Norell 2019-04-08 13:31:46 +02:00
  • 961af8ba93 Simplify variables bindings in environment Ulf Norell 2019-04-08 13:28:41 +02:00
  • 66413ae7fe Compile case trees all the way to Fate assembly Ulf Norell 2019-04-08 13:15:16 +02:00
  • 3a095cde7e Add missing case in renaming Ulf Norell 2019-04-08 08:59:47 +02:00
  • e2c48e1069 wip: rewrite case tree compiler to handle catch-alls Ulf Norell 2019-04-05 17:43:28 +02:00
  • ab13222d29 Pattern matching on booleans Ulf Norell 2019-04-05 11:49:13 +02:00
  • 59845dec54 Limit the number of iterations for the optimization loop Ulf Norell 2019-04-05 10:53:21 +02:00
  • 4814cfbf96 Keep better track of liveness annotations when swapping instructions Ulf Norell 2019-04-05 10:51:32 +02:00
  • d05130a569 Get rid of unnecessary STORE instructions Ulf Norell 2019-04-05 10:50:47 +02:00
  • 4b6191aa25 Reannotate and repeat optimization pass once it done Ulf Norell 2019-04-02 21:39:17 +02:00
  • 41387ce0b1 Compile nested pattern matching to case trees Ulf Norell 2019-04-02 18:26:44 +02:00
  • ac25a8fc55 Improve instruction analysis and generalize some optimizations Ulf Norell 2019-04-02 15:03:31 +02:00
  • 788840f0fa Compile tuple construction Ulf Norell 2019-04-02 13:39:01 +02:00
  • 3ec156a4b4 Refactor optimization rules Ulf Norell 2019-04-02 13:38:51 +02:00
  • 185487afda Nicer debug printing Ulf Norell 2019-04-02 11:56:58 +02:00
  • e224aadff7 Use RETURNR when possible Ulf Norell 2019-04-02 11:32:57 +02:00
  • 47a48812b8 Fix minor bug Ulf Norell 2019-04-02 11:28:46 +02:00
  • 68ee18fe70 Liveness analysis for local variables Ulf Norell 2019-04-02 11:19:13 +02:00
  • 200f80cc89 Compile shallow matching on tuples Ulf Norell 2019-04-02 11:18:48 +02:00
  • d37ef8cec2 Basic tuple patterns Ulf Norell 2019-04-01 16:04:59 +02:00
  • 216fbc6144 Fix and improve broken bytecode optimisations Ulf Norell 2019-04-01 14:23:49 +02:00
  • 33bb8a37d0 Compile let to FATE Ulf Norell 2019-04-01 13:47:01 +02:00
  • bc8b2d1c81 Start on new intermediate code for FATE Ulf Norell 2019-04-01 11:37:28 +02:00
  • d2dbb98b7f Update to changes in icode format Ulf Norell 2019-03-26 11:17:44 +01:00
  • d2cd97def7 Add handling of creating/updating maps and records, definitely WIP Robert Virding 2019-04-29 00:56:31 +02:00
  • 71b97cba62
    Merge pull request #61 from aeternity/PT-165597438-equality-on-bytes Ulf Norell 2019-04-26 08:47:14 +02:00
  • 8a381e5ef1 Support equality on bytes(N) #552 Ulf Norell 2019-04-25 16:06:50 +02:00
  • 5455d0fcd7 Fixed a type error and test, definitely WIP Robert Virding 2019-04-25 12:19:49 +02:00
  • 2d3e6ab6e0 Refactor internal code and more add statements, definitely WIP Robert Virding 2019-04-25 11:55:28 +02:00
  • 386419f112
    Merge pull request #60 from aeternity/PT-164629541-generic_hash_and_signature Hans Svensson 2019-04-24 08:58:43 +02:00
  • 45a62f0807 Simplify ast_typerep #551 Hans Svensson 2019-04-24 08:44:05 +02:00
  • 3255c62e0e Revert bytes(N) from icode/vm-types Hans Svensson 2019-04-23 17:47:50 +02:00
  • 70a0f77793 Replace hash with bytes, definitely WIP Robert Virding 2019-04-23 11:53:34 +02:00
  • 04b3227317 Update documentation, definitely WIP Robert Virding 2019-04-23 11:34:19 +02:00
  • d9be8b2fca Saving even more stuff, definitely WIP Robert Virding 2019-04-18 17:49:40 +02:00
  • a38afe7693 Saving more stuff, definitely WIP Robert Virding 2019-04-18 01:16:59 +02:00
  • 5719730d8c Saving stuff, definitely WIP Robert Virding 2019-04-17 18:26:37 +02:00
  • 51b63f9559
    Merge pull request #59 from aeternity/PT-164629541-generic_hash_and_signature Hans Svensson 2019-04-23 11:23:32 +02:00
  • 5e6af18c7b Address review comment #550 Hans Svensson 2019-04-23 10:47:59 +02:00
  • 4324bfd49e Add bytes(int), add address_literalsm add ecverify_secp25k1 Hans Svensson 2019-04-12 13:20:05 +02:00
  • 982571d7fe Fixed letrec and letfun env management #549 radrow 2019-04-19 16:24:45 +02:00
  • faa0ef9772
    Merge pull request #57 from aeternity/PT-165312102-setelement Erik Stenman 2019-04-15 10:57:10 +02:00
  • f07954f62c Point to latest aebytecode with setelement instruction. #548 Erik Stenman 2019-04-15 08:54:02 +02:00
  • ef761a4c57
    Merge pull request #56 from aeternity/prepare_2.1.0 v2.1.0 Hans Svensson 2019-04-11 14:22:54 +02:00
  • 330d8929fd Preparing v2.1.0 #547 Hans Svensson 2019-04-11 13:20:51 +02:00
  • 491b1211d1
    Merge pull request #55 from aeternity/PT-165246396-prepare-remove-dependency Thomas Arts 2019-04-11 10:30:41 +02:00
  • e460b84bd0 Update commit hash aebytecode #546 Thomas Arts 2019-04-11 09:24:43 +02:00
  • fd6dac2257 Test Auth.tx_hash compilation generalized_accounts_no_abi_move Hans Svensson 2019-03-26 13:31:33 +01:00
  • b2a0c9d8be Add Auth.tx_hash Hans Svensson 2019-03-26 13:11:46 +01:00
  • 078af45c92 Switch to generalized_accounts branch of aebytecode Hans Svensson 2019-03-26 13:11:29 +01:00
  • 9109712826
    Merge pull request #53 from aeternity/generalized_accounts Hans Svensson 2019-04-08 14:45:56 +02:00
  • d6a55e144e Test Auth.tx_hash compilation #544 Hans Svensson 2019-03-26 13:31:33 +01:00
  • db64978d2e Add Auth.tx_hash Hans Svensson 2019-03-26 13:11:46 +01:00
  • 2ed9d17ce5 Switch to generalized_accounts branch of aebytecode Hans Svensson 2019-03-26 13:11:29 +01:00
  • 7bf7cb0b8f
    Merge pull request #52 from aeternity/new-aci-generator Robert Virding 2019-04-05 15:14:17 +02:00
  • 4a01c852c9 Add more test cases #543 Robert Virding 2019-04-03 22:58:54 +02:00
  • df00c3958b First version of final aci Robert Virding 2019-04-02 18:27:47 +02:00
  • 12cb37245b First version of new aci generator Robert Virding 2019-03-22 15:43:06 +01:00
  • 562ad5ee87
    Merge pull request #51 from aeternity/PT-165081160-update-rebar3 Tino Breddin 2019-04-03 11:00:26 +02:00
  • 4e78756b90 Upgrade rebar3 to 3.9.1-aeternity.2 #542 Tino Breddin 2019-04-03 10:23:02 +02:00
  • 9f32fb1925
    Merge pull request #50 from aeternity/PT-164597852-move-aesophia-heap Robert Virding 2019-04-02 17:53:28 +02:00
  • 549a0c2201 Move TYPEREP definitions to aebytecode #541 Robert Virding 2019-04-02 16:03:50 +02:00
  • 9f5f8d4444 Change function references from aeso_sophia to aeb_aevm_data Robert Virding 2019-03-29 18:08:49 +01:00
  • fd0dbdf207 Change references from aeso_memory to aeb_memory Robert Virding 2019-03-21 00:17:01 +01:00
  • 0d8b7c7c79 First commit fixinng references from aeso_ to aeb_ Robert Virding 2019-03-20 17:56:54 +01:00
  • 3271d6fba4
    Merge pull request #49 from aeternity/PT-164597736-variant-types Erik Stenman 2019-04-02 13:59:47 +02:00
  • 30fbcc50c5 Longer ref. #540 Erik Stenman 2019-04-02 13:53:54 +02:00
  • 27bc5474cb Upgrade aebytecode to new variant type representation. Erik Stenman 2019-04-02 12:44:51 +02:00
  • efeb391805
    Merge pull request #48 from aeternity/cleanup_blake2 Hans Svensson 2019-04-02 10:32:41 +02:00