Skip to content

Conversation

@gvanrossum
Copy link

@gvanrossum gvanrossum commented Dec 17, 2022

I updated only UNARY_POSITIVE_R to the new format.

- Syntax `register inst(NAME, (ieffects -- oeffects)) { ... }`
- Map stack effects from/to `REG(opargN)` instead of PEEK()
- Use `Py_XSETREF(REG(opargN), result)` for output effects
- Suppress stack adjustment in epilogue
- Suppress effect of `DECREF_INPUTS()`
- Always go to plain `error` in `ERROR_IF()`

@gvanrossum
Copy link
Author

Hm, I still fail at git. But the diff seems to be all right.

I updated only UNARY_POSITIVE_R to the new format.

- Syntax `register inst(NAME, (ieffects -- oeffects)) { ... }`
- Map stack effects from/to `REG(opargN)` instead of PEEK()
- Use `Py_XSETREF(REG(opargN), result)` for output effects
- Suppress stack adjustment in epilogue
- Suppress effect of `DECREF_INPUTS()`
- Always go to plain `error` in `ERROR_IF()`
@gvanrossum
Copy link
Author

Okay, there should now be a single commit here that's what you want (but you have to add your own versions of the other unary ops.

@iritkatriel iritkatriel merged commit 1e83cb2 into iritkatriel:regmachine Dec 20, 2022
@gvanrossum gvanrossum deleted the register-generator branch January 5, 2023 22:03
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.

2 participants