Daniel O'Hear
58ebf04bac
Add JIT compilation support for integer multiplication, division, and exponents ( #5561 )
...
* Initial commit for power function
* Float power jit developed
* Addded support for Floats and Ints
* Integration Testing for JITPower implementation.
* Update instructions.rs
cranelift more like painlift
* Update instructions.rs
* Update instructions.rs
* initial commit for making stable PR ready features
* fixed final edge case for compile_ipow
* fixed final edge case for compile_ipow
* commenting out compile_ipow
* fixed spelling errors
* removed unused tests
* forgot to run clippy
---------
Co-authored-by: Nicholas Paulick <paulicknicholas@gmail.com >
Co-authored-by: Nick <nick@Samanthas-MBP.wi.rr.com >
Co-authored-by: JoeLoparco <loparcojoseph@gmail.com >
Co-authored-by: Nathan Rusch <nathan.rusch@icloud.com >
Co-authored-by: dohear <daniel.ohear@marquette.edu >
2025-03-05 14:41:45 -06:00
Noa
6daee1b00e
Warn on elided_lifetimes_in_paths
2025-03-01 13:49:33 +09:00
Noa
864e8598f8
Enable rust2024-incompatible pat and keyword-ident lints
2025-02-25 00:32:02 -06:00
Noa
1c3b198a17
Enable unsafe_op_in_unsafe_fn lint
2025-02-24 21:25:23 -06:00
Shubham Patil
53db70e784
Support recursion in JIT-ed functions ( #5473 )
2025-01-13 14:55:27 +09:00
ebde8546c9
remove elided lifetime
2024-11-29 11:05:44 +09:00
Jeong YunWon
019496e3a8
Instruction::ReturnConst
2024-05-09 15:26:16 +09:00
Jeong, YunWon
2c3dbb5eed
Merge pull request #5081 from MannarAmuthan/bool-compare
...
Implemented compare operation for boolean types in JIT engine
2023-10-07 22:03:50 +09:00
Amuthan Mannar
eb83b729b2
Formatted code files
2023-10-07 21:05:27 +09:00
Amuthan Mannar
b9ee0b6b7a
Implemented compare operation for boolean and int types
2023-10-07 21:05:27 +09:00
Amuthan Mannar
f8365ca6c3
Implemented compare operation for boolean types in JIT engine
2023-10-07 21:05:27 +09:00
Amuthan Mannar
c2f159b24a
Formatted code files
2023-10-07 12:34:32 +05:30
Amuthan Mannar
54d5869457
Implement binary operations for integers and floating-point numbers, allowing mixed type calculations
2023-10-07 12:02:18 +05:30
Jeong YunWon
dc569e9921
Refactoring
2023-05-10 19:35:27 +09:00
Noa
2861c874ed
Switch from 64-bit instruction enum to out-of-line arg values
2023-01-12 23:05:17 -06:00
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