MCPcopy Create free account
hub / github.com/Oneflow-Inc/oneflow / INTRUSIVE_FOR_EACH

Function INTRUSIVE_FOR_EACH

oneflow/core/vm/virtual_machine_engine.cpp:40–47  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

38 OF_PROFILER_RANGE_GUARD("R:" + instruction->DebugName());
39 auto* access_list = instruction->mut_access_list();
40 INTRUSIVE_FOR_EACH(access, access_list) {
41 CHECK_GT(access->ref_cnt(), 1);
42 access_list->Erase(access.Mutable());
43 auto* dependence = access->mut_dependence();
44 if (unlikely(!access->rw_mutexed_object_access_hook().empty())) {
45 dependence->mut_access_list()->Erase(access.Mutable());
46 }
47 }
48 auto* out_edges = instruction->mut_out_edges();
49 INTRUSIVE_FOR_EACH_PTR(out_edge, out_edges) {
50 Instruction* out_instruction = out_edge->mut_dst_instruction();

Callers 3

TESTFunction · 0.85
TryReceiveAndRunMethod · 0.85

Calls 6

mut_dependenceMethod · 0.80
ref_cntMethod · 0.45
EraseMethod · 0.45
MutableMethod · 0.45
emptyMethod · 0.45
mut_access_listMethod · 0.45

Tested by 1

TESTFunction · 0.68