Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bpo-39320: Handle unpacking of *values in compiler #17984

Merged
merged 6 commits into from
Jan 23, 2020

Conversation

markshannon
Copy link
Member

@markshannon markshannon commented Jan 13, 2020

Quoting bpo 39320:

We can replace the complex bytecodes used in unpacking with simpler, more focused ones.
Specifically the collection building operations:

  • BUILD_LIST_UNPACK
  • BUILD_TUPLE_UNPACK
  • BUILD_SET_UNPACK
  • BUILD_TUPLE_UNPACK_WITH_CALL
    can be replaced with simpler, and self-explanatory operations:
  • LIST_TO_TUPLE
  • LIST_EXTEND,
  • SET_UPDATE

This PR implements those changes. (The proposed changes to ** unpacking will be implemented in another PR).

https://bugs.python.org/issue39320

@markshannon markshannon force-pushed the handle-unpacking-in-compiler branch 2 times, most recently from 1f851c4 to 5dbab06 Compare January 15, 2020 15:43
@markshannon markshannon added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Jan 22, 2020
@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @markshannon for commit f920034 🤖

If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again.

@bedevere-bot bedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Jan 22, 2020
@markshannon
Copy link
Member Author

The PPC64 Fedora failure is a pre-existing problem.

@markshannon markshannon merged commit 13bc139 into python:master Jan 23, 2020
@markshannon markshannon deleted the handle-unpacking-in-compiler branch January 23, 2020 09:25
shihai1991 pushed a commit to shihai1991/cpython that referenced this pull request Jan 31, 2020
* Add three new bytecodes: LIST_TO_TUPLE, LIST_EXTEND, SET_UPDATE. Use them to implement star unpacking expressions.

* Remove four bytecodes BUILD_LIST_UNPACK, BUILD_TUPLE_UNPACK, BUILD_SET_UNPACK and  BUILD_TUPLE_UNPACK_WITH_CALL opcodes as they are now unused.

* Update magic number and dis.rst for new bytecodes.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants