Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | bpo-31095: fix potential crash during GC (GH-2974) (#3196) | INADA Naoki | 2017-09-26 | 1 | -0/+3 |
| | | | (cherry picked from commit a6296d34a478b4f697ea9db798146195075d496c) | ||||
* | [3.5] bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() ↵ | Serhiy Storchaka | 2017-04-19 | 1 | -3/+9 |
| | | | | | | | | | (GH-1096) (GH-1180) (#1182) raised an error. (cherry picked from commit bf623ae8843dc30b28c574bec8d29fc14be59d86) (cherry picked from commit 680fea4067537a9b9c79aadd44a3a19e83cd2dbf) | ||||
* | Issue #26494: Fixed crash on iterating exhausting iterators. | Serhiy Storchaka | 2016-03-30 | 1 | -1/+1 |
| | | | | | | Affected classes are generic sequence iterators, iterators of str, bytes, bytearray, list, tuple, set, frozenset, dict, OrderedDict, corresponding views and os.scandir() iterator. | ||||
* | merge 3.4 | Benjamin Peterson | 2016-01-01 | 1 | -3/+0 |
|\ | |||||
| * | merge 3.3 | Benjamin Peterson | 2016-01-01 | 1 | -3/+0 |
| |\ | |||||
| | * | remove some copyright notices supserseded by the toplevel ones | Benjamin Peterson | 2016-01-01 | 1 | -3/+0 |
| | | | |||||
| | * | Silence compiler warning for an unused declaration | Raymond Hettinger | 2013-08-04 | 1 | -1/+0 |
| | | | |||||
* | | | Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size. | Serhiy Storchaka | 2015-12-19 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | This allows sys.getsize() to work correctly with their subclasses with __slots__ defined. | ||||
* | | | Issue #24583: Fix crash when set is mutated while being updated. | Raymond Hettinger | 2015-07-16 | 1 | -1/+2 |
| | | | |||||
* | | | Reverting my previous commit. | Yury Selivanov | 2015-05-30 | 1 | -104/+41 |
| | | | | | | | | | | | | Something went horribly wrong when I was doing `hg rebase`. | ||||
* | | | Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(), | Serhiy Storchaka | 2015-05-30 | 1 | -4/+13 |
|\ \ \ | | | | | | | | | | | | | | | | | PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle errors correctly. | ||||
| * \ \ | Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(), | Serhiy Storchaka | 2015-05-30 | 1 | -4/+13 |
| |\ \ \ | | |/ / | | | | | | | | | | | | | PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle errors correctly. | ||||
| | * | | Issue #24115: Update uses of PyObject_IsTrue(), PyObject_Not(), | Serhiy Storchaka | 2015-05-30 | 1 | -4/+13 |
| | | | | | | | | | | | | | | | | | | | | PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains() to check for and handle errors correctly. | ||||
* | | | | Issue #23359: Specialize set_lookkey intoa lookup function and an insert ↵ | Raymond Hettinger | 2015-05-27 | 1 | -41/+104 |
|/ / / | | | | | | | | | | function. | ||||
* | | | Minor stylistic and consistency cleanup. | Raymond Hettinger | 2015-05-13 | 1 | -19/+19 |
| | | | |||||
* | | | Issue #23290: Optimize set_merge() for cases where the target is empty. | Raymond Hettinger | 2015-05-13 | 1 | -10/+40 |
| | | | | | | | | | | | | (Contributed by Serhiy Storchaka.) | ||||
* | | | Mirco-optimizations to reduce register spills and reloads observed on CLANG ↵ | Raymond Hettinger | 2015-02-09 | 1 | -2/+4 |
| | | | | | | | | | | | | and GCC. | ||||
* | | | Minor code clean up. | Raymond Hettinger | 2015-02-04 | 1 | -2/+2 |
| | | | |||||
* | | | Issue 23359: Reduce size of code in set_lookkey. Only do linear probes when ↵ | Raymond Hettinger | 2015-02-03 | 1 | -33/+0 |
| | | | | | | | | | | | | | | | | | | there is no wrap-around. Nice simplification contributed by Serhiy Storchaka :-) | ||||
* | | | Issue 23359: Tighten inner search loop for sets (don't and-mask every entry ↵ | Raymond Hettinger | 2015-02-02 | 1 | -24/+53 |
| | | | | | | | | | | | | lookup). | ||||
* | | | Keep the definition of i consistent between set_lookkey() and ↵ | Raymond Hettinger | 2015-01-31 | 1 | -4/+4 |
| | | | | | | | | | | | | set_insert_clean(). | ||||
* | | | Minor tweak to improve code clarity. | Raymond Hettinger | 2015-01-31 | 1 | -1/+1 |
| | | | |||||
* | | | Fix typo in a comment. | Raymond Hettinger | 2015-01-31 | 1 | -1/+1 |
| | | | |||||
* | | | Revert unintended part of the commit (the key==dummy test wasn't supposed to ↵ | Raymond Hettinger | 2015-01-27 | 1 | -6/+2 |
| | | | | | | | | | | | | change). | ||||
* | | | Remove unneeded dummy test from the set search loop (when the hashes match ↵ | Raymond Hettinger | 2015-01-27 | 1 | -4/+11 |
| | | | | | | | | | | | | we know the key is not a dummy). | ||||
* | | | Issue #23269: Tighten search_loop in set_insert_clean() | Raymond Hettinger | 2015-01-27 | 1 | -6/+17 |
| | | | | | | | | | | | | | | | Instead of masking and shifting every loopup, move the wrap-around test outside of the inner-loop. | ||||
* | | | Set the hash values of dummy entries to -1. Improves quality of entry->hash ↵ | Raymond Hettinger | 2015-01-26 | 1 | -0/+2 |
| | | | | | | | | | | | | == hash tests. | ||||
* | | | Update out-of-date comments. | Raymond Hettinger | 2015-01-26 | 1 | -5/+3 |
| | | | |||||
* | | | Issue #23119: Simplify setobject by inlining the special case for unicode ↵ | Raymond Hettinger | 2015-01-26 | 1 | -70/+11 |
| | | | | | | | | | | | | equality testing. | ||||
* | | | A hybrid of and-masking and a conditional-set-to-zero produce even faster ↵ | Raymond Hettinger | 2015-01-19 | 1 | -1/+2 |
| | | | | | | | | | | | | search loop. | ||||
* | | | Update copyright for 2015 updates. | Raymond Hettinger | 2015-01-19 | 1 | -1/+1 |
| | | | |||||
* | | | Clean-up, simplify, and slightly speed-up bounds logic in set_pop(). | Raymond Hettinger | 2015-01-19 | 1 | -10/+3 |
| | | | | | | | | | | | | | | | | | | | | | Elsewhere in the setobject.c code we do a bitwise-and with the mask instead of using a conditional to reset to zero on wrap-around. Using that same technique here use gives cleaner, faster, and more consistent code. | ||||
* | | | Issue 23261: Clean-up the hack to store the set.pop() search finger in a ↵ | Raymond Hettinger | 2015-01-18 | 1 | -21/+12 |
| | | | | | | | | | | | | hash field instead of the setobject. | ||||
* | | | Small clean-up. Factor-out common code for add, contains, and discard ↵ | Raymond Hettinger | 2014-12-27 | 1 | -43/+27 |
| | | | | | | | | | | | | function pairs. | ||||
* | | | Issue #23107: Tighten-up loops in setobject.c | Raymond Hettinger | 2014-12-27 | 1 | -55/+46 |
| | | | | | | | | | | | | | | | | | | * Move the test for an exact key match to after a hash match * Use "used" as a loop counter instead of "fill" * Minor improvements to variable names and code consistency | ||||
* | | | Issue #22156: Fix "comparison between signed and unsigned integers" compiler | Victor Stinner | 2014-08-15 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | warnings in the Objects/ subdirectory. PyType_FromSpecWithBases() and PyType_FromSpec() now reject explicitly negative slot identifiers. | ||||
* | | | Add development comments to setobject.c | Raymond Hettinger | 2014-05-18 | 1 | -8/+15 |
|/ / | |||||
* | | Fix typo in comment. | Eric V. Smith | 2014-01-14 | 1 | -1/+1 |
| | | |||||
* | | Add comments to frozenset_hash(). | Raymond Hettinger | 2014-01-05 | 1 | -1/+14 |
| | | | | | | | | Also, provide a minor hint to the compiler on how to group the xors. | ||||
* | | Minor code clean-up. Keep the C-API all in one section. | Raymond Hettinger | 2013-12-15 | 1 | -3/+3 |
| | | |||||
* | | Note that LINEAR_PROBES can be set to zero. | Raymond Hettinger | 2013-09-22 | 1 | -1/+1 |
| | | |||||
* | | Minor beautification. Put updates and declarations in a more logical order. | Raymond Hettinger | 2013-09-21 | 1 | -2/+2 |
| | | |||||
* | | When LINEAR_PROBES=0, let the compiler remove the dead code on its own. | Raymond Hettinger | 2013-09-21 | 1 | -12/+0 |
| | | |||||
* | | Make the linear probe sequence clearer. | Raymond Hettinger | 2013-09-21 | 1 | -8/+4 |
| | | |||||
* | | Issue 18771: Make it possible to set the number linear probes at compile-time. | Raymond Hettinger | 2013-09-15 | 1 | -5/+19 |
| | | |||||
* | | Put the defines in the logical section and fix indentation. | Raymond Hettinger | 2013-09-08 | 1 | -8/+8 |
| | | |||||
* | | Minor code beautification. | Raymond Hettinger | 2013-09-08 | 1 | -6/+5 |
| | | |||||
* | | Improve code clarity by removing two unattractive macros. | Raymond Hettinger | 2013-09-08 | 1 | -16/+18 |
| | | |||||
* | | Remove the freelist scheme for setobjects. | Raymond Hettinger | 2013-09-08 | 1 | -47/+8 |
| | | | | | | | | | | | | | | | | | | The setobject freelist was consuming memory but not providing much value. Even when a freelisted setobject was available, most of the setobject fields still needed to be initialized and the small table still required a memset(). This meant that the custom freelisting scheme for sets was providing almost no incremental benefit over the default Python freelist scheme used by _PyObject_Malloc() in Objects/obmalloc.c. | ||||
* | | Small rearrangement to bring together the three functions for probing the ↵ | Raymond Hettinger | 2013-09-08 | 1 | -32/+39 |
| | | | | | | | | hash table. |