Re: [Classpath] Towards GNU Classpath 0.07 and 1.0

2003-08-26 Thread C. Scott Ananian
On Sun, 24 Aug 2003, Mark Wielaard wrote:

> - Up to date documentation that at a minimum provides a reference like
>   overview of what we have and what each class/method does. And clearly
>   describes what is work in progress/non-functional stubs.
>   (gjdoc really helps here. And our api doc isn't that bad. We really
>need to write some package.html overview pages for the packages that
>we feel agree really useful though. We also might need to hack a bit
>on gjdoc to make do everything we want - like including pictures.)

You might want to look into sinjdoc
   http://cscott.net/Projects/GJ/#sinjdoc
as an alternative to gjdoc, especially if you are planning on following
the java 1.5 language changes.  sinjdoc is GPL'ed and supports all the
Java 1.5 syntax.  It also includes a 'real' parser, for what it's worth.
The API is close but not identical to the javadoc api, although the
command-line options are identical to javadoc's.
 --scott

[i tried to compare sinjdoc's output to gjdoc's, but the API docs linked
 to by
   http://www.gnu.org/software/classpath/docs/
 are missing.
   ftp://alpha.gnu.org/gnu/classpath/
 is missing as well, but I assume y'all already knew that.]

Iraq Khaddafi Rijndael Dictionary Castro Echelon Cheney East Timor 
IDEA atomic Moscow operation Waco, Texas Delta Force Marxist BATF 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath


Re: [Classpath] Re: Graphics2D using OpenGL ?

2002-12-25 Thread C. Scott Ananian
On 22 Dec 2002, Anthony Green wrote:

> On Sun, 2002-12-22 at 04:23, Artur Biesiadowski wrote:
> > Do you think it is a good idea ? 
> 
> It's a great idea.  Here is some evidence:
> 
> http://www.cs.umd.edu/hcil/agile2d/index.shtml

Ah, we're talking about two different things.  I have implemented the
path-manipulation part of graphics2d; haven't touched the rendered.  It
does seem like building the rendere on opengl is a good idea.  But any
high-level api with a postscript-like path model would work.  Display
Postscript, even, which I believe is well-supported under XFree.
  --scott

planning cracking Chechnya Secretary Philadelphia atomic Yakima smuggle 
terrorist Seattle FSF shotgun DC assassination politics corporate globalization 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Graphics2D using OpenGL ?

2002-12-25 Thread C. Scott Ananian
On Sun, 22 Dec 2002, Artur Biesiadowski wrote:

> I think that one of biggest problems is Graphics2D implementation. Doing 
> it all in java would require very major undertaking - I do not see a 
> chance of doing it by volunteers in any reasonable timeframe.

I actually have most of the Graphics2D interface already implemented &
GPL'ed.  I need to clean it up for classpath, but you can look at what's
there at chirpcheap.com (click on 'gerber tools' and then look fo the link
to download the source).  I took the existing classpath stubs and added
actual implementations for most of what was missing.  just fyi.
  --scott

Ft. Bragg Minister Castro DNC colonel plutonium SSBN 743 munitions 
Chechnya DC algorithm shotgun Ortega domestic disruption for Dummies 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: code indentation

2002-09-28 Thread C. Scott Ananian

On 28 Sep 2002, Nic Ferrier wrote:

> You're changes are unlikely to be accepted if you mix style and
> logical changes.

But, luckily, 'cvs diff -U1' can come to the rescue.  Do:

$ cvs diff -U1 some-directory-with-modified-files > my-changes

Now open my-changes in a text editor.  You can remove any section from a
'@@' to another '@@' without corrupting the diff.  The idea is to remove
all sections that correspond to 'real' changes, while leaving all the
sections that correspond to formatting-only changes.  For example:
 start file 'my-changes' 
Index: java/util/Date.java
===
RCS file: /cvsroot/classpath/classpath/java/util/Date.java,v
retrieving revision 1.14
diff -u -p -U1 -r1.14 Date.java
--- java/util/Date.java 22 Jan 2002 22:27:01 -  1.14
+++ java/util/Date.java 29 Sep 2002 05:19:54 -
@@ -76,3 +76,3 @@ public class Date implements Cloneable, 
   {
-time = System.currentTimeMillis();
+  time = System.currentTimeMillis();
   }
@@ -85,3 +85,3 @@ public class Date implements Cloneable, 
   {
-this.time = time;
+this.time = time * 2;
   }
@@ -105,5 +105,4 @@ public class Date implements Cloneable, 
   {
-time =
-  new GregorianCalendar(year + 1900, month, day, hour,
-   min).getTimeInMillis();
+time = new GregorianCalendar(year + 1900, month, day, hour,
+min).getTimeInMillis();
   }
 end file 'my-changes' 

The first section is just a white space change.  You want to leave that
one in.  The second section is a 'real' change (it's actually bogus, in
that the original code was correct, but I had to change something in order
to make this a good example).  And the last section is another
formatting-only change, which you want to remove.  You end up with:
 start file 'my-changes' 
Index: java/util/Date.java
===
RCS file: /cvsroot/classpath/classpath/java/util/Date.java,v
retrieving revision 1.14
diff -u -p -U1 -r1.14 Date.java
--- java/util/Date.java 22 Jan 2002 22:27:01 -  1.14
+++ java/util/Date.java 29 Sep 2002 05:19:54 -
@@ -76,3 +76,3 @@ public class Date implements Cloneable, 
   {
-time = System.currentTimeMillis();
+  time = System.currentTimeMillis();
   }
@@ -105,5 +105,4 @@ public class Date implements Cloneable, 
   {
-time =
-  new GregorianCalendar(year + 1900, month, day, hour,
-   min).getTimeInMillis();
+time = new GregorianCalendar(year + 1900, month, day, hour,
+min).getTimeInMillis();
   }
 end file 'my-changes' 

Note how the second modified section was removed from the file.  Now you
can 'undo' all the changes left in the my-changes file (the changes
corresponding to formatting only) with the slightly-magic command:

$ POSIXLY_CORRECT=1 patch -p0 -R < my-changes

Now a cvs-diff should only show 'good' changes.  Of course sometimes
your good and bad changes are too close together and you can't separate
them cleanly using the above technique, but it should get rid of the large
portion, leaving less for you to manually clean.  Keep using 'cvs diff'
until the only changes shown are 'good' functional (not 'bad' formatting)
changes.  Extra hint --- if you keep your 'my-changes' file, you can
submit it separately as a formatting-only patch -- or reapply it once your
'real code' patch has been accepted with:

$ POSIXLY_CORRECT=1 patch -p0 < my-changes

Hope this helps you clean up your patches for submission!
 --scott

[reading the info pages for diff and patch will help a lot if this
 step-by-step seemed overly magical. =)  I believe that if your version
 of 'cvs' is new enough (1.11.2 works for me) you don't need the
 POSIXLY_CORRECT=1 bit on the patch command.  But old cvs servers (1.10.2,
 for example) leave off the directory part of the file name on the '---'
 and '+++' lines, confusing patch unless you use POSIXLY_CORRECT.]

Indonesia shortwave D5 SLBM Dictionary United Nations LA Nader agent 
assassinate Echelon kibo Iraq security Treasury Attache NORAD fissionable 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: code indentation

2002-09-27 Thread C. Scott Ananian

On 27 Sep 2002, Nic Ferrier wrote:

> > (*) to java.io.* classes that I'm working. 

fwiw, i've got some implementations/fixes to java.awt.geom.*
that i'm working on (as part of the Gerber tools mentioned on
   http://www.cag.lcs.mit.edu/~cananian/Projects/FabClass/
).  I'm following existing coding style for the stubs that
were presenting in the package, but I figured if there were
any discrepancies I can always clean them up later before
commit. =)

> This is fine. We have actually defined a bunch of java specific
> caveats to the coding rules and I'm going to produce an indent
> program that pretty-prints using them.

Is this written up anywhere?
The only thing I could find was
   http://www.gnu.org/software/classpath/doc/hacking.html#SEC6

> I've not had time to do that up to now... I may take a different
> approach than patching gnu-indent (which is what I was going to do)
> and instead write a java program to do it.

I've got a GPL Java Grammar at 
http://www.cs.princeton.edu/~appel/modern/java/CUP/
which *might* be useful if you decide to write a java program.
Pretty-printers don't *need* a full-fledged grammar, but it helps. =)
You can use just the lexer if that's easier.
  --scott

Diplomat counter-intelligence Nazi explosion Peking SSBN 743 [Hello to all my fans in 
domestic surveillance] 
Philadelphia Hussein South Africa Bejing direct action FBI Israel 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: serialVersionUID

2002-09-26 Thread C. Scott Ananian

On Thu, 26 Sep 2002, Dalibor Topic wrote:

> If classpath uses different implementations of java
> classes on different platforms the genuine
> serialVersionUID for the different implementations
> will obviously differ. I assume that Suns
> serialVersionUID is the same on all platforms, though;
> otherwise one could not reliably exchange serialized
> forms over networks, for example. I dont think Sun has
> specified serialVersionUIDs in the API, though, so you
> may have to dig around the API specs, or use serialver
> on Suns implementation, if you want to be compatible
> with them.

