Carl Friedrich Bolz-Tereick pushed to branch branch/record-known-result at PyPy / pypy
Commits: 3d450ad8 by Armin Rigo at 2020-02-07T10:00:28+01:00 update to cffi/f2ec51ca7510 - - - - - ab534c67 by Armin Rigo at 2019-04-13T16:53:02+02:00 (cfbolz) graft 4c6c15e3e3bf to get the useful names "listview_ascii", instead of the confusing listview_utf8 on default too original message: Issue #2997 The problem was coming from W_UnicodeObject.listview_utf8(), which unlike its name is supposed to return a list of *ascii* strings, not *utf8*. Fixed, and also proceeded to a general renaming of this and related functions and reviewing of the related code. - - - - - bad010c1 by Carl Friedrich Bolz-Tereick at 2020-02-08T13:31:35+01:00 fix translation (why does the same code work on py3.6?) - - - - - c4f4b1de by Carl Friedrich Bolz-Tereick at 2020-02-08T17:56:44+01:00 a branch to try refactor the way that green keys are done on all the small custom jit driver that pypy uses here and there --HG-- branch : pypy-jitdriver-greenkeys - - - - - 610d485b by Carl Friedrich Bolz-Tereick at 2020-02-09T13:20:44+01:00 - introduce space.iterator_greenkey which returns "something" that can be used as the green key for an iterator to get the right specialization. by default it's just the type of the iterator, but generators override it to use the underlying pycode. That way, space.unpackiterable of two different generators produce two different loops. - make a pass over all jitdrivers to use this new api --HG-- branch : pypy-jitdriver-greenkeys - - - - - 4703314d by Carl Friedrich Bolz-Tereick at 2020-02-09T16:36:25+01:00 various fixes --HG-- branch : pypy-jitdriver-greenkeys - - - - - 796b1706 by Carl Friedrich Bolz-Tereick at 2020-02-09T22:31:49+01:00 random finding: return early in this safety checking function in the JIT (I looked at jitcodes, it doesn't get removed) --HG-- branch : pypy-jitdriver-greenkeys - - - - - 77d87795 by Carl Friedrich Bolz-Tereick at 2020-02-09T22:51:26+01:00 test showing the effect --HG-- branch : pypy-jitdriver-greenkeys - - - - - a97fb856 by Carl Friedrich Bolz-Tereick at 2020-02-11T14:08:09+01:00 slightly simplify for the jit, for the common non-tracing case --HG-- branch : pypy-jitdriver-greenkeys - - - - - 685c2b69 by Matti Picus at 2020-02-11T17:26:45+02:00 update script for portable builds - - - - - 9d5c16c4 by Matti Picus at 2020-02-11T19:07:51+02:00 start to migrate documentation to foss.heptapod.net and document new workflow --HG-- branch : heptapod - - - - - 141737a8 by Matti Picus at 2020-02-11T19:08:29+02:00 more heptapod migration --HG-- branch : heptapod - - - - - 2510baa4 by Carl Friedrich Bolz-Tereick at 2020-02-12T16:20:00+01:00 it seems that space.iteriterable is broken, because exceptions from space.next are swallowed by the flow object space. more generally, it's not safe to define __iter__ and next in rpython, it breaks too many assumptions. - - - - - ef0e7634 by Carl Friedrich Bolz-Tereick at 2020-02-12T16:50:29+01:00 a test that shows an rpython problem: user-defined next is not really working, both the flow space as well as the annotator assume that next can only raise StopIteration - - - - - fc5b3735 by Carl Friedrich Bolz-Tereick at 2020-02-12T18:39:40+01:00 use a linked list instead of a list (the list resizing showed up in my allocation profile) - - - - - c90649f1 by Carl Friedrich Bolz-Tereick at 2020-02-12T18:41:56+01:00 don't generate tons and tons of guard_not_invalidated while tracing one benchmark had 43% of all guards be guard_not_invalidated - - - - - 4c3bf142 by Matti Picus at 2020-02-13T07:21:27+02:00 virtualenv 20 seems to have changed the name of the target - - - - - 56d2e2ef by Matti Picus at 2020-02-13T16:26:07+02:00 fix issue 3155 for windows - - - - - 5deba447 by Matti Picus at 2020-02-13T16:27:03+02:00 fix for probing $dist_name which is 'UNKNOWN'. cpython avoids this by never using $dist_name in practice - - - - - b3522e6a by Richard Plangger at 2020-02-14T14:26:25-03:00 Add new architecture identification (z15), use zEC12 as default ISA target - - - - - ed702d10 by Carl Friedrich Bolz-Tereick at 2020-02-15T18:47:27+01:00 Backed out changeset 8fcba04d307f I am not 100% certain that this commit is correct in all situations, so backing out for now until I think through the corner cases. - - - - - 35d83d03 by Carl Friedrich Bolz-Tereick at 2020-02-16T15:26:19+01:00 redo 8fcba04d307f: don't generate tons and tons of guard_not_invalidated while tracing one benchmark had 43% of all guards be guard_not_invalidated However, this needs an adaptation in the optimizer, to remove guard_not_invalidated less aggressively: we need one guard_not_invalidated after every call that can invalidate something. This is independent to whether the quasiimmut_field op is removed or not! The tracer will only trace one guard_not_invalidated after each call, so even if the first quasiimmut_field is removed, the second one might not be and could rely on the presence of an earlier guard_not_invalidated. This might under rare circumstances leave a extra guard_not_invalidated in the trace! But guard_not_invalidated is cheap, it emits no instructions and its only cost is the size of the resume data. Therfore that is still a better tradeoff than capturing resume data for every quasiimmut_field in the front end *all the time* --HG-- branch : warmup-improvements-various - - - - - fe90f2f7 by Carl Friedrich Bolz-Tereick at 2020-02-16T15:31:21+01:00 this didn't quite work in practice, explicitly don't check the stack depth --HG-- branch : warmup-improvements-various - - - - - 12365ef7 by Carl Friedrich Bolz-Tereick at 2020-02-16T16:01:02+01:00 avoid the "ping pong" of the return value on the stack in the most common cases --HG-- branch : warmup-improvements-various - - - - - cbbdf5d5 by Carl Friedrich Bolz-Tereick at 2020-02-16T22:58:58+01:00 fix test --HG-- branch : warmup-improvements-various - - - - - ab78084a by Carl Friedrich Bolz-Tereick at 2020-02-16T23:06:40+01:00 cache result of call_loopinvariant in the heapcache --HG-- branch : warmup-improvements-various - - - - - 0999db56 by Armin Rigo at 2020-02-16T23:50:16+01:00 Write down a minimal counter-example for git branches - - - - - 7bb0b5d9 by Carl Friedrich Bolz-Tereick at 2020-02-17T07:11:39+01:00 more robust caching of quasiimmut_field when applied to *constants* (which is the common case after all!) --HG-- branch : warmup-improvements-various - - - - - 03571504 by Carl Friedrich Bolz-Tereick at 2020-02-17T07:40:17+01:00 when tracing, we know that newly allocated frames must be different from the standard frame --HG-- branch : warmup-improvements-various - - - - - 305c5d60 by Armin Rigo at 2020-02-17T10:57:13+01:00 "Look at" implies there should be an image. I won't do an image here. - - - - - d862db4f by Armin Rigo at 2020-02-17T11:06:44+01:00 Yet another case - - - - - 4e810466 by Carl Friedrich Bolz-Tereick at 2020-02-17T13:54:03+01:00 fix a generator corner case --HG-- branch : warmup-improvements-various - - - - - cb6f3ac7 by Matti Picus at 2020-02-17T16:20:49+02:00 tweak merge request instructions, assuming we use topic branches --HG-- branch : heptapod - - - - - 6b9e8ad5 by Matti Picus at 2020-02-17T19:19:10+02:00 rework foss.heptapod.net instructions a bit --HG-- branch : heptapod - - - - - 70e14a03 by Carl Friedrich Bolz-Tereick at 2020-02-17T19:54:03+01:00 remove bogus quasi-immutable declaration on the ExecutionContext. the ec is never constant, so it doesn't help to make its fields quasi-immutable --HG-- branch : warmup-improvements-various - - - - - 5ff75aab by Matti Picus at 2020-02-17T22:52:05+02:00 document and close branch to be merged --HG-- branch : heptapod - - - - - fb21e05a by Matti Picus at 2020-02-17T22:59:52+02:00 merge branch that updates documentation for heptapod workflow and URLs - - - - - e6312063 by Matti Picus at 2020-02-19T19:56:36+02:00 add python3.6 constants, they will be exposed to pypy2.7 as well. - - - - - ac3de501 by Carl Friedrich Bolz-Tereick at 2020-02-19T21:23:55+01:00 typo --HG-- branch : pypy-jitdriver-greenkeys - - - - - e73aeb9b by Carl Friedrich Bolz-Tereick at 2020-02-19T21:28:33+01:00 annoying: the jit main loops get split at the can_enter_jit (or jit_merge_point), this means that the list iterators (and range iterator) aren't optimized away by backenopt.malloc. just replace these with an index instead --HG-- branch : pypy-jitdriver-greenkeys - - - - - a4428959 by Richard Plangger at 2020-02-20T15:16:57-03:00 byteorder related issue, check the byte order of that machine - - - - - 4f97d2c5 by Richard Plangger at 2020-02-20T16:13:10-03:00 missing properties for the reg allocation tests (zarch) - - - - - 06ef154c by Carl Friedrich Bolz-Tereick at 2020-02-21T10:01:11+01:00 count the number of ops that aren't even executed, because they are caught by the heap cache - - - - - b2460d35 by Carl Friedrich Bolz-Tereick at 2020-02-21T10:52:31+01:00 merge default --HG-- branch : pypy-jitdriver-greenkeys - - - - - 315d87d0 by Carl Friedrich Bolz-Tereick at 2020-02-21T11:42:16+01:00 fix tests due to changen in guard_not_invalidated --HG-- branch : warmup-improvements-various - - - - - 7489dbed by Carl Friedrich Bolz-Tereick at 2020-02-21T11:52:02+01:00 fix translation - - - - - 65ff1239 by Carl Friedrich Bolz-Tereick at 2020-02-21T11:52:12+01:00 merge default --HG-- branch : pypy-jitdriver-greenkeys - - - - - f3543d05 by Carl Friedrich Bolz-Tereick at 2020-02-21T12:50:59+01:00 fix test - - - - - c05c3b83 by Carl Friedrich Bolz-Tereick at 2020-02-21T13:06:04+01:00 merge default --HG-- branch : pypy-jitdriver-greenkeys - - - - - 4d5a1d76 by Carl Friedrich Bolz-Tereick at 2020-02-21T13:07:10+01:00 document branch --HG-- branch : pypy-jitdriver-greenkeys - - - - - 3ad8a8eb by kotus9 at 2020-02-21T16:40:34+03:00 Fixed link to issue tracker - - - - - 19783278 by Carl Friedrich Bolz-Tereick at 2020-02-22T19:06:18+01:00 merge default --HG-- branch : warmup-improvements-various - - - - - 1c613108 by Richard Plangger at 2020-02-22T15:09:31-03:00 __BIG_ENDIAN__ is not defined by the s390x target, use some other macros to determine the endianess of the platform - - - - - 9a44e829 by Richard Plangger at 2020-02-22T15:17:08-03:00 should have been #if not #ifdef - - - - - b0b88c83 by Matti Picus at 2020-02-22T22:58:05+02:00 delete build dependencies when finished with them - - - - - 9c4a7f8c by Carl Friedrich Bolz-Tereick at 2020-02-23T13:37:35+01:00 merge pypy-jitdriver-greenkeys: use better green keys for non-standard jitdrivers to make sure that e.g. generators are specialized based on their code object. - - - - - 22903f3d by Carl Friedrich Bolz-Tereick at 2020-02-23T13:54:45+01:00 this part is potentially wrong (_check_stack_index is called when unpickling frames) - - - - - 476abd19 by Carl Friedrich Bolz-Tereick at 2020-02-23T13:55:13+01:00 merge heads - - - - - 0147c3a3 by Matti Picus at 2020-02-23T17:40:14+02:00 older msvc does not have TCP_FASTOPEN - - - - - dc426d3f by Carl Friedrich Bolz-Tereick at 2020-02-23T17:57:58+01:00 merge heads - - - - - 927f1aa0 by Carl Friedrich Bolz-Tereick at 2020-02-23T19:15:50+01:00 merge heads --HG-- branch : warmup-improvements-various - - - - - bbf83041 by Carl Friedrich Bolz-Tereick at 2020-02-24T13:20:40+01:00 make it possible to convert classes to strs in RPython (I keep running into this problem) - - - - - 1ac92983 by Carl Friedrich Bolz-Tereick at 2020-02-24T13:37:05+01:00 ouch, it's *not* safe to promote list strategies, due to SizeListStrategy. use the type as the green key instead - - - - - 76eab9a7 by Carl Friedrich Bolz-Tereick at 2020-02-26T10:56:16+01:00 merge warmup-improvements-various: improve warmup speed of PyPy - a few minor tweaks in the interpreter - since tracing guards is super costly, work harder at not emitting too many guard_not_invalidated while tracing - optimize quasi_immut during tracing - optimize loopinvariant calls during tracing - a small optimization around non-standard virtualizables during tracing this improves warmup time by around ~5-20% - - - - - 5faa0309 by Carl Friedrich Bolz-Tereick at 2020-02-26T10:57:06+01:00 document branch - - - - - d056adde by Carl Friedrich Bolz-Tereick at 2020-02-26T11:24:37+01:00 merge default --HG-- branch : record-known-result - - - - - 30 changed files: - extra_tests/cffi_tests/cffi0/test_function.py - extra_tests/cffi_tests/cffi0/test_verify.py - extra_tests/cffi_tests/cffi1/test_recompiler.py - extra_tests/cffi_tests/support.py - extra_tests/ctypes_tests/test_structures.py - lib-python/2.7/distutils/command/install.py - lib-python/2.7/distutils/util.py - lib_pypy/cffi.egg-info/PKG-INFO - lib_pypy/cffi/__init__.py - lib_pypy/cffi/_cffi_include.h - lib_pypy/cffi/_embedding.h - lib_pypy/cffi/recompiler.py - lib_pypy/cffi/vengine_cpy.py - lib_pypy/tools/build_cffi_imports.py - pypy/doc/build.rst - pypy/doc/coding-guide.rst - pypy/doc/conf.py - pypy/doc/config/translation.backendopt.txt - pypy/doc/contributing.rst - pypy/doc/cpython_differences.rst - pypy/doc/eventhistory.rst - pypy/doc/extradoc.rst - pypy/doc/faq.rst - pypy/doc/index.rst - + pypy/doc/mercurial_heptapod.rst - pypy/doc/whatsnew-head.rst - pypy/goal/getnightly.py - pypy/interpreter/baseobjspace.py - pypy/interpreter/executioncontext.py - pypy/interpreter/generator.py View it on GitLab: https://foss.heptapod.net/pypy/pypy/compare/dcd148c325feaebdcf51cd38cdd821ec9e85d39c...d056addef3a4f3812fbfe4b7cf88faf6a1aecc2a --- View it on GitLab: https://foss.heptapod.net/pypy/pypy/compare/dcd148c325feaebdcf51cd38cdd821ec9e85d39c...d056addef3a4f3812fbfe4b7cf88faf6a1aecc2a You're receiving this email because of your account on foss.heptapod.net.
_______________________________________________ pypy-commit mailing list pypy-commit@python.org https://mail.python.org/mailman/listinfo/pypy-commit