gh-87092: move assembler related code from compile.c to assemble.c#103277
gh-87092: move assembler related code from compile.c to assemble.c#103277iritkatriel merged 10 commits intopython:mainfrom
Conversation
markshannon
left a comment
There was a problem hiding this comment.
Seems reasonable from a fairly quick scan.
There is no change in capability or optimizations, this is just a refactor. Correct?
Python/compile.c
Outdated
| static int cfg_to_instr_sequence(cfg_builder *g, instr_sequence *seq); | ||
|
|
||
| static PyCodeObject * | ||
| assemble_code_unit(struct compiler_unit *u, PyObject *const_cache, |
There was a problem hiding this comment.
Is this name still correct? Was it ever?
It seems to do optimization and assembly.
There was a problem hiding this comment.
There used to be just assemble(C) which takes the compiler and and does all the optimization and assembly. I split out assemble_code_unit (which takes just the c->u and not the whole c) and does most of what used to be in assemble(). So the name was always incorrect (assemble() called the optimizer). I think the reason it was done like this is that assemble() gets called from a number of places in the compiler (lambda, class, module, etc). So it was convenient to have one function that does opt+assemble and returns a code object.
We can rename assemble() and assemble_code_unit(). Any suggestions what to call it? something like instr_sequence_to_code_object()?
Uh oh!
There was an error while loading. Please reload this page.