summaryrefslogtreecommitdiffstats
path: root/Python/specialize.c
Commit message (Collapse)AuthorAgeFilesLines
* GH-100288: Skip extra work when failing to specialize LOAD_ATTR (GH-101354)Brandt Bucher2023-01-311-60/+24
|
* GH-101291: Refactor the `PyLongObject` struct into object header and ↵Mark Shannon2023-01-301-1/+1
| | | | PyLongValue struct. (GH-101292)
* gh-100712: make it possible to disable specialization (for debugging) (#100713)Irit Katriel2023-01-191-0/+12
|
* GH-100982: Add `COMPARE_AND_BRANCH` instruction (GH-100983)Mark Shannon2023-01-161-42/+39
|
* GH-100923: Embed jump mask in `COMPARE_OP` oparg (GH-100924)Mark Shannon2023-01-111-27/+26
|
* GH-100288: Remove LOAD_ATTR_METHOD_WITH_DICT instruction. (GH-100753)Mark Shannon2023-01-051-3/+2
|
* Revert "gh-100288: Specialise LOAD_ATTR_METHOD for managed dictionaries ↵Ken Jin2022-12-231-10/+5
| | | | | (GH-100289)" (#100468) This reverts commit c3c7848a48b74a321632202e4bdcf2f465fb1cc6.
* gh-100288: Specialise LOAD_ATTR_METHOD for managed dictionaries (GH-100289)Ken Jin2022-12-231-5/+10
|
* GH-100459: fix copy-paste errors in specialization stats (GH-100460)Irit Katriel2022-12-231-5/+5
|
* GH-99770: Make the correct call specialization fail kind show up in the ↵penguin_wwy2022-12-221-63/+84
| | | | stats (GH-99771)
* gh-100188: Reduce misses in BINARY_SUBSCR_(LIST/TUPLE)_INT (#100189)Dennis Sweeney2022-12-201-4/+12
| | | Don't specialize if the index is negative.
* GH-90043: Handle NaNs in COMPARE_OP_FLOAT_JUMP (GH-100278)Brandt Bucher2022-12-161-10/+11
|
* Improve stats presentation for calls. (GH-100274)Mark Shannon2022-12-161-37/+22
|
* Better stats for `LOAD_ATTR` and `STORE_ATTR` (GH-100295)Mark Shannon2022-12-161-12/+35
| | | | | * Don't attempt to specialize for LOAD_ATTR on instance if class has attribute * Improvement to LOAD_ATTR and STORE_ATTR specialization stats.
* Move stats for the method cache into the `Py_STAT` machinery (GH-100255)Mark Shannon2022-12-151-0/+5
|
* GH-100222: fix typo _py_set_opocde -> _py_set_opcode (GH-100259)Carl Meyer2022-12-151-65/+65
| | | | | Typo introduced in #100223. Automerge-Triggered-By: GH:brandtbucher
* Assorted minor fixes for specialization stats. (GH-100219)Mark Shannon2022-12-141-17/+34
|
* GH-100222: Redefine _Py_CODEUNIT as a union to clarify structure of code ↵Mark Shannon2022-12-141-71/+71
| | | | unit. (GH-100223)
* GH-100143: Improve collecting pystats for parts of runs (GH-100144)Michael Droettboom2022-12-121-5/+2
| | | | | | | | * pystats off by default * Add -Xpystats flag * Always dump pystats, even if turned off
* GH-100110: Specialize FOR_ITER for tuples (GH-100109)Ken Jin2022-12-091-0/+4
| | | * Specialize FOR_ITER for tuples
* GH-99298: Clean up attribute specializations (GH-99398)Brandt Bucher2022-11-171-34/+29
|
* GH-98686: Get rid of BINARY_OP_GENERIC and COMPARE_OP_GENERIC (GH-99399)Brandt Bucher2022-11-171-21/+1
|
* GH-99257: Check the owner's type when specializing slots (GH-99258)Brandt Bucher2022-11-101-0/+8
|
* GH-98686: Get rid of "adaptive" and "quick" instructions (GH-99182)Brandt Bucher2022-11-091-101/+56
|
* GH-96793: Specialize FOR_ITER for generators. (GH-98772)Mark Shannon2022-11-071-1/+6
|
* GH-98686: Quicken everything (GH-98687)Brandt Bucher2022-11-021-11/+2
|
* GH-96793: Change `FOR_ITER` to not pop the iterator on exhaustion. (GH-96801)Mark Shannon2022-10-271-6/+2
| | | | Change FOR_ITER to have the same stack effect regardless of whether it branches or not. Performance is unchanged as FOR_ITER (and specialized forms jump over the cleanup code).
* GH-91049: Introduce set vectorcall field API for PyFunctionObject (GH-92257)adphrost2022-09-151-0/+5
| | | | Co-authored-by: Andrew Frost <adfrost@fb.com> Co-authored-by: Itamar Ostricher <itamarost@gmail.com>
* GH-90230: Fix warnings and failures with --enable-pystats (GH-96622)Brandt Bucher2022-09-091-0/+2
|
* GH-93911: Fix `LOAD_ATTR_PROPERTY` caches (GH-96519)Brandt Bucher2022-09-061-5/+5
|
* gh-93554: Conditional jump opcodes only jump forward (GH-96318)Irit Katriel2022-09-011-11/+4
|
* Remove dead code in _PyDict_GetItemHint and rename to _PyDict_LookupIndex ↵Matthias Görgens2022-08-181-9/+6
| | | | (GH-95948)
* GH-93911: Specialize `LOAD_ATTR` for custom `__getattribute__` (GH-93988)Ken Jin2022-08-171-19/+103
|
* GH-95245: Store object values and dict pointers in single tagged pointer. ↵Mark Shannon2022-08-011-6/+6
| | | | (GH-95278)
* GH-95113: Don't use EXTENDED_ARG_QUICK in unquickened code (GH-95121)Brandt Bucher2022-07-221-0/+3
|
* GH-94822: Don't specialize when metaclasses are involved (GH-94892)Brandt Bucher2022-07-181-6/+5
|
* GH-94163: Add BINARY_SLICE and STORE_SLICE instructions. (GH-94168)Mark Shannon2022-06-271-1/+2
|
* GH-93841: Allow stats to be turned on and off, cleared and dumped at ↵Mark Shannon2022-06-211-5/+19
| | | | runtime. (GH-93843)
* GH-91432: Specialize FOR_ITER (GH-91713)Dennis Sweeney2022-06-211-0/+31
| | | | | * Adds FOR_ITER_LIST and FOR_ITER_RANGE specializations. * Adds _PyLong_AssignValue() internal function to avoid temporary boxing of ints.
* gh-94021: Address unreachable code warning in specialize code (GH-94022)Christian Heimes2022-06-211-1/+2
|
* gh-93911: Specialize `LOAD_ATTR_PROPERTY` (GH-93912)Ken Jin2022-06-171-6/+43
|
* Fix BINARY_SUBSCR_GETITEM stats (GH-93903)Ken Jin2022-06-161-1/+2
|
* Rename 'LOAD_METHOD' specialization stat consts to 'ATTR'. (GH-93812)Mark Shannon2022-06-141-17/+14
|
* Remove LOAD_METHOD stats. (GH-93807)Mark Shannon2022-06-141-1/+0
|
* GH-93429: Merge `LOAD_METHOD` back into `LOAD_ATTR` (GH-93430)Ken Jin2022-06-141-81/+55
|
* Add more FOR_ITER specialization stats (GH-32151)Dennis Sweeney2022-06-131-2/+26
|
* Shrink the LOAD_METHOD cache by one codeunit. (#93537)Mark Shannon2022-06-071-6/+3
|
* GH-93354: Use exponential backoff to avoid excessive specialization ↵Mark Shannon2022-05-311-22/+21
| | | | attempts. (GH-93355)
* GH-90230: Add stats to breakdown the origin of calls to `PyEval_EvalFrame` ↵Mark Shannon2022-05-271-1/+4
| | | | (GH-93284)
* gh-92777: Add LOAD_METHOD_LAZY_DICT (GH-92778)Ken Jin2022-05-251-6/+15
|