See
http://java.sun.com/products/jdk/1.1/docs/guide/serialization/spec/class.doc.html#4100
for the exact details of the serialVersionUID computation.
Note that it includes the names of all non-private fields and methods, so
that classpath's implementation will likely yield a different
serialVersionUID.  However, assuming that the method and field names
don't change from platform and platform (which seems extremely
reasonable), the serialVersionUID should be the same.
Dalibor's right: Sun doesn't appear to list serialVersionUIDs in the API
spects, although I seem to recall that at one time they did.  They *do*
list all the serializable fields:
   http://java.sun.com/j2se/1.4/docs/api/serialized-form.html
although this documentation is not as complete (field ordering
information, especially, is absent) as I would like.
 --scott

plastique interception smuggle radar atomic pending Peking Serbian 
Legion of Doom Philadelphia Leitrim supercomputer Moscow arrangements 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



[patch] zeroBasedStringValue to java.lang.String

2002-09-24 Thread C. Scott Ananian

Attached is a patch to move zeroBasedStringValue to java.lang.String (from
java.lang.Character) to avoid making java.lang.Character, java.lang.Class,
and java.security.ProtectionDomain "core classes".
 --scott
[in addition to being attached, patch is also appended below for your
 easy-reading pleasure.]

Bejing Waco, Texas India Flintlock Bush Khaddafi Yakima operative 
NORAD Honduras Sudan planning Richard Tomlinson East Timor D5 SLBM 
 ( http://cscott.net/ )

Index: java/lang/Character.java
===
RCS file: /cvsroot/classpath/classpath/java/lang/Character.java,v
retrieving revision 1.31
diff -u -p -r1.31 Character.java
--- java/lang/Character.java13 Aug 2002 20:51:07 -  1.31
+++ java/lang/Character.java24 Sep 2002 16:33:01 -
@@ -1384,41 +1384,19 @@ public final class Character implements 
   public static final byte DIRECTIONALITY_POP_DIRECTIONAL_FORMAT = 18;
 
   /**
-   * Returns the value array of the given string if it is zero based or a
-   * copy of it that is zero based (stripping offset and making length equal
-   * to count). Used for accessing the char[]s of gnu.java.lang.CharData.
-   * Package private for use in String.
-   */
-  static char[] zeroBasedStringValue(String s)
-  {
-char[] value;
-
-if (s.offset == 0 && s.count == s.value.length)
-  value = s.value;
-else
-  {
-   int count = s.count;
-   value = new char[count];
-   System.arraycopy(s.value, s.offset, value, 0, count);
-  }
-
-return value;
-  }
-
-  /**
* Stores unicode block offset lookup table. Exploit package visibility of
* String.value to avoid copying the array.
* @see #readChar(char)
* @see CharData#BLOCKS
*/
-  private static final char[] blocks = zeroBasedStringValue(CharData.BLOCKS);
+  private static final char[] blocks = String.zeroBasedStringValue(CharData.BLOCKS);
 
   /**
* Stores unicode attribute offset lookup table. Exploit package visibility
* of String.value to avoid copying the array.
* @see CharData#DATA
*/
-  private static final char[] data = zeroBasedStringValue(CharData.DATA);
+  private static final char[] data = String.zeroBasedStringValue(CharData.DATA);
 
   /**
* Stores unicode numeric value attribute table. Exploit package visibility
@@ -1426,21 +1404,21 @@ public final class Character implements 
* @see CharData#NUM_VALUE
*/
   private static final char[] numValue
- = zeroBasedStringValue(CharData.NUM_VALUE);
+ = String.zeroBasedStringValue(CharData.NUM_VALUE);
 
   /**
* Stores unicode uppercase attribute table. Exploit package visibility
* of String.value to avoid copying the array.
* @see CharData#UPPER
*/
-  private static final char[] upper = zeroBasedStringValue(CharData.UPPER);
+  private static final char[] upper = String.zeroBasedStringValue(CharData.UPPER);
 
   /**
* Stores unicode lowercase attribute table. Exploit package visibility
* of String.value to avoid copying the array.
* @see CharData#LOWER
*/
-  private static final char[] lower = zeroBasedStringValue(CharData.LOWER);
+  private static final char[] lower = String.zeroBasedStringValue(CharData.LOWER);
 
   /**
* Stores unicode direction attribute table. Exploit package visibility
@@ -1448,14 +1426,14 @@ public final class Character implements 
* @see CharData#DIRECTION
*/
   // Package visible for use by String.
-  static final char[] direction = zeroBasedStringValue(CharData.DIRECTION);
+  static final char[] direction = String.zeroBasedStringValue(CharData.DIRECTION);
 
   /**
* Stores unicode titlecase table. Exploit package visibility of
* String.value to avoid copying the array.
* @see CharData#TITLE
*/
-  private static final char[] title = zeroBasedStringValue(CharData.TITLE);
+  private static final char[] title = String.zeroBasedStringValue(CharData.TITLE);
 
   /**
* Mask for grabbing the type out of the contents of data.
Index: java/lang/String.java
===
RCS file: /cvsroot/classpath/classpath/java/lang/String.java,v
retrieving revision 1.51
diff -u -p -r1.51 String.java
--- java/lang/String.java   16 Sep 2002 13:31:08 -  1.51
+++ java/lang/String.java   24 Sep 2002 16:33:02 -
@@ -99,7 +99,7 @@ public final class String implements Ser
* @see CharData#UPPER_EXPAND
*/
   private static final char[] upperExpand
-   = Character.zeroBasedStringValue(CharData.UPPER_EXPAND);
+   = zeroBasedStringValue(CharData.UPPER_EXPAND);
 
   /**
* Stores unicode multi-character uppercase special casing table.
@@ -107,7 +107,7 @@ public final class String implements Ser
* @see CharData#UPPER_SPECIAL
*/
   private static final char[] upperSpecial
- = Character.zeroBasedStringValue(CharData.UPPER_SPECIAL);
+ = zeroBasedStringValue(CharData.U

Initialization and ProtectionDomains.

2002-09-24 Thread C. Scott Ananian

The recent change to java.lang.String (aug 13, v1.50) add a call to
Character.zeroBasedStringValue() which (inadvertently?) makes
java.lang.Character part of the "CORE CLASS" initializers (because String
is a core class, and the static initializer of String invokes a method in
Character, causing the initialization of Character).  Character should
be either marked as a CORE CLASS or the shared method should be moved
to java.lang.String.

If Character remains a core class, it invokes
VMClassLoader.getPrimitiveClass() which will initialize java.lang.Class,
whose static initializer references java.security.ProtectionDomain.
The static initializer for ProtectionDomain inexplicably invokes
System.getProperty(), which will lead to a null pointer exception, because
the properties have not yet been initialized.  (String needs to be
initialized before Runtime.insertSystemProperties can be run, and we've
gotten to ProtectionDomain by *trying* to initialize String).

The appended patch removes the unnecessary static initializer of
ProtectionDomain, which helps somewhat.  IMO, the other fix should be to
move the zeroBasedStringValue() method to java.lang.String.
 --scott

WTO Seattle Nader anthrax jihad Leitrim MI6 Shoal Bay IDEA Japan BATF 
Sigint $400 million in gold bullion RUCKUS Khaddafi Bejing counter-intelligence 
 ( http://cscott.net/ )

Index: java/security/ProtectionDomain.java
===
RCS file: /cvsroot/classpath/classpath/java/security/ProtectionDomain.java,v
retrieving revision 1.6
diff -u -p -r1.6 ProtectionDomain.java
--- java/security/ProtectionDomain.java 25 Mar 2002 05:12:19 -  1.6
+++ java/security/ProtectionDomain.java 24 Sep 2002 15:59:07 -
@@ -53,8 +53,6 @@ package java.security;
  */
 public class ProtectionDomain
 {
-  private static final String linesep = System.getProperty("line.separator");
-
   /**
* This is the CodeSource for this protection domain
*/
@@ -131,6 +129,7 @@ public class ProtectionDomain
*/
   public String toString()
   {
+String linesep = System.getProperty("line.separator");
 StringBuffer sb = new StringBuffer("");
 sb.append("ProtectionDomain (" + linesep);
 if (code_source == null)



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Newbie experiences

2002-09-12 Thread C. Scott Ananian


I'm not an ORP expert at all, but here's my guess:

> library is located at /usr/local/lib, but somehow is not found.  I
> tried appending ':/usr/local/lib' to the recommended value for
> LD_LIBRARY_PATH, but that only caused an error recommending "remove

Try using adding -L/usr/local/lib to CFLAGS in the Makefile instead.
 --scott

NORAD Mk 48 Treasury ASW agent explosives nuclear algorithm biowarfare 
Sabana Seca payment counter-intelligence Attache WTO kibo Chechnya 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Request for change to vm/reference/java/lang/Thread.java

2002-09-11 Thread C. Scott Ananian

On Wed, 11 Sep 2002, Stephen Crawley wrote:

> However, a problem arises in the way that Kissme creates the first
> Thread object.  Basically, we want to just use a regular constructor 
> on the Thread class.  The problem is that 4 argument constructor that 
> all the others chain to assumes that it can find the current Thread
> and copy its priority, thread group and daemon flag.  However, when
> we're creating the first Thread, currentThread() returns null, and
> a NullPointerException follows quickly.

Hmm.  In my project, I'm creating the Thread from JNI code, so its no
trouble to create an uninitialized thread object, set it so that it is the
value returned by currentThread, and *then* call the thread constructor.
But that said, I certainly wouldn't object to seeing classpath handle
the situation more gracefully.
  --scott

affinity group SEAL Team 6 Kojarena genetic FBI Cheney Leitrim United Nations 
early warning Attache Sabana Seca cracking atomic Yeltsin AK-47 quiche 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: bug in gnu.vm.stack.StackFrame

2002-09-10 Thread C. Scott Ananian

On 10 Sep 2002, Mark Wielaard wrote:

> StackFrame, ExecutionStack and StackTrace are a bit old. I don't know if
> there are VMs that still use these classes. For Throwable stack traces
> we now have java.lang.StackTraceElement and I will soon add my recent
> work on VMThrowable that I did for libgcj to Classpath. But for security
> managers and for AccessController the ExecutionStack could still be
> useful. Do VM implementers actually use/implement support for these
> classes?

I would actually like a linked list version of StackTraceElement (with a
'caller' field) that I could translate to/from an array representation
for interoperability with Throwable.get/setStackTrace().  The idea is
that as the exception is thrown from each method, I could link in a
single StackTraceElement onto the exception.
 --scott

TASS early warning radar insurgent domestic disruption Attache MI6 
ASW NSA Honduras Soviet  Panama direct action counter-intelligence 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Newbie experiences

2002-09-10 Thread C. Scott Ananian

On Tue, 10 Sep 2002, Daryl Lee wrote:

> 1.  aclocal ran silently
[...]
> 3.  automake produced:
>   configure.in:18: your implementation of AM_INIT_AUTOMAKE comes from an
>   configure.in:18: old Automake version.  You should recreate aclocal.m4
>   configure.in:18: with aclocal and run automake again.

Do 'automake --version' and 'aclocal --version' report the same version
numbers?  Does re-running aclocal fix the problem?

>   make[2]: Entering directory 
>`/home/daryl/java/gnujava/classpath/classpath/native/fdlibm'
>   Makefile:257: *** missing separator.  Stop.

That's odd; it usually means there's an error in the Makefile.  What is
on and around line 257 of your generated Makefile?

For what it's worth, I configure classpath like so:
  ./configure --enable-jni --with-jikes
with the following tools
  automake/aclocal 1.6.3
  autoconf/autoheader 2.53
  libtool 1.4.2a
  jikes 1.14
and don't have any problems with the current CVS pull of classpath.
But perhaps you'd be better off using the *released* v0.4 of classpath?
The released versions have fewer dependencies on the auto* tools;
a tarball is available at ftp://alpha.gnu.org/gnu/classpath.
 --scott

Ft. Bragg AK-47 Yeltsin COBRA JANE tonight North Korea Kojarena KGB 
class struggle C4 SLBM Marxist assassinate World Trade Center Ft. Meade 
 ( http://cscott.net/ )




___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



[PATCH] INSTALL clarification.

2002-09-10 Thread C. Scott Ananian

Daryl Lee was recently attempting to build from CVS, and followed the
instructions in the INSTALL file.  It was not obvious that CVS versions
of classpath should be built using the instructions in HACKING instead.
The appended patch (also attached for those with flakey mailers)
clarifies the documentation to prevent this confusion from re-occurring.
  --scott

Blair Waco, Texas spy blowfish NRA insurgent Flintlock justice struggle 
Sabana Seca Attache Nader mail drop Legion of Doom United Nations 
 ( http://cscott.net/ )

Index: INSTALL
===
RCS file: /cvsroot/classpath/classpath/INSTALL,v
retrieving revision 1.13
diff -u -p -r1.13 INSTALL
--- INSTALL 6 May 2002 04:44:26 -   1.13
+++ INSTALL 10 Sep 2002 15:41:59 -
@@ -5,6 +5,9 @@ active development and debugging, or jus
 this release is probably not for you. Please see the README file for a
 list of VMs that work with GNU Classpath.
 
+Note that if you are building from a non-released (CVS) version of GNU
+classpath, installation instructions are found in the HACKING file.
+
 --
 Suggested Software
 --


Index: INSTALL
===
RCS file: /cvsroot/classpath/classpath/INSTALL,v
retrieving revision 1.13
diff -u -p -r1.13 INSTALL
--- INSTALL 6 May 2002 04:44:26 -   1.13
+++ INSTALL 10 Sep 2002 15:41:59 -
@@ -5,6 +5,9 @@ active development and debugging, or jus
 this release is probably not for you. Please see the README file for a
 list of VMs that work with GNU Classpath.
 
+Note that if you are building from a non-released (CVS) version of GNU
+classpath, installation instructions are found in the HACKING file.
+
 --
 Suggested Software
 --



pleased to announce...

2002-09-10 Thread C. Scott Ananian

...the GNU classpath now works with the FLEX compiler,
  http://flex-compiler.lcs.mit.edu

I just got 'Hello, world' working a few minutes ago. =)

The FLEX compiler bits are already very robust; now that the FLEX runtime
plays nicely with GNU classpath, I expect many other applications to work
correctly when built against classpath as well (and if not, they'll be
made to work in the next few days or so).
 --scott

Seattle Ft. Bragg Diplomat South Africa strategic COBRA JANE counter-intelligence 
World Trade Center bomb North Korea ammunition fissionable Sabana Seca 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] config.h.in

2002-09-10 Thread C. Scott Ananian

On Tue, 10 Sep 2002, Daryl Lee wrote:

> I'm trying to build my first instance of classpath.  I run the following sequence on 
>a freshly checked out full source tree in the classpath directory:
[...]
> The automake pukes issues the following output:
> configure.in: 20: required file `./include/config.h.in' not found

You're missing the 'autoheader' step.  See the file HACKING in the
classpath root directory.
  --scott

C4 SLBM DNC OVER THE HORIZON RADAR WTO TASS global action network Kennedy
direct action Hawk Serbian Soviet fissionable DC Philadelphia
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] bug in >>> operator?

2002-09-10 Thread C. Scott Ananian

This is almost certainly a sablevm bug, and not a classpath bug.
I've cc'ed the sablevm-bugs list.
 --scott

On 10 Sep 2002, Emile Snyder wrote:

> Hi all,
> 
> I'm using the 1.0.3 version of sablevm, and it's associated classpath. 
> I haven't managed to get a CVS-checked-out version of classpath up and
> running with any VM yet.  If this is fixed in the tree, or simply a VM
> issue I apologize in advance.
> 
> The >>>= and >>> operators appear to be broken strangely.  Demo class
> and output:
> 
> ==
> import java.lang.*;
> import java.awt.color.*;
> import java.awt.image.*;
> 
> public class ShiftBug {
> public static void main (String argv[]) 
> {
> long a = 0xff00;
> long b, c;
> 
> b = a >>> 4;
> c = 0xff00 >>> 4;
> System.out.print (Long.toString(b,16) + " " + Long.toString(c,16) + "\n");
> }
> }
> ===
> 
> Output:
> 
> [esnyder@basalt esnyder]$ jikes -classpath /usr/local/lib/sablevm/classes-1.0.3 
>ShiftBug.java
> [esnyder@basalt esnyder]$ sablevm -Y ShiftBug
> ff000 ff0
> 
> thanks,
> -emile
> 
> 
> 
> 
> ___
> Classpath mailing list
> [EMAIL PROTECTED]
> http://mail.gnu.org/mailman/listinfo/classpath
> 
> 


strategic Treasury shotgun NRA Yeltsin Marxist plastique RNC explosion 
corporate globalization Mossad Columbia Minister Boston Justice Shoal Bay 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: classpath-config script.

2002-09-09 Thread C. Scott Ananian

On 9 Sep 2002, John Leuner wrote:

> Can I commit this to CVS?

yes, please!
 --scott

Peking Serbian Dictionary radar Delta Force affinity group India kibo 
jihad payment smuggle United Nations Secretary RNC AK-47 Rijndael 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



[patch] javadoc typo in Thread.java

2002-09-08 Thread C. Scott Ananian

A few javadoc comments in vm/reference/java/lang/Thread.java have
"threat" instead of "thread".  The appended patch corrects this.
 --scott

NORAD ammunition blowfish COBRA JUDY anthrax algorithm NRA North Korea 
EZLN assassination politics Sugar Grove DC MI5 terrorist Waihopai 
 ( http://cscott.net/ )

Index: vm/reference/java/lang/Thread.java
===
RCS file: /cvsroot/classpath/classpath/vm/reference/java/lang/Thread.java,v
retrieving revision 1.21
diff -u -p -r1.21 Thread.java
--- vm/reference/java/lang/Thread.java  25 Mar 2002 07:54:39 -  1.21
+++ vm/reference/java/lang/Thread.java  9 Sep 2002 02:06:48 -
@@ -286,7 +286,7 @@ public class Thread implements Runnable
* Yield to another thread. The Thread will not lose any locks it holds
* during this time. There are no guarantees which thread will be
* next to run, and it could even be this one, but most VMs will choose
-   * the highest priority threat that has been waiting longest.
+   * the highest priority thread that has been waiting longest.
*/
   public static native void yield();
 
@@ -294,7 +294,7 @@ public class Thread implements Runnable
* Suspend the current Thread's execution for the specified amount of
* time. The Thread will not lose any locks it has during this time. There
* are no guarantees which thread will be next to run, but most VMs will
-   * choose the highest priority threat that has been waiting longest.
+   * choose the highest priority thread that has been waiting longest.
*
* @param ms the number of milliseconds to sleep, or 0 for forever
* @throws InterruptedException if the Thread is interrupted; it's
@@ -311,7 +311,7 @@ public class Thread implements Runnable
* Suspend the current Thread's execution for the specified amount of
* time. The Thread will not lose any locks it has during this time. There
* are no guarantees which thread will be next to run, but most VMs will
-   * choose the highest priority threat that has been waiting longest.
+   * choose the highest priority thread that has been waiting longest.
*
* Note that 1,000,000 nanoseconds == 1 millisecond, but most VMs do
* not offer that fine a grain of timing resolution. Besides, there is



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



java.lang.VMObject.getClass() should be removed.

2002-09-06 Thread C. Scott Ananian

The VMObject.getClass() method should be removed, as it is not
VM-specific: it is implemented in terms of JNI calls (and gcj
has its own way of doing this in CNI).  Furthermore, VMObject.getClass()
is never called anywhere in classpath, in particular not from 
Object.getClass().  So I think VMObject.getClass() should just
be removed.
 --scott

milita Moscow cracking Rijndael Mk 48 ASW $400 million in gold bullion 
Secretary plastique COBRA JANE SEAL Team 6 early warning Hager WTO 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



bug in gnu.vm.stack.StackFrame

2002-09-06 Thread C. Scott Ananian

The gnu/vm/stack/StackFrame class has the following bit of code:

 private StackFrame(Object obj, Method method, int lineNum, String filename) {
 this.caller = caller;
 
 }

Note that 'caller' is not an argument of the constructor.  So the first
statement of the constructor is effectively a no-op, equivalent to
  this.caller = this.caller

Oops!

I'm guessing 'StackFrame caller' should be an argument to the constructor.

Also, as the StackFrame is a linked list, I'm guessing the fact that
the gnu.vm.stack.StackTrace class uses an *array* of StackFrames
is a bug, or at least redundant.
 --scott

South Africa pending Mossad Philadelphia early warning assassinate 
President NRA arrangements Hager DNC chemical agent planning Indonesia 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



classpath-config script.

2002-09-05 Thread C. Scott Ananian
374,10 @@ vm/reference/java/lang/Makefile
 vm/reference/java/lang/reflect/Makefile
 lib/Makefile
 lib/gen-classlist.sh
-lib/gen_nio.sh,
-[ chmod 755 lib/gen-classlist.sh
+lib/gen_nio.sh
+classpath-config
+doc/classpath-config.1,
+[ chmod 755 lib/gen-classlist.sh classpath-config
 ])
 
 
diff -ruHpN classpath-0.04.orig/doc/Makefile.am classpath-0.04/doc/Makefile.am
--- classpath-0.04.orig/doc/Makefile.am 2001-01-06 23:22:27.0 -0500
+++ classpath-0.04/doc/Makefile.am  2002-09-05 07:57:54.0 -0400
@@ -1,5 +1,7 @@
 info_TEXINFOS = hacking.texinfo vmintegration.texinfo
 
+man_MANS = classpath-config.1
+
 %.dvi : %.texinfo
texi2dvi $<
 
diff -ruHpN classpath-0.04.orig/doc/classpath-config.1.in 
classpath-0.04/doc/classpath-config.1.in
--- classpath-0.04.orig/doc/classpath-config.1.in   1969-12-31 19:00:00.0 
-0500
+++ classpath-0.04/doc/classpath-config.1.in2002-09-05 09:04:03.0 -0400
@@ -0,0 +1,64 @@
+.TH classpath-config 1 "5 September 2002" Classpath "Version @VERSION@"
+.SH NAME
+classpath-config - Get information about a GNU Classpath installation
+.SH SYNOPSIS
+.B classpath-config
+[\-\-prefix\fI[=DIR]\fP] [\-\-exec\-prefix\fI[=DIR]\fP] [\-\-datadir\fI[=DIR]\fP] 
+[\-\-libdir\fI[=DIR]\fP] [\-\-pkgdatadir] [\-\-pkglibdir] [\-\-version] [\-\-libs] 
+[\-\-classpath]
+.SH DESCRIPTION
+.PP
+\fIclasspath-config\fP is a tool that is used to determine
+the compiler and linker flags that should be used to compile
+and link programs that use GNU \fIClasspath\fP. It may also be used
+internally in macros for GNU autoconf for packages which use
+GNU \fIClasspath\fP.
+.
+.SH OPTIONS
+.l
+\fIclasspath-config\fP accepts the following options:
+.TP 8
+.B  \-\-version
+Print the currently installed version of GNU \fIClasspath\fP on the
+standard output.
+.TP 8
+.B  \-\-libs
+Print the linker flags that are necessary to link the native code in
+GNU \fIClasspath\fP with a static executable.
+.TP 8
+.B  \-\-classpath
+Print the java classpath necessary for a java compiler to compile a
+java program against GNU \fIClasspath\fP.
+.TP 8
+.B  \-\-prefix=PREFIX
+If specified, use PREFIX instead of the installation prefix that 
+GNU \fIClasspath\fP was built with when computing the output for the
+\-\-classpath and \-\-libs options. This option is also used for the
+exec prefix if \-\-exec\-prefix was not specified. This option must be
+specified before any \-\-libs or \-\-classpath options.
+.TP 8
+.B  \-\-exec\-prefix=PREFIX
+If specified, use PREFIX instead of the installation exec prefix that
+GNU \fIClasspath\fP was built with when computing the output for the
+\-\-classpath and \-\-libs options.  This option must be specified before
+any \-\-libs or \-\-classpath options.
+.TP 8
+.B  \-\-datadir=DATADIR
+If specified, use DATADIR instead of the data directory prefix that
+GNU \fIClasspath\fP was built with when computing the output for the
+\-\-classpath and \-\-libs options.  This option must be specified before
+any \-\-libs or \-\-classpath options.
+.TP 8
+.B  \-\-libdir=LIBDIR
+If specified, use LIBDIR instead of the library directory prefix that
+GNU \fIClasspath\fP was built with when computing the output for the
+\-\-classpath and \-\-libs options.  This option must be specified before
+any \-\-libs or \-\-classpath options.
+.SH SEE ALSO
+.BR gtk-config (1)
+.SH COPYRIGHT
+Copyright \(co  2002 C. Scott Ananian
+
+Permission to use, copy, modify, and distribute this software and its
+documentation for any purpose and without fee is hereby granted,
+provided that the above copyright notice appear in all copies and that
+both that copyright notice and this permission notice appear in
+supporting documentation.



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Bug(s) in java.lang.String

2002-07-31 Thread C. Scott Ananian

On 31 Jul 2002, Mark Wielaard wrote:

> I am still interested in how/why those Strings had a non-zero offset in
> the first place. Maybe a compiler/VM may do such a thing and then we
> have to take that into account in Character and String when we use them.

The bytecode compiler cannot do this, because the class file format does
not provide a means to encode String constants with non-zero offsets in
the constant pool.  But the JVM and a native compiler might well do so;
this is the expected behavior of C compilers, for example: they attempt
to reduce the storage space needed to store the strings "bar" and "foobar"
by using a pointer to the middle of "foobar" to represent "bar".  The
obvious Java parallel is to share the character arrays for the Strings
representing "foobar" and "bar" and just change the offset in the
String object.  [My own java compiler does not do this, but it should.]
  --scott

postcard anthrax insurgent terrorist munitions bomb planning North Korea 
Waihopai Boston Yeltsin Milosevic genetic Minister IDEA ASW World Trade Center 
 ( http://cscott.net/ )


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: State of AWT and SWING

2002-07-30 Thread C. Scott Ananian

On Tue, 30 Jul 2002, R.S. Veldema wrote:

> There are really a *kazillion* things not implemented/working yet in the 
> swing implementation.
> Alas, awt needs to work properly also before debugging can truely start 
> on swing using all
> and nothing but classpath.

However it's useful to note that Sun has a version of the Swing
library that worked with 1.1 JDKs on their website.  Although this is
non-free, it could allow you to use your application with classpath's AWT
implementation until classpath (starts and then) completes its Swing
implementation.  As this implementation of Swing is built upon AWT
interfaces, this would hopefully help us iron out the bugs in our
(at the moment barely working) AWT implementation.
  --scott

chemical agent fissionable cryptographic Morwenstow Saddam Hussein 
operation Milosevic Iraq ammunition UKUSA Qaddafi Pakistan security 
 ( http://cscott.net/ )


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Latest submission package to run commercial applicationsand work loads

2002-07-29 Thread C. Scott Ananian

On Mon, 29 Jul 2002, Wu, Gansha wrote:

>   We have GNU Classpath submissions that make ORP/GNU Classpath run typical
> commercial applications and workloads
[...]
>  The submission includes bug fixes, performance enhancement,
> refactoring codes for 
> better maintenance, and some new files. We have diff result with Changelog
> and a separate package 
> for original files. The diff result is generated by: 
>cvs diff ¨CN ¨Cc ¨Cw; and the baseline is GNU Classpath CVS snapshot of
> Jul. 24, 2002.

well, I can't claim to speak officially for classpath (at all!  I'm just a
lurker here) but I took a look at the attachment and here are my comments:

 - first, the actual content of the patches looks good & reasonable
   at first glance.  but it's very big!  probably this would be accepted
   more easily if it was broken down into several more manageable pieces,
   and fed to the list with more discussion of what each part was
   intended to do.  Changes for "refactoring" purposes are likely to
   be greeted with much more skepticism than performance improvements,
   which are likely to be greeted with more skepticism than obvious
   bug-fixes, which are still accepted less readily than simple
   comment or javadoc additions.  It might be best to start with
   the simple obvious stuff and work up to the more complicated changes.
 - I was very glad to see that each change in the diff apparently had
   a changelog entry.  But the diff itself was not a 'unified' diff
   (the -u option) which I believe is the standard.  I'm very used
   to reading unified diff patches, but the 'copied context' format
   took a little more effort to decipher.  [Also, I don't know if
   there's an automatic means to import changelog information included
   in-line with the diff.]
 - There should be changelog information associated with the new
   files, as well, no?
 - finally, I believe that classpath requires a formal copyright
   assignment in order for them to incorporate these changes;
   especially the additions of entire files.  I'm sure one of
   the 'real' classpath maintainers will be in touch to work
   this out.

Hope my initial comments have been helpful while you're waiting for a more
'official' word!
 --scott

Chechnya Clinton Blair domestic disruption ASW ammunition algorithm 
cryptographic Bush AP non-violent protest jihad planning Albanian 
 ( http://cscott.net/ )



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] AWT progress

2002-07-17 Thread C. Scott Ananian

On 17 Jul 2002, John Leuner wrote:

> The flex home page (and other pages) don't actually say that it's a java
> source to native code compiler. 

well, it had ambitions to be a java-to-hardware compiler at one point
(sadly unmaintained) and it could do bytecode-to-bytecode optimizations at
a different point (subject to coderot) ...  it's what our research group
hacks on, so whatever seems interesting gets included.  java-to-native
code is what it does best at the moment.

> As a South African it's a bit offensive to see "South Africa" in a list
> of dirty words, probably the same for Sudanese. While I'm sure the
> original purpose of these spook words was for a bit of fun and to
> downplay the US's obsession with security, don't you think it's a bit
> passe now?

Well, I'll offer a public apology if you were offended.  I am described
rather well myself by several of the possible random groupings of words.
I believe South Africa is on there because there was a CIA listening post
located there at one point, or some such.  It's certainly nothing
personal.  [And I'm regretting that I repeated your term "dirty words" in
describing the list.  More properly they are "spook words".]

> By grouping these words together you're effectively
> increasing anti-US sentiment .. which almost nobody wants.

I've got plenty to say on this, but at this point I feel its safe to say
this is offtopic.  We can discuss this off-list if you like. =)
 --scott

NRA Japan OVER THE HORIZON RADAR Attache Waihopai Hawk algorithm DC 
CIA anthrax global action network Israel MI5 Sudan NSA East Timor 
 ( http://cscott.net/ )


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] AWT progress

2002-07-17 Thread C. Scott Ananian

On 17 Jul 2002, John Leuner wrote:

> Does FLEX have special requirements on the class library or it is it a
> normal java application? Or is it something beyond that?

It's a *research* Java-to-native compiler.  "Research" means that it isn't
fast, doesn't care about separate compilation, and it's written to be a
good platform for investigating Java *analysis* --- not necessarily to be
the most practical day-to-day compiler.  But, as the fate of all Java
research projects, it needs a runtime and class library implementation
to be useful.  Currently it is built around the bytecode of Sun's JDK
1.1.x class libraries, with lots of hacks around the edges to make most
java 1.2 apps run.  But Sun's license doesn't let us redistribute the
class libraries (we have to make people hunt them down on Sun's site and
extract them themselves), which is a pain in the neck.

> There probably were potential circular dependencies, but I think the old
> kissme code was capable of locking up even without them.

OK.  Flex handles circular dependencies in the class initializers
properly; I was just hunting to see (in advance) if there were any special
compilation issues I should be aware of.

> > DC Legion of Doom Japan spy quiche Moscow domestic disruption C4 SLBM 
> > planning Shoal Bay shortwave assassination early warning affinity group 
> 
> I didn't know "Japan" and "Moscow" were still dirty words.

historical purposes; i couldn't bear to throw out anything from the
original emacs 'spook' file. =)  it helps to put today's "dirty words"
in context.
 --scott

South Africa TASS OVER THE HORIZON RADAR DNC Uzi ASW overthrow Sugar Grove 
Philadelphia planning Sudan MI5 Richard Tomlinson EZLN Kennedy C4 SLBM 
 ( http://cscott.net/ )


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] AWT progress

2002-07-16 Thread C. Scott Ananian

On 16 Jul 2002, John Leuner wrote:

> After rewriting the class initializer code in kissme, I got to the
> following stage with the TestAWT program:
> 
> http://people.debian.org/~jewel/kissme/shots/kissme_awt.png
> 
> Unfortunately nothing else works, but it's a big improvement (previously
> a deadlock occurred with class initialization).

are you talking about circular dependencies between class initializers?
I'm interested to know the details because FLEX (http://flexc.lcs.mit.edu)
is going to be moving from a Sun-based class library to GNU classpath very
shortly, and getting AWT working was on my list of things to do...
 --scott

DC Legion of Doom Japan spy quiche Moscow domestic disruption C4 SLBM 
planning Shoal Bay shortwave assassination early warning affinity group 
 ( http://cscott.net/ )


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Small javadoc patch for classpath.

2002-07-12 Thread C. Scott Ananian

I checked out & played with gjdoc a bit tonight, and generated javadoc
HTML for classpath to test things out.  As I was leafing through the
generated javadoc, I noticed a few typos and violations of the "first
sentence should be a summary" rule for javadoc comments.  Attached is
a short & simple patch for the things I found and fixed; hope y'all
find it useful.
 --scott

corporate globalization India SSBN 743 Saddam Hussein PLO supercomputer 
MI5 Treasury Mossad Attache radar hack NORAD Sugar Grove jihad Ortega 
 ( http://cscott.net/ )

Index: java/lang/AssertionError.java
===
RCS file: /cvsroot/classpath/classpath/java/lang/AssertionError.java,v
retrieving revision 1.2
diff -u -p -r1.2 AssertionError.java
--- java/lang/AssertionError.java   24 Feb 2002 04:25:16 -  1.2
+++ java/lang/AssertionError.java   13 Jul 2002 05:09:07 -
@@ -42,7 +42,7 @@ package java.lang;
  * An assertion error normally occurs as a result of the assert
  * statement added in JDK 1.4, to indicate that an assertion failed. There
  * are enough constructors to ensure that
- * new AssertionError(expression will work for all
+ * new AssertionError(expression) will work for all
  * espressions, regardless of type, as if the error message were given by
  * the string "" + expression. This extends Error,
  * because you usually do not want to inadvertently trap an assertion failure.
Index: java/net/Authenticator.java
===
RCS file: /cvsroot/classpath/classpath/java/net/Authenticator.java,v
retrieving revision 1.7
diff -u -p -r1.7 Authenticator.java
--- java/net/Authenticator.java 22 Jan 2002 22:27:00 -  1.7
+++ java/net/Authenticator.java 13 Jul 2002 05:09:07 -
@@ -38,10 +38,10 @@ exception statement from your version. *
 package java.net;
 
 /**
-  * Sometimes a network operation (such as hitting a password protected
-  * web site) will require authentication information in the form of a
-  * username and password.  This abstract class provides a model for 
-  * obtaining that information.
+  * This abstract class provides a model for obtaining authentication
+  * information (in the form of a username and password) required by
+  * some network operations (such as hitting a password protected
+  * web site).
   * 
   * To make use of this feature, a programmer must create a subclass of
   * Authenticator that knows how to obtain the necessary info.  An example
Index: java/net/DatagramSocketImpl.java
===
RCS file: /cvsroot/classpath/classpath/java/net/DatagramSocketImpl.java,v
retrieving revision 1.13
diff -u -p -r1.13 DatagramSocketImpl.java
--- java/net/DatagramSocketImpl.java9 Feb 2002 23:34:44 -   1.13
+++ java/net/DatagramSocketImpl.java13 Jul 2002 05:09:07 -
@@ -42,13 +42,14 @@ import java.io.IOException;
 import java.io.FileDescriptor;
 
 /**
+ * This abstract class models a datagram socket implementation.  An
+ * actual implementation class would implement these methods, probably
+ * via redirecting them to native code.
+ * 
  * Written using on-line Java Platform 1.2 API Specification, as well
  * as "The Java Class Libraries", 2nd edition (Addison-Wesley, 1998).
+ * 
  * Status:  Believed complete and correct.
- *
- * This abstract class models a datagram socket implementation.  An
- * actual implementation class would implement these methods, probably
- * via redirecting them to native code.
  *
  * @author Aaron M. Renn ([EMAIL PROTECTED])
  * @author Warren Levy <[EMAIL PROTECTED]>
Index: java/net/SocketAddress.java
===
RCS file: /cvsroot/classpath/classpath/java/net/SocketAddress.java,v
retrieving revision 1.2
diff -u -p -r1.2 SocketAddress.java
--- java/net/SocketAddress.java 30 Apr 2002 21:37:26 -  1.2
+++ java/net/SocketAddress.java 13 Jul 2002 05:09:07 -
@@ -40,9 +40,9 @@ package java.net;
 import java.io.*;
 
 /** 
- * Ronald: abstract base class for InetSocketAddress.
+ * Abstract base class for InetSocketAddress.
  * InetSocketAddress is to my knowledge the only derived
- * class.
+ * class. [Ronald]
  */
 
 public abstract class SocketAddress implements Serializable


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] style question

2002-02-24 Thread C. Scott Ananian

On Mon, 25 Feb 2002, Eric Blake wrote:

> "C. Scott Ananian" wrote:
> > 
> > For what it's worth: often adding explicit bounds checks will enable the
> > compiler to create faster code (by hoisting these checks, and others which
> > are implicit in the java semantics, out of the loop).  I'm not sure
> > which/any of the existing Java compilers are smart enough to do this, but
> > they all will be, eventually.
> 
> Notice that in my case, though, there is no loop, and the bounds check
> is still in software.  I'm simply proposing to remove two independent
> checks of the length in decode(), (before parsing, and after parsing
> "0x"), because they duplicated the bounds check already explicit in
> String.charAt().

What I was saying, in effect, was that duplicate array bounds checks
should be optimized away, *if the compiler can determine that they are, in
fact, duplicate*.  Using the try-catch construct obscures this fact, so it
makes it harder for the compiler to Do The Right Thing.  Ideally, a
compiler would a) inline String.charAt(), b) remove the check from the
inlined String.charAt() since it was dominated by a similar check, and c)
then remove the second bounds check in decode, for the same reason as b).

I'm pretty sure the MIT FLEX compiler can do this, for example.
There are so many duplicate checks implicit in the java semantics that
most compilers would/should optimize them away.
  --scott

PLO AP Cocaine Boston Hussein Albanian assassination politics RNC 
munitions Kojarena plastique Serbian Rule Psix President planning 
  ( http://lesser-magoo.lcs.mit.edu/~cananian )


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] style question

2002-02-24 Thread C. Scott Ananian

On Sun, 24 Feb 2002, Eric Blake wrote:

> Which is prefered, performing array bound checks throughout a method, or
> enclosing the algorithm in a try-catch block which converts an
> IndexOutOfBoundsException into a NumberFormatException?

For what it's worth: often adding explicit bounds checks will enable the
compiler to create faster code (by hoisting these checks, and others which
are implicit in the java semantics, out of the loop).  I'm not sure
which/any of the existing Java compilers are smart enough to do this, but
they all will be, eventually.

The try-catch block technique is sometimes faster for NullPointer
exceptions (because the exception handling is wrapped around the native
hardware memory protection mechanisms, and thus no hardware instructions
are required to do the checks in the common case), but I can't imagine any
case where the try-catch would be faster for array-bounds (okay, there are
some w/in *imagination*, but...).  In most cases, you'd be doing the same
array-bounds tests in hardware as in the explicit case, but then you'd
have to create the exception object and throw it, only to be caught,
rebuilt as another exception object, and rethrown.

Style needn't have anything to do w/ efficiency, though.  YMMV.
 --scott

Legion of Doom AK-47 DNC Rijndael Qaddafi payment Bush explosives 
Kennedy Indonesia biowarfare AES plastique Attache Saddam Hussein 
  ( http://lesser-magoo.lcs.mit.edu/~cananian )


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: java.lang.Class inner class methods

2001-08-02 Thread C. Scott Ananian

On Thu, 2 Aug 2001 [EMAIL PROTECTED] wrote:

> > Does anyone have a hint as to how the inner class methods of
> > java.lang.Class (getDeclaringClass, getClasses, etc.) would be implemented
> > by a JVM?  Don't they depend on how the Java compiler implements inner
> > classes?  AFAIK the JVM isn't aware of inner classes at all.
> 
> The inner class "Y" of class "X" is compiled as "X$Y".
> So if a class name contains "$", it must be an innerclass.

actually, no.  '$' is still a valid identifier character, although
recommended only for machine-generated code.  I can name my class 'A$B'
without having an outer class 'A' at all.
 --s

chemical agent Delta Force plastique PLO Soviet  $400 million in gold bullion 
class struggle Honduras Secretary BATF Ortega milita for Dummies Ft. Meade 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] java.lang.Class inner class methods

2001-08-02 Thread C. Scott Ananian

On Wed, 1 Aug 2001, Patrick Doyle wrote:

> Does anyone have a hint as to how the inner class methods of
> java.lang.Class (getDeclaringClass, getClasses, etc.) would be implemented
> by a JVM?  Don't they depend on how the Java compiler implements inner
> classes?  AFAIK the JVM isn't aware of inner classes at all.

There are Attributes defined in the Classfile format which (ought to)
provide this information for inner classes.  Presumably the information in
the Attribute gets squirreled away somewhere for the implementations of
these methods to use.

I ignore these attributes in my java runtime, because i'm lazy.
 --s

DES Richard Tomlinson KGB ammunition Indonesia NORAD Shoal Bay Bush 
Morwenstow East Timor Khaddafi Mossad SSBN 743 Ortega Semtex milita 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



RE: [Classpath] RE: Informative throws

2001-07-27 Thread C. Scott Ananian

On Fri, 27 Jul 2001, Eric Blake wrote:

> No, I stand by my code.  If the final loop ends with a negative result, it
> is necessarily MIN_VALUE, since otherwise there was overflow.
>  But -MIN_VALUE == MIN_VALUE, so no harm is done!  Compile it and see...

i stand corrected.  i'll read the code more carefully next time. =)
 --s

FSF ammunition operation Morwenstow Peking Ortega Saddam Hussein Minister 
Kojarena Seattle SSBN 731 MI5 Philadelphia UKUSA cryptographic BATF 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] RE: Informative throws

2001-07-27 Thread C. Scott Ananian

On Fri, 27 Jul 2001, Eric Blake wrote:

> if (negative)
>   return -result;
> return result;
>   }

