Commit Graph
618 Commits
Author SHA1 Message Date
Noah cd87f6da25 Try some mini-optimizations 2020-12-05 16:36:37 -06:00
Noah 92b8e59158 Fast locals part 2 2020-12-05 16:36:00 -06:00
Noah 97029af713 Fast locals part 1 2020-12-05 16:36:00 -06:00
Noah 3d4474413b Add PyTupleTyped 2020-12-05 16:36:00 -06:00
Noah 2c29a33d00 Add support for deleter on getsets 2020-12-05 16:36:00 -06:00
Noah 31f4999dfd Flatten PyObject/PyInner into one struct 2020-11-21 00:33:10 -06:00
Noah 2a427728a6 Use a custom vtable for PyObjectRef 2020-11-21 00:33:05 -06:00
Noah 6d7eae98b8 Add iter, iternext slots & Allow deleting slot magic methods 2020-11-17 23:47:48 +09:00
Noah 64b951e7d1 Merge pull request #2325 from RustPython/coolreader18/string-intern
Add string interning
2020-11-16 00:20:21 -06:00
Noah 9214f416a4 Use a more generic PyRefExact 2020-11-14 21:28:37 -06:00
carbotaniuman 7586543343 Add ability to use __trunc__ to int() 2020-11-11 09:58:26 -06:00
Noah b30ca99a09 Implement string interning 2020-11-08 21:35:04 -06:00
Jeong YunWon 697d6eddcd Merge pull request #2294 from RustPython/coolreader18/pyobj-constants
Store PyObjectRef in CodeObject constants
2020-11-03 00:03:30 +09:00
Noah 275919694d Make StaticCell less complex to use 2020-10-22 14:06:05 -05:00
Noah b8ebd445f4 Clean up remove map_basic 2020-10-19 23:55:56 -05:00
Noah e74a8ec9fb Fix mini_repl and make ctx.new_code_object() more ergonomic 2020-10-19 23:55:55 -05:00
Noah 5176864aa9 Update rustpython_vm to differentiate between bytecode::CodeObject and builtins::code::CodeObject 2020-10-19 23:55:55 -05:00
Jeong YunWon 57bf7afdd9 every PyStructSequence is StaticType 2020-10-20 02:29:33 +09:00
Jeong YunWon ecf1120bee Clean up static-type affected apis 2020-10-20 02:29:28 +09:00
Jeong YunWon f41124fddb Use unreachable_unsafe for static_type() 2020-10-20 02:29:21 +09:00
Jeong YunWon 4add0220ae PyValue::class() returns ref 2020-10-20 02:29:20 +09:00
Jeong YunWon 5b32064cd6 trait StaticType 2020-10-20 01:43:39 +09:00
Jeong YunWon e823d95ce5 split vm::builtins::iter utility functions to vm::iterator 2020-10-13 15:42:11 +09:00
Jeong YunWon 19ed4f85e7 clean up vm::builtins 2020-10-13 15:42:11 +09:00
Jeong YunWon ca9326f95d expose bulitins items on builtins module and hide submodules 2020-10-12 11:43:24 +09:00
Jeong YunWon 9e6dfca9e9 Fix build with new builtins path 2020-10-11 21:16:16 +09:00
Jeong YunWon b0445396f4 compactize invoke args 2020-10-11 09:38:06 +09:00
Jeong YunWon a089c9b6d3 TypeProcotol::lease_class() -> TypeProtocol::class() 2020-10-11 09:11:58 +09:00
Jeong YunWon 0a8f1e14a8 TypeProcotol::class() -> TypeProtocol::clone_class() 2020-10-11 09:11:58 +09:00
Kangzhi Shi 499d99794c Implement Buffer Protocol 2020-10-10 16:57:19 +09:00
Noah dbbdd75b31 Rename rustpython_common::{cell -> lock} 2020-09-26 23:39:10 -05:00
Noah e5186004d4 Some more getattr related tweaks/optimizations 2020-09-25 19:48:09 -05:00
Jeong YunWon 59db19d1ea PyClass -> PyType 2020-09-26 07:32:38 +09:00
Jeong YunWon 39856bc500 PyTuple::_new to hide it from public api 2020-09-26 03:08:22 +09:00
Jeong YunWon 07f898e4f0 tuple internal to Box<[PyObjectRef]>
it will use 16bytes instead of 24bytes
2020-09-26 03:02:47 +09:00
Jeong YunWon 98c70d8753 Repalce downcast with from_obj_unchecked for PyContext:::new_* 2020-09-26 02:59:34 +09:00
Jeong YunWon 5c81e7b044 Reuse empty tuple singleton 2020-09-26 02:59:33 +09:00
Jeong YunWon f81ad04ce3 PyString -> PyStr 2020-09-26 00:20:02 +09:00
Jeong YunWon bf1d3bb719 _io uses pymodule 2020-09-25 01:41:40 +09:00
Jeong YunWon 9e71cb3bcc Merge pull request #2223 from youknowone/call
slot optimization to skip attributes dict lookup
2020-09-24 07:48:56 +09:00
Jeong YunWon e1462e12a1 no clone for slot hash 2020-09-24 05:33:38 +09:00
Noah 1263904d30 Merge pull request #2228 from RustPython/coolreader18/common-borrowvalue
Move BorrowValue to rustpython-common, add BorrowedValue enum
2020-09-23 13:31:54 -05:00
Jeong YunWon 7582c9f891 Unhashable trait 2020-09-24 01:39:46 +09:00
Noah 6188911703 Merge pull request #2207 from RustPython/coolreader18/cmp-trait
Add a tp_cmp slot for richcompare
2020-09-22 16:46:15 -05:00
Noah 9f0f08b597 Move BorrowValue to rustpython-common, add BorrowedValue enum 2020-09-21 13:18:32 -05:00
Noah 3adc755321 Use fixed result-like transpose method 2020-09-21 11:22:44 -05:00
Noah a5ec8dd75d WIP switch to Comparable over __eq__ methods 2020-09-21 10:55:15 -05:00
Noah 981e9e9200 Add a cmp slot & trait 2020-09-21 10:55:15 -05:00
Noah 6c3e4819ed Rework native function creation a bit 2020-09-20 22:36:35 -05:00
Jeong YunWon f59ae720ef Merge pull request #2218 from youknowone/cleanup-none
clean up singletons - especially None
2020-09-19 12:20:59 +09:00