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

gh-98831: rewrite GET_LEN, GET_ITER, BEFORE_WITH and a few simple opcodes in the instruction definition DSL #101443

Merged
merged 5 commits into from
Jan 31, 2023

Conversation

iritkatriel
Copy link
Member

@iritkatriel iritkatriel commented Jan 31, 2023

…le opcodes in the instruction definition DSL
Copy link
Member

@gvanrossum gvanrossum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There might be leaks. :-(

Comment on lines 2328 to 2317
goto error;
ERROR_IF(true, error);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I believe this leaks a reference to mgr. You can either insert another DECREF_INPUTS() before this line, or just keep the goto error. I prefer the latter, we're not going to require using DECREF_INPUTS() everywhere (it mostly exists because it would be useful with the register conversion).

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm was just looking at this. I added DECREF_INPUTS in these two places and it is still leaking something.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I pushed the change with goto, still looking for the other leak.

Comment on lines 2340 to 2329
goto error;
ERROR_IF(true, error);
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same here.

goto error;
}
PUSH(res);
if (res == NULL) goto pop_1_error;
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's leaking when enter raises.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It leaks exit. Before this PR it put exit in the stack before the 'goto error', but now it doesn't so it needs to decref exit.

@iritkatriel iritkatriel changed the title gh-98831: rewrite GET_LEN, GET_ITER, BEFORE_WITH and a few simple opcodes in the instruction definition DSL gh-98831: rewrite GET_LEN, GET_ITER and a few simple opcodes in the instruction definition DSL Jan 31, 2023
@iritkatriel iritkatriel added 🔨 test-with-buildbots Test PR w/ buildbots; report in status section labels Jan 31, 2023
@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @iritkatriel for commit 2ee6241 🤖

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

2 similar comments
@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @iritkatriel for commit 2ee6241 🤖

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

@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @iritkatriel for commit 2ee6241 🤖

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

@bedevere-bot bedevere-bot removed 🔨 test-with-buildbots Test PR w/ buildbots; report in status section labels Jan 31, 2023
@iritkatriel iritkatriel changed the title gh-98831: rewrite GET_LEN, GET_ITER and a few simple opcodes in the instruction definition DSL gh-98831: rewrite GET_LEN, GET_ITER, BEFORE_WITH and a few simple opcodes in the instruction definition DSL Jan 31, 2023
@iritkatriel iritkatriel added the 🔨 test-with-buildbots Test PR w/ buildbots; report in status section label Jan 31, 2023
@bedevere-bot
Copy link

🤖 New build scheduled with the buildbot fleet by @iritkatriel for commit a925498 🤖

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 31, 2023
Copy link
Member

@gvanrossum gvanrossum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

That LGTM, but there's still something that claims to leak -- importlib, no less. Let me re-run that build.

@gvanrossum
Copy link
Member

The PPC64 buildbots are simply out of disk space. (I think it may be the same machine.)

@iritkatriel iritkatriel merged commit 29a858b into python:main Jan 31, 2023
mdboom pushed a commit to mdboom/cpython that referenced this pull request Jan 31, 2023
carljm added a commit to carljm/cpython that referenced this pull request Jan 31, 2023
* main:
  pythongh-101440: fix json snippet error in logging-cookbook.rst (python#101439)
  pythongh-99276 - Updated Doc/faq/general.rst (python#101396)
  Add JOBS parameter to docs Makefile (python#101395)
  pythongh-98831: rewrite GET_LEN, GET_ITER, BEFORE_WITH and a few simple opcodes in the instruction definition DSL (python#101443)
  pythongh-77607: Improve accuracy of os.path.join docs (python#101406)
  Fixes typo in asyncio.TaskGroup context manager code example (python#101449)
  pythongh-98831: Clean up and add cache size static_assert to macro (python#101442)
  pythongh-99955: use SUCCESS/ERROR return values in optimizer and assembler. Use RETURN_IF_ERROR where appropriate. Fix a couple of bugs. (python#101412)
@iritkatriel iritkatriel deleted the rewrite_opcodes branch April 3, 2023 17:47
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants