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