you actually have to do this the other way 'round (maintain the number
negative as you build it, then negate it if the number was really
positive) because the negative range of the integer types is larger than
the positive range.  Try parsing Integer.MIN_VALUE, for example: your code
will break.
 --s

AP Ft. Meade KGB Rule Psix Ortega Moscow hack operative FSF Secretary 
East Timor Waco, Texas Peking tonight Sudan class struggle mail drop 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: another bug

2001-07-26 Thread C. Scott Ananian

On 26 Jul 2001, Brian Jones wrote:

> "R.S. Veldema" <[EMAIL PROTECTED]> writes:
> 
> > Hi, more bugs,  changed the LOADING, COMPLETE, etc
> > from private to protected inside java.awt.MediaEntry
> > since they we're accessed inside java.awt.ImageMediaEntry
> 
> Since ImageMediaEntry extends MediaEntry I would expect
> ImageMediaEntry to have no problems accessing the private fields.  Is
> that wrong?

I do not think that private fields can be accessed from subclasses.
 --s

security MI6 Sugar Grove non-violent protest [Hello to all my fans in domestic 
surveillance] 
Minister FSF mail drop KGB affinity group Waihopai Waco, Texas assassination 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Informative throws

2001-07-26 Thread C. Scott Ananian

On Thu, 26 Jul 2001, Artur Biesiadowski wrote:

