head	1.3;
access;
symbols
	bg2_23:1.3
	bg2_22:1.3
	bg2_21:1.3
	bg2_20:1.3
	bg2_16:1.3
	bg2_15:1.3
	bg2_12:1.3
	bg2_07:1.3
	isorc2008_submission:1.2
	handbook_alpha_edition:1.2
	jtres2007_submission:1.2
	bg1_07:1.2
	bg1_06:1.2
	bg1_05:1.2
	TAL_101:1.2
	TAL_100:1.2
	jtres_submission:1.2
	wises06_submission:1.2
	lctes2006_submission:1.2;
locks; strict;
comment	@# @;


1.3
date	2008.02.24.19.07.43;	author martin;	state Exp;
branches;
next	1.2;
commitid	495747c1c07c4567;

1.2
date	2006.02.12.18.10.52;	author martin;	state Exp;
branches;
next	1.1;
commitid	62143ef7a2a4567;

1.1
date	2006.02.11.20.26.13;	author martin;	state Exp;
branches;
next	;
commitid	1cad43ee48624567;


desc
@@


1.3
log
@JOP goes GPL
@
text
@/*
  This file is part of JOP, the Java Optimized Processor
    see <http://www.jopdesign.com/>

  Copyright (C) 2006, Rasmus Ulslev Pedersen

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/

package gctest;

import util.Dbg;
import util.Timer;
import joprt.RtThread;
import com.jopdesign.sys.*;

// A timing test of the GCStackWalker

public class GCTest10 {

  static Object mutex;

  public static void main(String s[]) {
    System.out.println("GC Example 10");

    // Results in us:
    // threadcnt  | conservative | exact
    // (nt+1)     | block  total | block totol
    // 1 (nt=0)   |                  
    // 10 (nt=9)  |               
    // 100 (nt=99)|         

    // Number of extra threads in addition to main thread:
    int nt = 9;

    for (int i = 0; i < nt; i++) {
      System.out.print("Extra thread:");
      System.out.println(i);
      new RtThread(20 + i, 2000000 + i) {
        public void run() {
          waitForNextPeriod();
        }
      };
    }

    RtThread.startMission();
    int ts;
    synchronized (mutex) {
      ts = Timer.us();
      GC.gc();
      ts = Timer.us() - ts;
    }
    System.out.print("Total GC took ");
    System.out.print(ts);
    System.out.println(" us");
    System.exit(0);

  } // main
}
@


1.2
log
@LCTES paper
@
text
@d1 20
@


1.1
log
@root scan test case
@
text
@d25 1
a25 1
    int nt = 0;
@

