Commit Graph
101 Commits
Author SHA1 Message Date
Ashwin Naren 70bcd78e85 Bump libffi (#5779)
Also remove system feature from jit libffi, as that forces libffi to be installed on the system
2025-06-23 23:28:33 +09:00
Noa 2c02e2776b Fix warnings for rust 1.87 2025-05-16 18:52:14 +09:00
Ashwin Naren 5c0f70c361 add instructions 2025-05-12 14:24:10 +09:00
Ashwin NarenandJeong YunWon 8063148598 Fix clippy lints from rust 1.86 update (#5665)
* handle rust 1.86 update

* fix windows clippy lint

* disable cspell under jit/instruction

---------

Co-authored-by: Jeong YunWon <jeong@youknowone.org>
2025-04-04 14:04:13 +09:00
Noa b067986576 Bump cranelift to 0.118 2025-03-30 13:40:24 +09:00
Noa b6aacbf401 Merge pull request #5629 from coolreader18/surrogate-literals
Parse surrogates in string literals properly
2025-03-27 10:15:41 -05:00
Jeong, YunWon f27c1f7ea3 Merge pull request #5624 from youknowone/libffi-workspace
common dependency in workspace
2025-03-27 14:51:47 +09:00
Noa c6cab4c43a Parse surrogates in string literals properly 2025-03-26 22:44:42 -05:00
+1 45c0fa0e77 Floating Point Power and While Loop JIT (#5614)
* Initial commit for power function

* Float power jit developed

* Addded support for Floats and Ints

* Integration Testing for JITPower implementation.

* Update instructions.rs

* Update int_tests.rs

* Update float_tests.rs

* Updated cranelift and power function to use magic bs

* Updated the compile_fpow accuracy

* updating while loop test

* 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

* Cleaned the branch

* While loop implementation for Cranelift 0.116.1

* Floating Point

* Removed testing print statement

* Resolved some formatting

* Fixed cargo fmt warning

* Fixed int div and int exp issues

* Fixed formatting

---------

Co-authored-by: Nick <nick@Samanthas-MBP.wi.rr.com>
Co-authored-by: JoeLoparco <loparcojoseph@gmail.com>
Co-authored-by: Daniel O'Hear <149127239+dohear@users.noreply.github.com>
Co-authored-by: Joseph Loparco <149088810+JoeLoparco@users.noreply.github.com>
Co-authored-by: Nick <nick@pcp090057pcs.mu.edu>
Co-authored-by: dohear <daniel.ohear@marquette.edu>
Co-authored-by: Nathan Rusch <nathan.rusch@icloud.com>
Co-authored-by: Nick <nick@pcp093574pcs.mu.edu>
Co-authored-by: Joseph Loparco <--global loparcoJoseph@gmail.com>
Co-authored-by: Nick <nick@Samanthas-MacBook-Pro.local>
2025-03-19 13:50:42 -05:00
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
Myeongseon Choi ebde8546c9 remove elided lifetime 2024-11-29 11:05:44 +09:00
Jeong YunWon 2919df1df5 Mark rust-version 1.78 2024-08-08 23:20:17 +09:00
Jeong YunWon 8673169ee7 0.4.0 2024-08-07 08:38:21 +09:00
James Clarke 1bd143027a Switched to system implementation of libffi and fixed minor lint errors 2024-06-30 13:29:04 +01:00
James Clarke 08c9a4d86b Added lints and deny.toml 2024-06-25 03:59:40 +01:00
Jeong YunWon 019496e3a8 Instruction::ReturnConst 2024-05-09 15:26:16 +09:00
Jeong YunWon 8816cd41d5 0.3.1 2024-04-10 17:39:57 +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 b69e6a910d Added missed tests in int_tests of jit 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 1208416b92 0.3.0 release 2023-09-06 18:49:55 +09:00
Jeong YunWon dc569e9921 Refactoring 2023-05-10 19:35:27 +09:00
Jeong YunWon f2cfa5f0a7 Split parser to new repository
https://github.com/RustPython/Parser/commit/6b60f85cc4ca248af9b787697c41be2adb7a3ec8
2023-05-06 14:38:11 +09:00
Noa 456bc80697 Rework frozen modules and directly deserialize to CodeObject<Literal> 2023-03-06 13:45:33 -06:00
Jeong YunWon 5adc09150d update libffi 2023-02-09 15:51:28 +09:00
Jeong YunWon 42a22c280d use workspace dependencies 2023-02-06 15:30:38 +09:00
Noa 2861c874ed Switch from 64-bit instruction enum to out-of-line arg values 2023-01-12 23:05:17 -06:00
Noa c7faae9b22 Bump all crate versions to 0.2.0 2023-01-11 00:14:28 -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 6eeaf976a2 sort Cargo.toml dependencies 2022-08-22 08:42:20 +09:00
Jeong YunWon fe6f6db72d clean up cargo.toml sort 2022-08-22 08:42:20 +09:00
Jeong YunWon fb5ac9e79b reorganize compiler crates 2022-08-22 04:42:42 +09:00
Jeong Yunwon dd2bf4c96b fix clippy 2022-07-21 06:45:28 +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