classpath
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Classpath] Re: Classpath future?


From: C. Scott Ananian
Subject: Re: [Classpath] Re: Classpath future?
Date: Fri, 13 Jul 2001 12:33:38 -0400 (EDT)

On 12 Jul 2001, Tom Tromey wrote:

> You can do a mostly-precise GC.  In fact the GC in libgcj is mostly
> precise.  We only scan the stack conservatively.  My understanding is
> that on current 64-bit architectures, a conservative scan is pretty
> unlikely to erroneously maintain much data.  However, I'm not really
> the gcj GC expert; Hans Boehm is.

for what it's worth, i've benchmarked "semi-precise" garbage collection
(which you are calling "mostly-precise") compared to standard
"fully-conservative" (i.e. "not-at-all precise") garbage collection using
the B-D-W collector (which gcj uses) on the FLEX compiler project and
found very little (about 2%) performance improvement.  Precise garbage
collection strategies are capable of much better; within a month I hope to
have exact numbers here, for our compiler.

> You can add tables to the compiler output so that the GC can discover
> which registers and stack slots are pointers, even disguised pointers.
> Then you can use this information in the GC to allow it to move
> objects around.  There are some papers on how to do this, including
> one where they instrumented gcc for the Modula-3 compiler.  So, it has
> actually been implemented at least once.

you can actually embed precise garbage collection even without the table
output; i'm hoping to have a paper Real Soon Now describing the technique
and the performance issues.

[This is relevant on classpath only in that it supports the JNI/CNI debate
by arguing for the vital importance of JNI in high-performance java
implementations.]
 --s

shortwave overthrow Noriega Rule Psix explosion arrangements justice 
interception atomic Suharto Panama ammunition fissionable affinity group 
              ( http://lesser-magoo.lcs.mit.edu/~cananian )
 --
 "These students are going to have to find out what law and order is
 all about."  -- Brig. General Robert Canterbury, Noon, May 4, 1970,
 minutes before his troops shot 13 unarmed Kent State students, killing 4.
 --
            [http://www.cs.cmu.edu/~dst/DeCSS/Gallery/]
#!/usr/bin/perl -w
# 526-byte qrpff, Keith Winstein and Marc Horowitz <address@hidden>
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order
$_='while(read+STDIN,$_,2048){$a=29;$c=142;if((@a=unx"C*",$_)[20]&48){$h=5;
$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])address@hidden;s/...$/1$&/;$d=
unxV,xb25,$_;$b=73;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=($t=255)&($d
>>12^$d>>4^$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9
,$_=(map{$_%16or$t^=$c^=($m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t
^=(72,@z=(64,72,$a^=12*($_%16-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271))
[$_]^(($h>>=8)+=$f+(~$g&$t))address@hidden"C*",@a}';s/x/pack+/g;eval




reply via email to

[Prev in Thread] Current Thread [Next in Thread]