Пример #1
0
 public override void MarkAndSweep(int tid, VMValueManager valueMan)
 {
     valueMan.GetValue(srcValue).MarkAndSweep(tid, valueMan);
     valueMan.GetValue(destValue).MarkAndSweep(tid, valueMan);
 }
Пример #2
0
 // Mark and sweep for garbage collection and thread locality check
 public abstract void MarkAndSweep(int tid, VMValueManager valueMan);
Пример #3
0
 public override bool Escape(VMValueManager valueMan)
 {
     return valueMan.GetValue(srcValue).Escape || valueMan.GetValue(destValue).Escape;
 }
Пример #4
0
 /// <summary>
 /// Returns whether a DelayedAction accesses some escaping data
 /// Whenever we are unsure, returning true is always safe and correct
 /// </summary>
 /// <returns></returns> 
 public virtual bool Escape(VMValueManager valueMan)
 {
     return true;
 }
Пример #5
0
 public override void MarkAndSweep(int tid, VMValueManager valueMan)
 {
     // donothing, this is a dummy delayed action
 }
Пример #6
0
 public override bool Escape(VMValueManager valueMan)
 {
     // TODO: check this, it may be false which makes analysis running faster
     return true;
 }
Пример #7
0
 public override void MarkAndSweep(int tid, VMValueManager valueMan)
 {
     valueMan.GetValue(obj).MarkAndSweep(tid, valueMan);
 }
Пример #8
0
 public override bool Escape(VMValueManager valueMan)
 {
     return valueMan.GetValue(obj).Escape;
 }