> > Any feedback on this idea?
> 
> 1) Think about internationalization of error messages.

that's a red herring.  completely independent of eric's proposal.

> 2) I think that if statement adds some bytecodes. As you end up with path
> for message exception anyway, you just add something around 10-15 bytes
> for nothing.

the compiler should optimize these bytecodes away if the ./configure
option is not given.  so this is not a valid objection either -- unless
someone can show that the compiler does *not* in fact do this
optimization?

i think it's a good idea.
 --s

FBI agent East Timor Treasury North Korea Mossad pending Japan SDI 
Serbian plutonium TASS Washington hack NORAD assassinate Nazi Flintlock 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Patch: merge several Number classes with Classpath

2001-07-24 Thread C. Scott Ananian

On Tue, 24 Jul 2001, Bryce McKinlay wrote:

> > > +  static final Class getPrimitiveClass(String type)
> > > +  {
> > > +if ("int".equals (type))
> > > +  return int.class;
> 
> This method is also kind of inefficient, particularly if, as the doc says, it
> can be called "once per ClassLoader per type".

That's "one per ClassLoader per *primitive* type, more likely, which means
9 times per ClassLoader, which (considering the number of ClassLoaders in
a typical program) is not very often at all.
 --s

DNC nuclear President Sabana Seca justice Kennedy Ortega Japan Dictionary 
Leitrim Nazi Mk 48 smuggle genetic security FBI North Korea terrorist 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Question about Boolean

2001-07-21 Thread C. Scott Ananian

On 21 Jul 2001, Tom Tromey wrote:

> >> and VMLoader on sane VMs being:
> 
> I assume you're characterizing libgcj as not-sane.  I disagree with
> this characterization.

sorry, that *was* a bit inflammatory.  I meant something closer to, "VMs
which will execute classpath as compiled to bytecode by sun's java
compiler and jikes" -- which, of course, compile 'boolean.class' as
'Boolean.TYPE'.  GCJ does the compilation of classpath itself, and so it
doesn't ever need to execute classpath as sun's compiler would render it.
C'mon that *does* make GCJ 'different' from the rest of the VMs...
  --s

DNC World Trade Center Sigint anthrax bomb assassination politics 
counter-intelligence Sugar Grove BATF SDI RNC postcard Albanian smuggle 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Question about Boolean

2001-07-19 Thread C. Scott Ananian

On Thu, 19 Jul 2001, Jeff Sturm wrote:

> (I know someone who once had a usable libgcj runtime in 28KB of memory.
> I'll grant that that takes a lot of hacking anyway... he didn't even have
> a String class in his runtime.)

okay, how about:

class Boolean {
 Class TYPE = VMLoader.BooleanTYPE;
}

with VMLoader on gcj being something like:
class VMLoader {
 Class BooleanTYPE = boolean.class;
}
and VMLoader on sane VMs being:
class VMLoader { 
 Class BooleanTYPE = VMLoader.loadPrimitiveClass("boolean");
}

This has a total time over head of *nine loads*, executed *once* at the
beginning of the program.  Total space overhead is *nine words* (eleven,
if you need a header for VMLoader).  I think even your 28K system can get
by with this.

I don't see why portability is so difficult.
 --s

Marxist operative DC SEAL Team 6 Echelon cracking Nazi Delta Force 
Seattle immediate LA Leitrim Clinton RNC Dictionary justice milita 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Question about Boolean

2001-07-19 Thread C. Scott Ananian

On 19 Jul 2001, Tom Tromey wrote:

> > "Mark" == Mark Wielaard <[EMAIL PROTECTED]> writes:
> 
> Mark> Would it not be simpler to add a VMClassLoader class to libgcj
> Mark> that implements the getPrimitiveClass() method?
> 
> I'd prefer not to, simply because the current implementation is more
> efficient.  It is just a single relocation.  I'm just going to punt on

Oh, come *on*!  This code is executed *ONCE*!  It's in a *static
initializer*.  *No one* is going to notice the extra cycles.  Trust me.

Please, please, *please* do the portable thing?  And merge these puppies?
 --s

FSF assassination politics Attache DNC EZLN Mk 48 SSBN 731 payment 
biowarfare DC Japan supercomputer genetic early warning RUCKUS AP 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Question about Boolean

2001-07-19 Thread C. Scott Ananian

On Thu, 19 Jul 2001, C. Scott Ananian wrote:

> On 19 Jul 2001, Tom Tromey wrote:
> 
> > -public static final Class TYPE = VMClassLoader.getPrimitiveClass("boolean");
> > +public static final Class TYPE = boolean.class;
> 
> With jikes, at least, this actually compiles to:
>   public static final Class TYPE = Boolean.TYPE;
> which is probably not what you meant.

I just verified that javac compiles this in the same way.

Foo.java:
 public class foo {
Class field = boolean.class;
 }
Compiling:
% java -version
java version "1.3.0"
% javac -d . -g foo.java

Disassembling:
% javap -c foo
Compiled from foo.java
public class foo extends java.lang.Object {
java.lang.Class field;
public foo();
}

Method foo()
   0 aload_0
   1 invokespecial #1 
   4 aload_0
   5 getstatic #2 
   8 putfield #3 
  11 return
-
It's hard to tell that pc 5 is in fact a load from Boolean.TYPE (with
type java.lang.Class); my harpoon compiler loading this bytecode is more
clear:

