(self)
| 631 | self.sanity_check() |
| 632 | |
| 633 | def push_outputs(self) -> None: |
| 634 | if self.spilled: |
| 635 | raise StackError(f"Unbalanced stack spills") |
| 636 | self.clear_inputs("at the end of the micro-op") |
| 637 | if len(self.inputs) > self.peeks and self.check_liveness: |
| 638 | raise StackError(f"Input variable '{self.inputs[-1].name}' is still live") |
| 639 | self._push_defined_outputs() |
| 640 | if self.outputs: |
| 641 | for out in self.outputs[self.peeks:]: |
| 642 | if self.needs_defining(out): |
| 643 | raise StackError(f"Output variable '{self.outputs[0].name}' is not defined") |
| 644 | self.stack.push(out) |
| 645 | self.outputs = [] |
| 646 | |
| 647 | def as_comment(self) -> str: |
| 648 | stack_comment = self.stack.as_comment() |
no test coverage detected