| 555 | } |
| 556 | |
| 557 | Expect<void> Executor::proxyMemCopy(Runtime::StackManager &StackMgr, |
| 558 | const uint32_t DstMemIdx, |
| 559 | const uint32_t SrcMemIdx, |
| 560 | const uint64_t DstOff, |
| 561 | const uint64_t SrcOff, |
| 562 | const uint64_t Len) noexcept { |
| 563 | auto *MemInstDst = getMemInstByIdx(StackMgr, DstMemIdx); |
| 564 | assuming(MemInstDst); |
| 565 | auto *MemInstSrc = getMemInstByIdx(StackMgr, SrcMemIdx); |
| 566 | assuming(MemInstSrc); |
| 567 | |
| 568 | EXPECTED_TRY(auto Data, MemInstSrc->getBytes(SrcOff, Len)); |
| 569 | return MemInstDst->setBytes(Data, DstOff, 0, Len); |
| 570 | } |
| 571 | |
| 572 | Expect<void> Executor::proxyMemFill(Runtime::StackManager &StackMgr, |
| 573 | const uint32_t MemIdx, const uint64_t Off, |