mirror of https://gitlab.com/ita1024/waf.git
Cleanup
This commit is contained in:
parent
121e2c29d1
commit
14197b713f
|
@ -241,7 +241,7 @@ class Parallel(object):
|
||||||
# we assume that frozen tasks will be consumed as the build goes
|
# we assume that frozen tasks will be consumed as the build goes
|
||||||
|
|
||||||
def try_unfreeze(x):
|
def try_unfreeze(x):
|
||||||
# ancestors are likely to be frozen
|
# DAG ancestors are likely to be frozen
|
||||||
if x in self.frozen:
|
if x in self.frozen:
|
||||||
# TODO remove dependencies to free some memory?
|
# TODO remove dependencies to free some memory?
|
||||||
# x.run_after.remove(tsk)
|
# x.run_after.remove(tsk)
|
||||||
|
@ -255,14 +255,14 @@ class Parallel(object):
|
||||||
if tsk in self.revdeps:
|
if tsk in self.revdeps:
|
||||||
for x in self.revdeps[tsk]:
|
for x in self.revdeps[tsk]:
|
||||||
if isinstance(x, Task.TaskGroup):
|
if isinstance(x, Task.TaskGroup):
|
||||||
x.a.remove(tsk)
|
x.prev.remove(tsk)
|
||||||
if not x.a:
|
if not x.prev:
|
||||||
for k in x.b:
|
for k in x.next:
|
||||||
# TODO necessary optimization?
|
# TODO necessary optimization?
|
||||||
k.run_after.remove(x)
|
k.run_after.remove(x)
|
||||||
try_unfreeze(k)
|
try_unfreeze(k)
|
||||||
# TODO necessary optimization?
|
# TODO necessary optimization?
|
||||||
x.b = []
|
x.next = []
|
||||||
else:
|
else:
|
||||||
try_unfreeze(x)
|
try_unfreeze(x)
|
||||||
del self.revdeps[tsk]
|
del self.revdeps[tsk]
|
||||||
|
@ -447,7 +447,7 @@ class Parallel(object):
|
||||||
pass
|
pass
|
||||||
else:
|
else:
|
||||||
k.done = True
|
k.done = True
|
||||||
for j in k.a:
|
for j in k.prev:
|
||||||
reverse[j].add(k)
|
reverse[j].add(k)
|
||||||
else:
|
else:
|
||||||
reverse[k].add(x)
|
reverse[k].add(x)
|
||||||
|
@ -455,7 +455,7 @@ class Parallel(object):
|
||||||
# the priority number is not the tree size
|
# the priority number is not the tree size
|
||||||
def visit(n):
|
def visit(n):
|
||||||
if isinstance(n, Task.TaskGroup):
|
if isinstance(n, Task.TaskGroup):
|
||||||
return sum(visit(k) for k in n.b)
|
return sum(visit(k) for k in n.next)
|
||||||
|
|
||||||
if n.visited == 0:
|
if n.visited == 0:
|
||||||
n.visited = 1
|
n.visited = 1
|
||||||
|
@ -499,7 +499,7 @@ class Parallel(object):
|
||||||
|
|
||||||
def visit(n, acc):
|
def visit(n, acc):
|
||||||
if isinstance(n, Task.TaskGroup):
|
if isinstance(n, Task.TaskGroup):
|
||||||
for k in n.b:
|
for k in n.next:
|
||||||
visit(k)
|
visit(k)
|
||||||
if tmp[n] == 0:
|
if tmp[n] == 0:
|
||||||
tmp[n] = 1
|
tmp[n] = 1
|
||||||
|
|
|
@ -887,15 +887,13 @@ class TaskGroup(object):
|
||||||
|
|
||||||
This is an optimization
|
This is an optimization
|
||||||
"""
|
"""
|
||||||
def __init__(self, a, b):
|
def __init__(self, prev, next):
|
||||||
self.a = a
|
self.prev = prev
|
||||||
self.b = b
|
self.next = next
|
||||||
self.done = False
|
self.done = False
|
||||||
|
|
||||||
def get_hasrun(self):
|
def get_hasrun(self):
|
||||||
if not self.a:
|
for k in self.prev:
|
||||||
return SUCCESS
|
|
||||||
for k in self.a:
|
|
||||||
if not k.hasrun:
|
if not k.hasrun:
|
||||||
return NOT_RUN
|
return NOT_RUN
|
||||||
return SUCCESS
|
return SUCCESS
|
||||||
|
|
Loading…
Reference in New Issue