|
2669 | 2669 | dst))
|
2670 | 2670 |
|
2671 | 2671 | ;; Helper for emitting `MInst.Call` instructions.
|
2672 |
| -(decl call_impl (WritableReg CallSiteInfo) InstOutput) |
2673 |
| -(rule (call_impl reg (call_site_info info output)) |
2674 |
| - (let ((_ Unit (emit (MInst.Call reg info)))) |
2675 |
| - output)) |
| 2672 | +(decl call_impl (WritableReg BoxCallInfo) SideEffectNoResult) |
| 2673 | +(rule (call_impl reg info) |
| 2674 | + (SideEffectNoResult.Inst (MInst.Call reg info))) |
2676 | 2675 |
|
2677 | 2676 | ;; Helper for emitting `MInst.ReturnCall` instructions.
|
2678 | 2677 | (decl return_call_impl (BoxReturnCallInfo) SideEffectNoResult)
|
|
3478 | 3477 | (decl abi_call_site_info (Sig CallInstDest CallArgList) CallSiteInfo)
|
3479 | 3478 | (extern constructor abi_call_site_info abi_call_site_info)
|
3480 | 3479 |
|
| 3480 | +(decl abi_try_call_info (Sig CallInstDest CallArgList ExceptionTable MachLabelSlice) BoxCallInfo) |
| 3481 | +(extern constructor abi_try_call_info abi_try_call_info) |
| 3482 | + |
3481 | 3483 | (decl abi_return_call_info (Sig CallInstDest CallArgList) BoxReturnCallInfo)
|
3482 | 3484 | (extern constructor abi_return_call_info abi_return_call_info)
|
3483 | 3485 |
|
|
3495 | 3497 |
|
3496 | 3498 | (decl abi_call (Sig CallInstDest CallArgList) InstOutput)
|
3497 | 3499 | (rule (abi_call abi dest uses)
|
3498 |
| - (let ((info CallSiteInfo (abi_call_site_info abi dest uses))) |
3499 |
| - (call_impl (writable_link_reg) info))) |
| 3500 | + (abi_call_impl (abi_call_site_info abi dest uses))) |
| 3501 | +(decl abi_call_impl (CallSiteInfo) InstOutput) |
| 3502 | +(rule (abi_call_impl (call_site_info info output)) |
| 3503 | + (let ((_ Unit (emit_side_effect (call_impl (writable_link_reg) info)))) |
| 3504 | + output)) |
3500 | 3505 |
|
3501 | 3506 | (decl abi_return_call (Sig CallInstDest CallArgList) SideEffectNoResult)
|
3502 | 3507 | (rule (abi_return_call abi dest uses)
|
3503 | 3508 | (return_call_impl (abi_return_call_info abi dest uses)))
|
3504 | 3509 |
|
| 3510 | +(decl abi_try_call (Sig CallInstDest CallArgList ExceptionTable MachLabelSlice) SideEffectNoResult) |
| 3511 | +(rule (abi_try_call abi dest uses et targets) |
| 3512 | + (call_impl (writable_link_reg) (abi_try_call_info abi dest uses et targets))) |
| 3513 | + |
3505 | 3514 | (decl abi_lane_order (Sig) LaneOrder)
|
3506 | 3515 | (extern constructor abi_lane_order abi_lane_order)
|
3507 | 3516 |
|
|
0 commit comments