% java harpoon.Main.Main foo
Codeview "bytecode" for public foo():
  #0/foo.java:1 - aload_0 lv_0
  #1/foo.java:1 - invokespecial public java.lang.Object()
  #2/foo.java:2 - aload_0 lv_0
  #3/foo.java:2 - getstatic public static final java.lang.Class java.lang.Boolean.TYPE
  #4/foo.java:2 - putfield java.lang.Class foo.field
  #5/foo.java:1 - return

Hope this makes clear why the Classpath code is written as it is.
 --s

Peking atomic shotgun Israel Indonesia RNC affinity group Pakistan 
Boston arrangements KGB LA strategic AK-47 chemical agent Iraq [Hello to all my fans 
in domestic surveillance] 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Question about Boolean

2001-07-19 Thread C. Scott Ananian

On 19 Jul 2001, Tom Tromey wrote:

> -public static final Class TYPE = VMClassLoader.getPrimitiveClass("boolean");
> +public static final Class TYPE = boolean.class;

With jikes, at least, this actually compiles to:
  public static final Class TYPE = Boolean.TYPE;
which is probably not what you meant.

The classpath version is better.
 --s

interception Chechnya Khaddafi Bejing tonight Delta Force India Morwenstow 
Sugar Grove KGB assassination politics immediate Philadelphia ASW 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] mini vote

