@@ -533,10 +533,8 @@ void Command::waitForEvents(queue_impl *Queue,
533533 RequiredEventsPerContext;
534534
535535 for (const EventImplPtr &Event : EventImpls) {
536- ContextImplPtr Context = Event->getContextImpl ();
537- assert (Context.get () &&
538- " Only non-host events are expected to be waited for here" );
539- RequiredEventsPerContext[Context.get ()].push_back (Event);
536+ context_impl &Context = Event->getContextImpl ();
537+ RequiredEventsPerContext[&Context].push_back (Event);
540538 }
541539
542540 for (auto &CtxWithEvents : RequiredEventsPerContext) {
@@ -576,7 +574,7 @@ Command::Command(
576574 MEvent->setSubmittedQueue (MWorkerQueue);
577575 MEvent->setCommand (this );
578576 if (MQueue)
579- MEvent->setContextImpl (MQueue->getContextImplPtr ());
577+ MEvent->setContextImpl (MQueue->getContextImpl ());
580578 MEvent->setStateIncomplete ();
581579 MEnqueueStatus = EnqueueResultT::SyclEnqueueReady;
582580
@@ -781,9 +779,9 @@ Command *Command::processDepEvent(EventImplPtr DepEvent, const DepDesc &Dep,
781779
782780 Command *ConnectionCmd = nullptr ;
783781
784- ContextImplPtr DepEventContext = DepEvent->getContextImpl ();
782+ context_impl & DepEventContext = DepEvent->getContextImpl ();
785783 // If contexts don't match we'll connect them using host task
786- if (DepEventContext != WorkerContext && WorkerContext) {
784+ if (& DepEventContext != WorkerContext. get () && WorkerContext) {
787785 Scheduler::GraphBuilder &GB = Scheduler::getInstance ().MGraphBuilder ;
788786 ConnectionCmd = GB.connectDepEvent (this , DepEvent, Dep, ToCleanUp);
789787 } else
@@ -1298,7 +1296,7 @@ ur_result_t ReleaseCommand::enqueueImp() {
12981296
12991297 std::shared_ptr<event_impl> UnmapEventImpl =
13001298 event_impl::create_device_event (*Queue);
1301- UnmapEventImpl->setContextImpl (Queue->getContextImplPtr ());
1299+ UnmapEventImpl->setContextImpl (Queue->getContextImpl ());
13021300 UnmapEventImpl->setStateIncomplete ();
13031301 ur_event_handle_t UREvent = nullptr ;
13041302
@@ -1516,7 +1514,7 @@ MemCpyCommand::MemCpyCommand(Requirement SrcReq,
15161514 MSrcReq(std::move(SrcReq)), MSrcAllocaCmd(SrcAllocaCmd),
15171515 MDstReq(std::move(DstReq)), MDstAllocaCmd(DstAllocaCmd) {
15181516 if (MSrcQueue) {
1519- MEvent->setContextImpl (MSrcQueue->getContextImplPtr ());
1517+ MEvent->setContextImpl (MSrcQueue->getContextImpl ());
15201518 }
15211519
15221520 MWorkerQueue = !MQueue ? MSrcQueue : MQueue;
@@ -1689,7 +1687,7 @@ MemCpyCommandHost::MemCpyCommandHost(Requirement SrcReq,
16891687 MSrcReq(std::move(SrcReq)), MSrcAllocaCmd(SrcAllocaCmd),
16901688 MDstReq(std::move(DstReq)), MDstPtr(DstPtr) {
16911689 if (MSrcQueue) {
1692- MEvent->setContextImpl (MSrcQueue->getContextImplPtr ());
1690+ MEvent->setContextImpl (MSrcQueue->getContextImpl ());
16931691 }
16941692
16951693 MWorkerQueue = !MQueue ? MSrcQueue : MQueue;
0 commit comments