Skip to content

Conversation

@markshannon
Copy link
Member

@markshannonmarkshannon 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

@markshannonmarkshannonforce-pushed the handle-unpacking-in-compiler branch 2 times, most recently from 1f851c4 to 5dbab06CompareJanuary 15, 2020 15:43
@markshannonmarkshannonforce-pushed the handle-unpacking-in-compiler branch from 5dbab06 to f920034CompareJanuary 15, 2020 16:31
@markshannonmarkshannon 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-botbedevere-bot removed the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Jan 22, 2020
@markshannon
Copy link
MemberAuthor

The PPC64 Fedora failure is a pre-existing problem.

@markshannonmarkshannon merged commit 13bc139 into python:masterJan 23, 2020
@markshannonmarkshannon 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 freeto 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

@markshannon@bedevere-bot@the-knights-who-say-ni