54 Commits
Author SHA1 Message Date
Tom Schuster 85233920e5 Support variable exchange (aka basic tuple support) 2022-12-18 17:56:40 +01:00
Tom Schuster 9e3f864410 JIT: add internal support for None 2022-11-17 11:02:16 +01:00
Tom Schuster 8f5ae4bd00 Use boolean_val helper for unary not. 2022-11-13 21:41:17 +01:00
Tom Schuster 634aca05a0 Make JitValue an enum
The duplication with JitType is a bit unfortunate, but this is a big
ergonomics improvement when working on the compiler itself.

This will also allows us to define types that are internal to the
compiler and shouldn't leak to other code via the JitType
2022-11-08 14:17:32 +01:00
Afonso Bordado 5705ff7a86 Implement a few more ops in the JIT 2022-11-06 10:31:01 +00:00
Afonso Bordado ab8faf39a7 Implement float comparisions in JIT 2022-11-05 10:08:43 +00:00
Afonso Bordado a91e15aaf4 Update JIT Cranelift version 2022-09-24 18:36:42 +01:00
Jeong YunWon fc6d614bf4 rustpython-bytecode -> rustpython-compiler-core 2022-08-22 08:42:20 +09:00
Jeong Yunwon 8c0be4b48f Fix nightly clippy warnings 2022-06-24 01:13:32 +09:00
Jeong Yunwon 7df0acd6b6 share comparisonop between bytecode and vm 2022-05-12 04:02:14 +09:00
Jeong Yunwon 53d835faa7 split comapre and richcompare instruction 2022-05-12 04:02:14 +09:00
Jeong Yunwon 6357a1acbe clean up imports and useless allow attributes 2022-04-15 23:58:20 +09:00
Jeong YunWon 9377134161 add #[non_exhaustive] 2022-01-22 20:22:58 +09:00
Noa 1188369956 Fix clippy warnings with 1.58 & convert some format strings to capture-args 2022-01-13 23:53:25 -06:00
Noa 358ce09b5c Run cargo upgrade 2021-10-30 19:42:35 -05:00
Noa 09e9ea91e7 TryFrom, TryInto, FromIterator are in prelude now 2021-10-21 17:04:19 -05:00
Jeong YunWon ff4efd0f60 Fix unnessessary borrow 2021-07-30 02:32:16 +09:00
jfh 0e33be9ce8 Please clippy 2021-06-18 21:24:46 +03:00
fanninpm cc6baeddd6 Allow clippy::unnecessary_wraps lint, and rename "to_js" to "into_js" (#2452)
* Allow clippy::unnecessary_wraps lint

* Change PyResultExt to_js signature

* Change "to_js" to "into_js"

* Refactor "to_js" to "into_js"

* Continue refactoring "to_js" to "into_js"

* Move clippy::unnecessary_wraps to lib.rs

* Add allowed lint to jit/lib.rs

* Add allowed lint to vm/src/lib.rs
2021-02-13 19:07:07 -06:00
Noah cbd229c754 Update cranelift deps 2021-01-08 18:47:54 -06:00
Noah a5d45124fd Update other stuff to use the root of rustpython_bytecode 2020-12-19 14:59:07 -06:00
Noah 5a56dd1a77 repr() functions with their names 2020-12-17 16:29:44 -06:00
Noah 090720ab34 Fix jit 2020-12-14 16:33:05 -06:00
Noah 057b5e8eda Fix jit 2020-12-14 14:25:20 -06:00
Noah 0fddb046dd Update cranelift dependencies 2020-12-05 16:36:37 -06:00
Noah 6c52c5c6d4 Update jit to use new instructions 2020-12-05 16:36:37 -06:00
Noah 8b0e806e39 Fix rustpython-jit to not use label_map 2020-11-23 20:10:46 -06:00
Noah 2f232ecbe3 Implement string interning for variable names 2020-11-09 15:51:57 -06:00
Noah 3ebdeb79b3 Update rustpython_jit to work with codeobj.constants vec 2020-10-19 23:55:55 -05:00
Tom Schuster 9f24797bc8 basic loop support 2020-10-17 19:37:36 +02:00
Tom Schuster 7aebbc80e1 cargo fmt 2020-10-17 17:42:02 +02:00
Tom Schuster c4d4432666 JumpIfTrue 2020-10-17 17:42:02 +02:00
Tom Schuster 7b345d060c Add bool tests 2020-10-17 17:42:02 +02:00
Tom Schuster d8875cb660 constant boolean 2020-10-17 17:42:02 +02:00
Tom Schuster 682107ce81 factor out LoadConst 2020-10-17 17:42:02 +02:00
Tom Schuster 70b05cf620 bool support 2020-10-17 17:42:02 +02:00
Tom Schuster abf5ab467b implement bool conversion for float 2020-10-17 17:42:02 +02:00
Tom Schuster 80d168cc74 Implement Unary minus/plus 2020-10-17 17:42:02 +02:00
Tom Schuster 023bf6c3ba Basic block support in JIT 2020-10-17 17:42:02 +02:00
Ben Lewis f5082e4891 Add more jit tests, and utility to make testing it easier. 2020-09-18 18:59:58 +12:00
Ben Lewis b79d7edb29 Fix not type checking arguments to jit function. 2020-08-31 20:19:36 +12:00
Ben Lewis bd3c4fc320 Remove the use of MaybeUninit from jit args handling. 2020-08-30 20:11:53 +12:00
Ben Lewis 588facfc39 Move jit specific functions out of objfunction.rs into a sub module jitfunc. 2020-08-30 08:19:29 +12:00
Ben Lewis 3151d89f13 Fix clippy warnings. 2020-08-29 17:33:18 +12:00
Ben Lewis 751b54952f Fix bugs with passing arguments to jitted functions. 2020-08-29 16:01:52 +12:00
Ben Lewis 06511757dd Allow passing arguments to jitted functions. 2020-08-29 12:53:49 +12:00
Ben Lewis c3f18a306e Use libffi to call jitted functions. 2020-08-28 19:52:04 +12:00
Noah 9598392aea Allow floats in jitted functions (#2150) 2020-08-26 08:36:56 -05:00
Ben Lewis 73f23b8dee Rename JIT to Jit 2020-08-25 07:18:46 +12:00
Ben Lewis e70b2db78d Add jit feature when running tests, and run rustfmt. 2020-08-25 07:16:58 +12:00