Commit Graph

10854 Commits

Author SHA1 Message Date
Jeong YunWon
bf7d376215 Merge pull request #3712 from youknowone/pyfunctionref
Remove PyFunctionRef
2022-05-17 09:03:03 +09:00
Jeong Yunwon
239f92f9af Remove PyFunctionRef 2022-05-17 08:24:15 +09:00
Jeong YunWon
e809158e83 Merge pull request #3709 from youknowone/pystr-interned
introduce PyStrInterned
2022-05-17 06:53:01 +09:00
Jeong YunWon
44ccc4015f Merge pull request #3710 from youknowone/fix-hash
Fix lcg_random overflow
2022-05-17 06:19:04 +09:00
Jeong Yunwon
6e571946a0 introduce PyStrInterned 2022-05-17 06:16:35 +09:00
Jeong Yunwon
cbeeb51cee Fix lcg_random overflow 2022-05-17 05:53:42 +09:00
Jeong YunWon
9fd4f7bab9 Merge pull request #3708 from youknowone/dictkey
Refactor dictkey
2022-05-16 18:58:04 +09:00
Jeong Yunwon
c6b33aab02 Refactor DictKey - remove PyStrRef 2022-05-16 18:14:19 +09:00
Jeong Yunwon
8a2cd2ba08 Refactor DictKey - Remove &PyObject / PyObjectRef 2022-05-16 18:14:19 +09:00
Jeong Yunwon
f335d60657 add Py<PyStr> 2022-05-16 18:14:19 +09:00
Jeong Yunwon
709a2c8698 fix intern 2022-05-16 18:14:19 +09:00
Jeong YunWon
3bc8895efb Merge pull request #3705 from Snowapril/fix-3704
Add missing emits for empty statement body in `compile_program_single`
2022-05-16 18:13:03 +09:00
snowapril
689c0b6c5b Add missing codes for empty statement body
Fix #3704
Compared to previous version of `compile_program_single`, below two
codes are skipped when an empty body is given.
```rust
self.emit_constant(ConstantData::None);
self.emit(Instruction::ReturnValue);
```

Signed-off-by: snowapril <sinjihng@gmail.com>
2022-05-16 11:51:49 +09:00
Jeong YunWon
2e1ed81d8e Merge pull request #3707 from youknowone/frozen-lazy
Clean up CodeObject, Constant and PyCode
2022-05-16 07:10:04 +09:00
Jeong Yunwon
e67662d9e7 PyConstant -> Literal 2022-05-16 05:45:49 +09:00
Jeong Yunwon
b0e65d1a65 ToObject for CodeObject(s) & Replace PyRef::new_ref with ctx.new_code 2022-05-16 05:37:53 +09:00
Jeong Yunwon
a2a18f25b8 Fix make_frozen to return PyRef<PyCode> 2022-05-16 05:36:42 +09:00
Jeong Yunwon
75f606abfc reduce Location size to practical small one 2022-05-16 05:15:56 +09:00
Jeong Yunwon
d446a5ad18 Bag as Copy 2022-05-16 05:08:45 +09:00
Jeong Yunwon
00a1af9e15 Remove Constant::make_name 2022-05-16 05:00:34 +09:00
Jeong Yunwon
b2c9b3ce90 Remove Constant::map_constant 2022-05-16 04:50:54 +09:00
Jeong Yunwon
abe644bd72 remove make_constant_borrowed 2022-05-16 04:46:37 +09:00
Jeong Yunwon
ec7a709bf2 Remove Constant::into_data 2022-05-16 04:46:35 +09:00
Jeong Yunwon
f6218bb9e5 No generic FrozenModule. Map names lazy 2022-05-16 04:45:14 +09:00
Jeong Yunwon
93d1438345 PyObjBag refers Context instead of vm 2022-05-16 04:45:13 +09:00
Jeong YunWon
d80e64db18 Merge pull request #3706 from youknowone/strtools
more str AsRef<str>
2022-05-16 04:01:25 +09:00
Jeong Yunwon
ad7c966310 more str tools 2022-05-16 02:03:22 +09:00
Jeong YunWon
95cd2f926b Merge pull request #3703 from killme2008/feat/issue-3702
PyStr::mul optimization for i=0 or str=''
2022-05-15 16:15:45 +09:00
Dennis Zhuang
7cb391e140 Repalce all PyStr::from().into_ref(vm) with vm.ctx.empty_str 2022-05-14 21:45:55 +08:00
Dennis Zhuang
eba6833096 PyStr::mul optimization for i=0 or str='' 2022-05-14 21:38:23 +08:00
Jeong YunWon
b5b07385a7 Merge pull request #3699 from youknowone/slot-del-cold
call_slot_del is cold
2022-05-12 18:38:20 +09:00
Jeong YunWon
543360da57 Merge pull request #3698 from youknowone/cmp
Improve comparison ops performance
2022-05-12 18:36:02 +09:00
Noa
cb86d357c4 Merge pull request #3697 from youknowone/drain
drain with open range
2022-05-12 02:12:56 -05:00
Jeong Yunwon
e76d79e725 call_slot_del is cold 2022-05-12 04:39:07 +09:00
Jeong Yunwon
40bc8f0016 move microbenchmark strings.py to proper directory 2022-05-12 04:21:40 +09:00
Jeong Yunwon
436f984950 clean up PyComparisonOp::map_eq 2022-05-12 04:21:40 +09:00
Jeong Yunwon
3b9721c326 Add microbenchmarks/cmp.py 2022-05-12 04:21:40 +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
1fa1a7c5c5 drain with open range 2022-05-12 03:02:58 +09:00
Jeong Yunwon
39e3f8faff Add document for wasi 2022-05-08 15:24:58 +09:00
djrmarques
996250d959 Added self and self_class to super (#3691) 2022-05-08 04:19:38 +09:00
Jeong YunWon
23bb966626 Merge pull request #3689 from coolreader18/lalrpop-from-build
Try to invoke lalrpop from parser build script
2022-05-07 20:32:28 +09:00
Jeong YunWon
fbf45e1fb5 Merge pull request #3690 from youknowone/clippy
fix clippy warnings
2022-05-07 20:26:58 +09:00
Jeong Yunwon
c9f1f61bae fix clippy warnings 2022-05-07 20:00:57 +09:00
Noa
2b0798a8b2 Try to invoke lalrpop from parser build script 2022-05-05 13:59:46 -05:00
Jeong YunWon
2ba1d93550 Merge pull request #3686 from fanninpm/fcntl-flock-lockf
Add flock and lockf to fcntl module
2022-05-04 14:43:37 +09:00
rebunto
392a9476a7 Changed pyclass name of PyArray and PyArrayIter #3612 2022-05-04 14:08:34 +09:00
Jeong YunWon
01eff92196 Merge pull request #3688 from youknowone/int
Int cleanup
2022-05-04 09:44:07 +09:00
Padraic Fanning
36ab937e53 Avoid unused import error on wasi and redox 2022-05-03 20:14:55 -04:00