Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | #5057: the peepholer no longer optimizes subscription on unicode literals ↵ | Ezio Melotti | 2012-11-04 | 1 | -6/+7 |
| | | | | (e.g. u"foo"[0]) in order to produce compatible pyc files between narrow and wide builds. | ||||
* | Issue #5057: fix a bug in the peepholer that led to non-portable pyc files ↵ | Ezio Melotti | 2011-04-15 | 1 | -0/+18 |
| | | | | between narrow and wide builds while optimizing BINARY_SUBSCR on non-BMP chars (e.g. u"\U00012345"[0]). | ||||
* | #7092 - Silence more py3k deprecation warnings, using ↵ | Florent Xicluna | 2010-03-21 | 1 | -11/+14 |
| | | | | test_support.check_py3k_warnings() helper. | ||||
* | use assert[Not]In where appropriate | Ezio Melotti | 2010-01-23 | 1 | -30/+30 |
| | |||||
* | Reverting the Revision: 77368. I committed Flox's big patch for tests by | Senthil Kumaran | 2010-01-08 | 1 | -17/+11 |
| | | | | mistake. ( It may come in for sure tough) | ||||
* | Fixing - Issue7026 - RuntimeError: dictionary changed size during iteration. ↵ | Senthil Kumaran | 2010-01-08 | 1 | -11/+17 |
| | | | | Patch by flox | ||||
* | convert usage of fail* to assert* | Benjamin Peterson | 2009-06-30 | 1 | -30/+30 |
| | |||||
* | Backport r69961 to trunk, replacing JUMP_IF_{TRUE,FALSE} with | Jeffrey Yasskin | 2009-02-28 | 1 | -6/+5 |
| | | | | | | POP_JUMP_IF_{TRUE,FALSE} and JUMP_IF_{TRUE,FALSE}_OR_POP. This avoids executing a POP_TOP on each conditional and sometimes allows the peephole optimizer to skip a JUMP_ABSOLUTE entirely. It speeds up list comprehensions significantly. | ||||
* | Fix embarrassing typo and fix constantification of None | Raymond Hettinger | 2007-03-02 | 1 | -0/+5 |
| | |||||
* | Update the peephole optimizer to remove more dead code (jumps after returns) | Neal Norwitz | 2006-10-14 | 1 | -0/+35 |
| | | | | and inline jumps to returns. | ||||
* | Teach the peepholer to fold unary operations on constants. | Raymond Hettinger | 2005-02-20 | 1 | -0/+19 |
| | | | | | Afterwards, -0.5 loads in a single step and no longer requires a runtime UNARY_NEGATIVE operation. | ||||
* | Remove set conversion optimization test (backed out of Python/compile.c in rev. | Brett Cannon | 2005-02-10 | 1 | -11/+0 |
| | | | | 2.344). | ||||
* | Adopt Skip's idea to optimize lists of constants in the context | Raymond Hettinger | 2005-02-07 | 1 | -1/+2 |
| | | | | of a "in" or "not in" test. | ||||
* | Transform "x in (1,2,3)" to "x in frozenset([1,2,3])". | Raymond Hettinger | 2005-02-06 | 1 | -0/+10 |
| | | | | | Inspired by Skip's idea to recognize the throw-away nature of sequences in this context and to transform their type to one with better performance. | ||||
* | Do not fold a constant if a large sequence will result. | Raymond Hettinger | 2005-01-26 | 1 | -0/+4 |
| | | | | Saves space in the presence of code like: (None,)*10000 | ||||
* | Remove test for BINARY_DIVIDE. | Raymond Hettinger | 2005-01-07 | 1 | -1/+0 |
| | |||||
* | Teach the peephole optimizer to fold simple constant expressions. | Raymond Hettinger | 2005-01-02 | 1 | -0/+28 |
| | |||||
* | Maintain peepholer's cumlc invariant by updating the running total | Raymond Hettinger | 2004-11-02 | 1 | -3/+5 |
| | | | | | | everytime a LOAD_CONSTANT is encountered, created, or overwritten. Added two tests to cover cases affected by the patch. | ||||
* | SF bug #1053819: Segfault in tuple_of_constants | Raymond Hettinger | 2004-10-26 | 1 | -0/+17 |
| | | | | | | | Peepholer could be fooled into misidentifying a tuple_of_constants. Added code to count consecutive occurrences of LOAD_CONST. Use the count to weed out the misidentified cases. Added a unittest. | ||||
* | SF patch #1031667: Fold tuples of constants into a single constant | Raymond Hettinger | 2004-09-22 | 1 | -3/+13 |
| | | | | | | | | Example: >>> import dis >>> dis.dis(compile('1,2,3', '', 'eval')) 0 0 LOAD_CONST 3 ((1, 2, 3)) 3 RETURN_VALUE | ||||
* | Whitespace normalization. | Tim Peters | 2004-08-26 | 1 | -5/+5 |
| | |||||
* | SF Patch #1013667: Cleanup Peepholer Output | Raymond Hettinger | 2004-08-23 | 1 | -0/+104 |
* Make a pass to eliminate NOPs. Produce code that is more readable, more compact, and a tiny bit faster. Makes the peepholer more flexible in the scope of allowable transformations. * With Guido's okay, bumped up the magic number so that this patch gets widely exercised before the alpha goes out. |