Commit Graph

53 Commits

Author SHA1 Message Date
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
Ben Lewis
c773d9f214 Use OnceCell to hold the jitted code. 2020-08-25 07:16:58 +12:00