Commit af93c07
committed
W27c python#4: emitSend → C body + delegation stub
SEND (mainline) opcode handler. Per W27c Step A scope.
C body: hir_builder_emit_send_c (~25 lines). Pops value_out, peeks iter,
allocates value_in (stack temp) + is_done (non-stack via hir_func_alloc_register
per AllocateNonStack convention), emits Send + GetSecondOutput<TCInt64>,
pushes value_in, then cond-branch on is_done to done_block (jump target)
or continue_block (next instr).
ZERO new bridges. Uses existing primitives + existing
hir_builder_get_block_at_off bridge.
C primitives used: hir_c_create_send_reg + hir_c_create_get_second_output_reg
+ hir_c_create_cond_branch + hir_func_alloc_register +
hir_builder_temps_alloc_stack + hir_builder_get_block_at_off (all existing).
C++ HIRBuilder::emitSend → 5-line delegation stub (passes current_func_
+ jump_target/next_instr offset values from bc_instr).
Verification: cmake --build target jit/phoenix_jit clean (BUILD_EXIT=0).
Sole-path coverage: SEND is mainline-tested per theologian L2521 observation.1 parent dddb393 commit af93c07
2 files changed
Lines changed: 40 additions & 11 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4961 | 4961 | | |
4962 | 4962 | | |
4963 | 4963 | | |
| 4964 | + | |
| 4965 | + | |
| 4966 | + | |
| 4967 | + | |
4964 | 4968 | | |
4965 | 4969 | | |
4966 | 4970 | | |
4967 | | - | |
4968 | | - | |
4969 | | - | |
4970 | | - | |
4971 | | - | |
4972 | | - | |
4973 | | - | |
4974 | | - | |
4975 | | - | |
4976 | | - | |
4977 | | - | |
| 4971 | + | |
| 4972 | + | |
| 4973 | + | |
| 4974 | + | |
4978 | 4975 | | |
4979 | 4976 | | |
4980 | 4977 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
4166 | 4166 | | |
4167 | 4167 | | |
4168 | 4168 | | |
| 4169 | + | |
| 4170 | + | |
| 4171 | + | |
| 4172 | + | |
| 4173 | + | |
| 4174 | + | |
| 4175 | + | |
| 4176 | + | |
| 4177 | + | |
| 4178 | + | |
| 4179 | + | |
| 4180 | + | |
| 4181 | + | |
| 4182 | + | |
| 4183 | + | |
| 4184 | + | |
| 4185 | + | |
| 4186 | + | |
| 4187 | + | |
| 4188 | + | |
| 4189 | + | |
| 4190 | + | |
| 4191 | + | |
| 4192 | + | |
| 4193 | + | |
| 4194 | + | |
| 4195 | + | |
| 4196 | + | |
| 4197 | + | |
| 4198 | + | |
| 4199 | + | |
| 4200 | + | |
4169 | 4201 | | |
0 commit comments