コード例 #1
0
ファイル: VMValue_threadstart.cs プロジェクト: edwardt/study
 public override void MarkAndSweep(int tid, VMValueManager valueMan)
 {
     int tmp = MaSProcess(tid);
     if (tmp != -2)
     {
         VMValue v = valueMan.GetValue(objGuid);
         if (v != null)
             v.MarkAndSweep(tmp, valueMan);
         v = valueMan.GetValue(ftnGuid);
         if (v != null)
             v.MarkAndSweep(tmp, valueMan);
     }
 }
コード例 #2
0
ファイル: VMValue_thread.cs プロジェクト: edwardt/study
 public override void MarkAndSweep(int tid, VMValueManager valueMan)
 {
     int tmp = MaSProcess(tid);
     if (tmp != -2)
     {
         VMValue v = valueMan.GetValue(threadStartGUID);
         if (v != null)
             v.MarkAndSweep(tmp, valueMan);
     }
 }
コード例 #3
0
ファイル: VMValue_array.cs プロジェクト: edwardt/study
 public override void MarkAndSweep(int tid, VMValueManager valueMan)
 {
     int tmp = MaSProcess(tid);
     if (tmp != -2)
     {
         // check children with tid
         VMValue v = valueMan.GetValue(arrayInstGuid);
         if (v != null)
             v.MarkAndSweep(tmp, valueMan);
     }
 }
コード例 #4
0
ファイル: VMValue_arrayinst.cs プロジェクト: edwardt/study
 public override void MarkAndSweep(int tid, VMValueManager valueMan)
 {
     int tmp = MaSProcess(tid);
     if (tmp != -2)
     {
         // check children with tid
         for (int i = 0; i < data.Length; i++)
             if (data[i] != -1)
             {
                 VMValue v = valueMan.GetValue(data[i]);
                 v.MarkAndSweep(tmp, valueMan);
             }
     }
 }
コード例 #5
0
ファイル: VMLocalVariableBlock.cs プロジェクト: edwardt/study
 public void MarkAndSweep(int threadID, VMValueManager valueMan)
 {
     foreach (int i in variables)
         valueMan.GetValue(i).MarkAndSweep(threadID, valueMan);
     foreach (int i in arguments)
         valueMan.GetValue(i).MarkAndSweep(threadID, valueMan);
 }
コード例 #6
0
ファイル: VMValue_objectinst.cs プロジェクト: edwardt/study
 public override void MarkAndSweep(int tid, VMValueManager valueMan)
 {
     int tmp = MaSProcess(tid);
     if (tmp != -2)
     {
         // check children with tid
         for (int i = 0; i < fields.Count; i++)
         {
             VMValue v = valueMan.GetValue(fields[i]);
             if (v != null)
                 v.MarkAndSweep(tmp, valueMan);
         }
     }
 }