2001-07-18 Thread C. Scott Ananian

On 18 Jul 2001, Brian Jones wrote:

> I'm interested in finding out if the majority of developers would like
> to see the AWT placed under the same license (GPL + exception) that
> other Classpath libraries are licensed with.  If you think the AWT
> library should use the same license, reply with some form of "Yes" and
> otherwise respond with "No."  Additional comments on why you feel one
> way or the other are welcome.

Yes, but...  I think the exact wording of the "exception" should be
cleaned up in the process.
  --s

Qaddafi tonight postcard pending atomic cracking Noriega Justice Milosevic 
East Timor Moscow Clinton ammunition Ft. Bragg domestic disruption 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Bug in Double.java

2001-07-16 Thread C. Scott Ananian

On Mon, 16 Jul 2001, Eric Blake wrote:

> Someone will need to check my work with serialization issues, as I am not
> very familiar with the process.  Basically, my added hashCode() caching will
> break if a deserialization restores the transient hashCode field to 0
> instead of -1.  I chose -1 for the non-cached value instead of 0, since new
> Double(0).hashCode() == 0, but left the cache field transient so it will
> interoperate with serial streams from other sources.  Maybe it's not worth
> caching the result of hashCode() after all.

Fields marked transient are *defined* to be reset to zero after
deserialization.  Use 0 as your non-cached value; the only "harm" will be
that hashCode will have the same performance as the non-caching version
for Double(0) -- it's still better than not caching at all.
 --s

