@@ -537,10 +537,8 @@ void Command::waitForEvents(QueueImplPtr Queue,
537537 RequiredEventsPerContext;
538538
539539 for (const EventImplPtr &Event : EventImpls) {
540- ContextImplPtr Context = Event->getContextImpl ();
541- assert (Context.get () &&
542- " Only non-host events are expected to be waited for here" );
543- RequiredEventsPerContext[Context.get ()].push_back (Event);
540+ context_impl &Context = Event->getContextImpl ();
541+ RequiredEventsPerContext[&Context].push_back (Event);
544542 }
545543
546544 for (auto &CtxWithEvents : RequiredEventsPerContext) {
@@ -580,7 +578,7 @@ Command::Command(
580578 MEvent->setSubmittedQueue (MWorkerQueue);
581579 MEvent->setCommand (this );
582580 if (MQueue)
583- MEvent->setContextImpl (MQueue->getContextImplPtr ());
581+ MEvent->setContextImpl (MQueue->getContextImpl ());
584582 MEvent->setStateIncomplete ();
585583 MEnqueueStatus = EnqueueResultT::SyclEnqueueReady;
586584
@@ -785,9 +783,9 @@ Command *Command::processDepEvent(EventImplPtr DepEvent, const DepDesc &Dep,
785783
786784 Command *ConnectionCmd = nullptr ;
787785
788- ContextImplPtr DepEventContext = DepEvent->getContextImpl ();
786+ context_impl & DepEventContext = DepEvent->getContextImpl ();
789787 // If contexts don't match we'll connect them using host task
790- if (DepEventContext != WorkerContext && WorkerContext) {
788+ if (& DepEventContext != WorkerContext. get () && WorkerContext) {
791789 Scheduler::GraphBuilder &GB = Scheduler::getInstance ().MGraphBuilder ;
792790 ConnectionCmd = GB.connectDepEvent (this , DepEvent, Dep, ToCleanUp);
793791 } else
@@ -1303,7 +1301,7 @@ ur_result_t ReleaseCommand::enqueueImp() {
13031301
13041302 std::shared_ptr<event_impl> UnmapEventImpl =
13051303 event_impl::create_device_event (*Queue);
1306- UnmapEventImpl->setContextImpl (Queue->getContextImplPtr ());
1304+ UnmapEventImpl->setContextImpl (Queue->getContextImpl ());
13071305 UnmapEventImpl->setStateIncomplete ();
13081306 ur_event_handle_t UREvent = nullptr ;
13091307
@@ -1522,7 +1520,7 @@ MemCpyCommand::MemCpyCommand(Requirement SrcReq,
15221520 MSrcAllocaCmd(SrcAllocaCmd), MDstReq(std::move(DstReq)),
15231521 MDstAllocaCmd(DstAllocaCmd) {
15241522 if (MSrcQueue) {
1525- MEvent->setContextImpl (MSrcQueue->getContextImplPtr ());
1523+ MEvent->setContextImpl (MSrcQueue->getContextImpl ());
15261524 }
15271525
15281526 MWorkerQueue = !MQueue ? MSrcQueue : MQueue;
@@ -1695,7 +1693,7 @@ MemCpyCommandHost::MemCpyCommandHost(Requirement SrcReq,
16951693 MSrcQueue(SrcQueue), MSrcReq(std::move(SrcReq)),
16961694 MSrcAllocaCmd(SrcAllocaCmd), MDstReq(std::move(DstReq)), MDstPtr(DstPtr) {
16971695 if (MSrcQueue) {
1698- MEvent->setContextImpl (MSrcQueue->getContextImplPtr ());
1696+ MEvent->setContextImpl (MSrcQueue->getContextImpl ());
16991697 }
17001698
17011699 MWorkerQueue = !MQueue ? MSrcQueue : MQueue;
0 commit comments