Castro Sabana Seca supercomputer Diplomat President domestic disruption 
Yeltsin plastique shortwave direct action $400 million in gold bullion 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval



___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Classpath future?

2001-07-13 Thread C. Scott Ananian

On 13 Jul 2001, Brian Jones wrote:

> "C. Scott Ananian" <[EMAIL PROTECTED]> writes:
> 
> > On 12 Jul 2001, Tom Tromey wrote:
> > 
> > > They did this on purpose.  I think they want maintainers to download
> > > it from the FSF each time in case they make changes.
> > 
> > couldn't this be solved with a server-side include?
> 
> GNU's website is mirrored on a global basis... I think the answer is
> as Tom posted.

that's no excuse.  I hereby volunteer to host a web page on my machine
here at MIT (a few floors up from GNU) with a server-side include that
will dynamically fetch the current document from the GNU ftp servers.
Maybe it won't be as robust as the global mirroring system, but the fact
that we can't do it *everywhere* doesn't mean that we can't (or
shouldn't) do it *somewhere*.

For extra credit, I'll even program a dynamic fetch from a randomly chosen
GNU ftp site, in the off chance that millions of developers want to
simultanously sign FSF release forms.
 --s

World Trade Center Serbian Washington planning chemical agent East Timor 
Iraq terrorist TASS quiche CIA Mossad operative NRA Diplomat atomic 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: abstract interfaces in Classpath source

2001-07-13 Thread C. Scott Ananian

On Fri, 13 Jul 2001, John Leuner wrote:

> On Thu, May 17, 2001 at 11:02:15PM -0400, Brian Jones wrote:
> > John Leuner <[EMAIL PROTECTED]> writes:
[...]
> > > 39. public abstract interface AlgorithmParameterSpec
> > ><-->
> > 
> > You can probably remove the abstract keyword for interfaces.  It is
> > redundant but actually made a difference under some 1.1 compilers when
> > inspecting the produced classes with javap although perhaps that was
> > just a javap issue rather than a compiler issue.

just a javap issue.  according to the java vm spec (section 4.1):

  "An interface is implicitly abstract (2.13.1); its ACC_ABSTRACT flag
  must be set."

If 1.1 compilers were generating interfaces without setting ACC_ABSTRACT,
they were in error.
 --s

COBRA JANE Dictionary arrangements ammunition Semtex COBRA JUDY Sugar Grove 
tonight Yakima Justice Minister Iraq Cocaine non-violent protest Shoal Bay 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Classpath future?

2001-07-13 Thread C. Scott Ananian

On Fri, 13 Jul 2001, Jeff Sturm wrote:

> But these are choices based on design principles.  For instance, Boehm's
> collector wouldn't have been a good fit for SableVM with your portability
> constraints.

surprisingly, hans boehm's collector is quite portable --- i've ported it
a couple of times to new platforms and new thread implementations.
it's not "out of the box" portable, but it's not hard to port, either.
 --s

Serbian class struggle IDEA interception Clinton operation cracking 
Boston Honduras nuclear Semtex counter-intelligence Chechnya Hawk 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Classpath future?

2001-07-13 Thread C. Scott Ananian

On 12 Jul 2001, Tom Tromey wrote:

> > "John" == John Keiser <[EMAIL PROTECTED]> writes:
> 
> John> 3. Slowness of Contribution: Argh.  I was about to volunteer to
> John> write a page with the agreement.  But *the FSF doesn't have it
> John> online anywhere*!  Argh argh argh.
> 
> They did this on purpose.  I think they want maintainers to download
> it from the FSF each time in case they make changes.

couldn't this be solved with a server-side include?
 --s

mustard Indonesia tonight Philadelphia EZLN General ASW corporate globalization 
insurgent Noriega RUCKUS Pakistan milita Sudan Columbia KGB class struggle 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Classpath future?

2001-07-13 Thread C. Scott Ananian

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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Classpath future?

2001-07-13 Thread C. Scott Ananian

On 12 Jul 2001, Tom Tromey wrote:

> If someone were to implement some sort of JNI/CNI hybrid scheme, then
> I would argue for its adoption, at least if any performance penalty
> was on the JNI side and not the CNI side.  Of course, I'm biased that
> way.

I can think of some appropriate strategies here, but I'm afraid it would
tend to make the CNI code *look* like JNI code, even if the performance
was CNI-like.  I've heard some arguments on this list that such a solution
would be unacceptable ("JNI is too noisy", etc.).
 --s

Yakima milita North Korea plastique RUCKUS NSA radar Columbia biowarfare 
Flintlock Cocaine assassination General PLO class struggle mail drop 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Classpath building (was re: Classpath future?)

2001-07-12 Thread C. Scott Ananian

On Thu, 12 Jul 2001, Aaron M. Renn wrote:

> depending on an already existing Java library installation.  There are
> too many classes to simply pipe them all into the compiler on the
> command line.

really?  I've got 172,301 lines of java source (in 877 files) which I
compile by doing *exactly that*.  Takes jikes about 10 seconds.

I don't think you should discard this alternative.  Maybe it's not the
only way, but it's effective for bootstrapping.  And jikes, I believe,
lets you put the list of source files in a separate file so that
command-line limitations are not an issue, either.
 --s

security Bejing radar India OVER THE HORIZON RADAR Columbia BATF Hussein 
SEAL Team 6 class struggle biowarfare operation [Hello to all my fans in domestic 
surveillance] 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Classpath future?

2001-07-12 Thread C. Scott Ananian

On Thu, 12 Jul 2001, Etienne M. Gagnon wrote:

> I really think that a separate "pure ANSI/ISO/POSIX C + JNI" (OK... only 
> as pure as possible...) native tree should be maintained in Classpath. 
> GCJ programmers could contribute to a separate CNI tree (under the 
> condition that both trees are kept relatively synchronized;-).

[De-lurking]  I'm the primary author of the MIT FLEX compiler
infrastructure (http://www.flexc.lcs.mit.edu/Harpoon), and I'll pipe in my
two cents and mention that pure-C-plus-JNI really is the way to go if you
want classpath adopted any- and every- where.  JNI really *was*
well-thought out with respect to gc-issues, and if you're doing *any*
sophisticated OO tricks in your compiler, you *need* the
implementation-independence which JNI gives you.  I've been trying to port
FLEX over to Classpath from our current "sun jdk1.1"-based runtime for
quite a while (never quite enough time); CNI independence is really a
necessity to allow such cross-pollination to occur.
 --s

spy supercomputer Echelon Washington Iraq radar explosion Japan Yeltsin 
ammunition Nader WTO World Trade Center DES Uzi assassination politics 
  ( 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 <[EMAIL PROTECTED]>
# 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])}@ARGV;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))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Porting the Collections API implementation to Java1.1

2001-03-04 Thread C. Scott Ananian

On Sat, 3 Mar 2001, Tobias Downer wrote:

> I've separated the Collections API code from classpath and, with a few
> modifications, managed to compile the code on java 1.1.  I've been
> looking for a 1.1 port because I've just recently set about the task of
> porting my GPL'd Java database server from JDK 1.2 to 1.1.x.
> 
> Would anyone else be interested in using the classpath Collections API
> implementation as a support library for 1.1?

hmm.  moderately.  I've got a GPL'ed project that uses 'only the
Collections' part of JDK1.2, and it would enable me to support it on
JDK1.1 without using a collection of Sun's code which I can't distribute.
Likely there are others like me.
 --s

Bejing global action network NRA Nazi assassination Iraq chemical agent 
Morwenstow NSA Clinton corporate globalization smuggle World Trade Center 
  ( 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.


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: JAVAX extensions

2000-12-13 Thread C. Scott Ananian

> >>> Paul Russell <[EMAIL PROTECTED]> 13-Dec-00 3:44:22 PM >>>
> 
> >Are there any plans afoot to include JAVAX jars 
> >into CLASSPATH?  JAXP and XML.jar would 
> >seem likely contenders?

Note also that the Apache project has XML parsers in Java:
 http://xml.apache.org/xerces-j/
These are under Apache's license (BSD-like) instead of the GPL, but will
do for many purposes.
 --s

Dictionary Attache Peking United Nations Nader Hawk payment PLO Kennedy 
Yakima Qaddafi Chechnya SSBN 743 colonel quiche planning WTO BATF 
  ( 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.


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] ICVM better that the JavaVM ?

2000-10-20 Thread C. Scott Ananian

On Fri, 20 Oct 2000, Patrick Spingys wrote:

> Now I have heard about the "Internet C++"-project
> ( http://www.xmission.com/~icvm/ )
> On theire side stand, that this platformindependent code
> runs a lot of faster than the Java-code on the JVM.

The 'Internet C++' project is not truely open source.  Much of the source
code is shrouded.
 --s

Sugar Grove terrorist cryptographic India genetic DNC Mk 48 Noriega 
Mossad NSA Nader anthrax United Nations Ortega supercomputer Indonesia 
  ( http://lesser-magoo.lcs.mit.edu/~cananian )


___
Classpath mailing list
[EMAIL PROTECTED]
http://mail.gnu.org/mailman/listinfo/classpath



Re: [Classpath] Re: Patch for bug in ByteArrayOutputStream.write(byte[],int, int)

2000-08-15 Thread C. Scott Ananian

On 15 Aug 2000, Tom Tromey wrote:

> I looked at this.  Instead of checking in your fix, I elected to merge
> the libgcj and Classpath implementations of this class.  I largely
> chose the libgcj implementation, as it is more efficient.  In
> particular the Classpath implementation resizes the buffer by a
> constant factor, which is known to yield bad results.

however, the "constant factor" implementation has the advantage of
provable O(lg n) time regardless of the size 'n' of the buffer.
  --s

IDEA South Africa Suharto fissionable strategic algorithm UKUSA Iraq 
C4 SLBM milita [Hello to all my fans in domestic surveillance] Saddam Hussein 
  ( http://lesser-magoo.lcs.mit.edu/~cananian )




New JVM port of Classpath

2000-07-21 Thread C. Scott Ananian

I've just begun work on fitting Classpath together with the
FLEX j*va-to-native compiler infrastructure 
(http://flex-compiler.lcs.mit.edu/Harpoon).

This is just a quick note to let the list know what I'm up to; I've gotten
only as far as autoconf/automake support for the new VM so far.
 --s

ASW FBI Iraq operative chemical agent Albanian Milosevic Shoal Bay 
KGB General C4 SLBM Japan World Trade Center North Korea Marxist Noriega 
  ( http://lesser-magoo.lcs.mit.edu/~cananian )